The art of Prolog: advanced programming techniques
The art of Prolog: advanced programming techniques
Programming in Prolog
Automatic mode inference for logic programs
Journal of Logic Programming
Information Processing Letters
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Warren's abstract machine: a tutorial reconstruction
Warren's abstract machine: a tutorial reconstruction
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Abstract interpretation and application to logic programs
Journal of Logic Programming
A new model of program dependences for reverse engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Applying Prolog programming techniques
International Journal of Human-Computer Studies
Critical slicing for software fault localization
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Beyond traditional program slicing
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Concepts of programming languages (3rd ed.)
Concepts of programming languages (3rd ed.)
From logic programming to Prolog
From logic programming to Prolog
Programmers use slices when debugging
Communications of the ACM
Software Merging and Slicing
Foundations of Logic Programming
Foundations of Logic Programming
Synthesis of Directionality Information for Functional Logic Programs
WSA '93 Proceedings of the Third International Workshop on Static Analysis
A Backward Slicing Algorithm for Prolog
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Forward slicing by conjunctive partial deduction and argument filtering
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Hi-index | 0.00 |
Slicing is a technique for automatically obtaining subparts of a program with a collective meaning. When the slicing takes into account the actual execution of the program, it is said to be dynamic; when only statically available information is used, it is said to be static. In this paper we describe a flexible framework to slice logic programs that accommodates both dynamic and static approaches naturally. Our framework addresses practical aspects of logic programs such as different executions, system predicates and side-effects and can be customized to any logic language, provided we have its (concrete or abstract) interpreter and information on the behavior of system predicates.