An Assertion language for slicing Constraint Logic Languages
Moreno Falaschi, Carlos Olarte

TL;DR
This paper introduces an assertion language for Constraint Logic Programming (CLP) and extends a dynamic slicing framework from Concurrent Constraint Programming (CCP), enabling automated debugging and analysis of complex logic programs.
Contribution
It generalizes previous CCP slicing methods to CLP and develops an assertion language to automatically identify and isolate incorrect computations in logic programs.
Findings
Framework successfully integrates with existing semi-automatic slicing tools.
Experiments demonstrate improved automation in debugging CLP programs.
The assertion language effectively detects property violations in program states.
Abstract
Constraint Logic Programming (CLP) is a language scheme for combining two declarative paradigms: constraint solving and logic programming. Concurrent Constraint Programming (CCP) is a declarative model for concurrency where agents interact by telling and asking constraints in a shared store. In a previous paper, we developed a framework for dynamic slicing of CCP where the user first identifies that a (partial) computation is wrong. Then, she marks (selects) some parts of the final state corresponding to the data (constraints) and processes that she wants to study more deeply. An automatic process of slicing begins, and the partial computation is "depurated" by removing irrelevant information. In this paper we give two major contributions. First, we extend the framework to CLP, thus generalizing the previous work. Second, we provide an assertion language suitable for both, CCP and CLP,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
