The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Crafting a compiler
Information Processing Letters
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The semantics of program dependence
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The semantic approach to program slicing
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Projecting functional models of imperative programs
ACM SIGPLAN Notices
ACM SIGPLAN Fortran Forum
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)
Program integration for languages with procedure calls
ACM Transactions on Software Engineering and Methodology (TOSEM)
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A specification driven slicing process for identifying reusable functions
Journal of Software Maintenance: Research and Practice
Slicing real-time programs for enhanced schedulability
ACM Transactions on Programming Languages and Systems (TOPLAS)
Rule-based approach to computing module cohesion
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Program and interface slicing for reverse engineering
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
The design and implementation of RAP: a PDG-based register allocator
Software—Practice & Experience
Computing amorphous program slices using dependence graphs
Proceedings of the 1999 ACM symposium on Applied computing
SUIF Explorer: an interactive and interprocedural parallelizer
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Identifying procedural structure in Cobol programs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Programmers use slices when debugging
Communications of the ACM
On the capabilities of while, repeat, and exit statements
Communications of the ACM
IEEE Transactions on Software Engineering
Program Slicing via FermaT Transformations
COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
Slicing Programs with Arbitrary Control-flow
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
Lazy Algorithmic Debugging: Ideas for Practical Implementation
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
Interprocedural Constant Propagation using Dependence Graphs and a Data-Flow Model
CC '94 Proceedings of the 5th International Conference on Compiler Construction
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
GUSTT: An Amorphous Slicing System which Combines Slicing and Transformation
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Understanding Function Behaviors through Program Slicing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
WPC '97 Proceedings of the 5th International Workshop on Program Comprehension (WPC '97)
An Empirical Study of Amorphous Slicing as a Program Comprehension Support Tool
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Program Simplification as a Means of Approximating Undecidable Propositions
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Side-Effect Removal Transformation
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Program slices: formal, psychological, and practical investigations of an automatic program abstraction method
Partial evaluation using dependence graphs
Partial evaluation using dependence graphs
Syntax-Directed Amorphous Slicing
Automated Software Engineering
IEEE Transactions on Software Engineering
Guaranteed inconsistency avoidance during software evolution
Journal of Software Maintenance: Research and Practice
Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis
Software Quality Control
Using Dynamic Information in the Interprocedural Static Slicing of Binary Executables
Software Quality Control
A formalisation of the relationship between forms of program slicing
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Theoretical foundations of dynamic program slicing
Theoretical Computer Science
Interprocedural slicing of multithreaded programs with applications to Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Slicing as a program transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Source Code Analysis: A Road Map
FOSE '07 2007 Future of Software Engineering
Efficient field-sensitive pointer analysis of C
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Program Slicing Based Method to Filter XML/DTD Documents
SOFSEM '07 Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science
Control Dependence for Extended Finite State Machines
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Dependence clusters in source code
ACM Transactions on Programming Languages and Systems (TOPLAS)
AIC'09 Proceedings of the 9th WSEAS international conference on Applied informatics and communications
A trajectory-based strict semantics for program slicing
Theoretical Computer Science
An alternative characterization of weak order dependence
Information Processing Letters
Specification and verification of model transformations using UML-RSDS
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Identification of extract method refactoring opportunities for the decomposition of methods
Journal of Systems and Software
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Data-driven synthesis for object-oriented frameworks
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
A unifying theory of control dependence and its application to arbitrary program structures
Theoretical Computer Science
State-based model slicing: A survey
ACM Computing Surveys (CSUR)
SPAPE: A semantic-preserving amorphous procedure extraction method for near-miss clones
Journal of Systems and Software
Behind the scenes in SANTE: a combination of static and dynamic analyses
Automated Software Engineering
Hi-index | 0.00 |
Traditional, syntax-preserving program slicing simplifies a program by deleting components (e.g., statements and predicates) that do not affect a computation of interest. Amorphous slicing removes the limitation to component deletion as the only means of simplification, while retaining the semantic property that a slice preserves the selected behaviour of interest from the original program. This leads to slices which are often considerably smaller than their syntax-preserving counterparts.A formal framework is introduced to define and compare amorphous and traditional program slicing. After this definition, an algorithm for computing amorphous slices, based on the system dependence graph, is presented. An implementation of this algorithm is used to demonstrate the utility of amorphous slicing with respect to code-level analysis of array access safety. The resulting empirical study indicates that programmers' comprehension of array safety is improved by amorphous slicing.