Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The use of program dependence graphs in software engineering
ICSE '92 Proceedings of the 14th international conference on Software engineering
Incremental program testing using program dependence graphs
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A grammatical view of logic programming
A grammatical view of logic programming
Visual language theory
An efficient relevant slicing method for debugging
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Programmers use slices when debugging
Communications of the ACM
Declarative Diagnosis in the CLP Scheme
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
Towards a Language for CLP Choice-Tree Visualisation
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
A Backward Slicing Algorithm for Prolog
SAS '96 Proceedings of the Third International Symposium on Static Analysis
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Lightweight program specialization via dynamic slicing
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
Removing redundant arguments automatically
Theory and Practice of Logic Programming
Forward slicing of multi-paradigm declarative programs based on partial evaluation
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Forward slicing by conjunctive partial deduction and argument filtering
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Towards dynamic backward slicing of model transformations
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 0.00 |
Slicing is a program analysis technique originally developed for imperative languages. It facilitates understanding of data flow and debugging.This paper discusses slicing of Constraint Logic Programs. Constraint Logic Programming (CLP) is an emerging software technology with a growing number of applications. Data flow in constraint programs is not explicit, and for this reason the concepts of slice and the slicing techniques of imperative languages are not directly applicable.This paper formulates declarative notions of slice suitable for CLP. They provide a basis for defining slicing techniques (both dynamic and static) based on variable sharing. The techniques are further extended by using groundness information.A prototype dynamic slicer of CLP programs implementing the presented ideas is briefly described together with the results of some slicing experiments.