The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering
Attribute grammars: definitions, systems and bibliography
Attribute grammars: definitions, systems and bibliography
Information Processing Letters
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The relationship between slices and module cohesion
ICSE '89 Proceedings of the 11th international conference on Software engineering
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Eli: a complete, flexible compiler construction system
Communications of the ACM
Debugging with dynamic slicing and backtracking
Software—Practice & Experience
Precise executable interprocedural slices
ACM Letters on Programming Languages and Systems (LOPLAS)
On slicing programs with jump statements
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Static slicing in the presence of goto statements
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modularity and reusability in attribute grammars
Acta Informatica
A new model of program dependences for reverse engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Programmers use slices when debugging
Communications of the ACM
An Introduction to Compiler Construction
An Introduction to Compiler Construction
Slicing Programs with Arbitrary Control-flow
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Reduction and slicing of hierarchical state machines
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Architecture-level dependence analysis in support of software maintenance
ISAW '98 Proceedings of the third international workshop on Software architecture
Slicing Software for Model Construction
Higher-Order and Symbolic Computation
FORM: A feature-oriented reuse method with domain-specific reference architectures
Annals of Software Engineering
A Flexible Framework for Dynamic and Static Slicing of Logic Programs
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Dynamic Slicing Techniques for Petri Nets
Electronic Notes in Theoretical Computer Science (ENTCS)
Slicing of component behavior specification with respect to their composition
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
Slicing Petri nets with an application to workflow verification
SOFSEM'08 Proceedings of the 34th conference on Current trends in theory and practice of computer science
Applying reduction techniques to software functional requirement specifications
SAM'04 Proceedings of the 4th international SDL and MSC conference on System Analysis and Modeling
A Model Slicing Method for Workflow Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Traditional program slices are based on variables and statements. Slices consist of statements that potentially affect (or are affected by) the value of a particular variable at a given statement. Two assumptions are implicit in this definition: 1) that variables and statements are concepts of the programming language in which the program is written, and 2) that slices consist solely of statements.Generalised slicing is an extension of traditional slicing where variables are replaced by arbitrary named program entities and statements by arbitrary program constructs. A model of generalised slicing is presented that allows the essence of any slicing tool to be reduced to a node marking process operating on a program syntax tree. Slicing tools can thus be implemented in a straight-forward way using tree-based techniques such as attribute grammars.A variety of useful program decompositions are shown to be instances of generalised slicing including: call graph generation, interface extraction, slicing of object-oriented inheritance hierarchies and slices based on type dependences. Examples are also given of how slicing can enhance understanding of formal compiler specifications and aid the creation of subset language specifications.