The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dependence analysis for pointer variables
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)
Dynamic slicing in the presence of unconstrained pointers
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Interprocedural modification side effect analysis with pointer aliasing
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Incremental program testing using program dependence graphs
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reducing indirect function call overhead in C++ programs
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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)
Selecting tests and identifying test coverage requirements for modified software
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
An extensible program representation for object-oriented software
ACM SIGPLAN Notices
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
Performing data flow testing on classes
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
IEEE Transactions on Software Engineering
Selecting Regression Tests for Object-Oriented Software
ICSM '94 Proceedings of the International Conference on Software Maintenance
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
Slicing class hierarchies in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Flow insensitive C++ pointers and polymorphism analysis and its application to slicing
ICSE '97 Proceedings of the 19th international conference on Software engineering
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Inter-class def-use analysis with partial class representations
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
An Automatic Class Generation Mechanism by Using Method Integration
IEEE Transactions on Software Engineering
OMEN: A strategy for testing object-oriented software
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Analysis and Testing of Programs with Exception Handling Constructs
IEEE Transactions on Software Engineering
Automated method-extraction refactoring by using block-based slicing
SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
Complexity of Points-To Analysis of Java in the Presence of Exceptions
IEEE Transactions on Software Engineering
Evaluating explicitly context-sensitive program slicing
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A schema for interprocedural modification side-effect analysis with pointer aliasing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Change impact analysis for aspect-oriented software evolution
Proceedings of the International Workshop on Principles of Software Evolution
Analyzing information-flow in java program based on slicing technique
ACM SIGSOFT Software Engineering Notes
Dependence Analysis of Java Bytecode
COMPSAC '00 24th International Computer Software and Applications Conference
Ada Europe '01 Proceedings of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies
An empirical study of predicate dependence levels and trends
Proceedings of the 25th International Conference on Software Engineering
Extracting Java library subsets for deployment on embedded systems
Science of Computer Programming - Software maintenance and reengineering (CSMR 99)
Reverse Engineering of the UML Class Diagram from C++ Code in Presence of Weakly Typed Containers
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A New Class Generation Mechanism by Method Integration
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Static Slicing of Concurrent Object-Oriented Programs
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
Dimensions of reengineering environment infrastructures
Journal of Software Maintenance: Research and Practice
Syntax-Directed Amorphous Slicing
Automated Software Engineering
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Using Compressed Bytecode Traces for Slicing Java Programs
Proceedings of the 26th International Conference on Software Engineering
An Edge Marking Technique for Dynamic Slicing of Object-Oriented Programs
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
ACM SIGPLAN Notices
Analysis and Visualization of Predicate Dependence on Formal Parameters and Global Variables
IEEE Transactions on Software Engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
A model for slicing JAVA programs hierarchically
Journal of Computer Science and Technology
A technique for automatic component extraction from object-oriented programs by refactoring
Science of Computer Programming - Special issue on new software composition concepts
Static object trace extraction for programs with pointers
Journal of Systems and Software - Special issue: Software reverse engineering
Establishing structural testing criteria for Java bytecode
Software—Practice & Experience
Distributed dynamic slicing of Java programs
Journal of Systems and Software
Formal specification of program slicing
ACM SIGPLAN Notices
Forward slicing of functional logic programs by partial evaluation
Theory and Practice of Logic Programming
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Dynamic slicing on Java bytecode traces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Grace: automated slicing for visual basic
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
An approach for the maintenance of input validation
Information and Software Technology
Detecting buffer overflow via automatic test input data generation
Computers and Operations Research
Journal of Systems and Software
Proceedings of the 7th international conference on Aspect-oriented software development
A parallel algorithm for dynamic slicing of distributed Java programs in non-DSM systems
International Journal of Information and Communication Technology
A dependence graph-based representation for test coverage analysis of object-oriented programs
ACM SIGSOFT Software Engineering Notes
Applying test-driven code search to the reuse of auxiliary functionality
Proceedings of the 2009 ACM symposium on Applied Computing
A model-based regression test selection approach for embedded applications
ACM SIGSOFT Software Engineering Notes
Verification Techniques for System-Level Design
Verification Techniques for System-Level Design
Program dependence graph based slicing for Java
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
3D visualization techniques to support slicing-based program comprehension
Computers and Graphics
Discovering Coordination Patterns
Electronic Notes in Theoretical Computer Science (ENTCS)
Slicing-based Hardware/Software Co-design Methodology From Functional Specifications
Electronic Notes in Theoretical Computer Science (ENTCS)
Computing dynamic slices of concurrent object-oriented programs
Information and Software Technology
A graph coloring approach to slicing of object-oriented programs
Proceedings of the International Conference and Workshop on Emerging Trends in Technology
Static and dynamic attribute slicing tool for object-oriented programs
Proceedings of the International Conference and Workshop on Emerging Trends in Technology
Slicing for architectural analysis
Science of Computer Programming
Constructing CDG for program with transfer statements
CAR'10 Proceedings of the 2nd international Asia conference on Informatics in control, automation and robotics - Volume 3
Model-based regression test case prioritization
ACM SIGSOFT Software Engineering Notes
Contradictory graph colouring algorithm to compute slice of concurrent object-oriented programs
International Journal of Computational Vision and Robotics
Source code prioritization using forward slicing for exposing critical elements in a program
Journal of Computer Science and Technology
Identification of extract method refactoring opportunities for the decomposition of methods
Journal of Systems and Software
Security framework to verify the low level implementation codes
ICCSA'05 Proceedings of the 2005 international conference on Computational Science and Its Applications - Volume Part II
Reliability improvement based on prioritization of source code
ICDCIT'10 Proceedings of the 6th international conference on Distributed Computing and Internet Technology
Gateway decompositions for constrained reachability problems
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
A novel approach for dynamic slicing of distributed object-oriented programs
ICDCIT'04 Proceedings of the First international conference on Distributed Computing and Internet Technology
OTM'05 Proceedings of the 2005 OTM Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, COA, and ODBASE - Volume Part II
A vocabulary of program slicing-based techniques
ACM Computing Surveys (CSUR)
Extracting client-side web application code
Proceedings of the 21st international conference on World Wide Web
System dependence graphs in sequential erlang
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Code-based prioritization: a pre-testing effort to minimize post-release failures
Innovations in Systems and Software Engineering
A novel approach for slicing of object oriented programs
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Describes the construction of system dependence graphs for object-oriented software on which efficient slicing algorithms can be applied. We construct these system dependence graphs for individual classes, groups of interacting classes and complete object-oriented programs. For an incomplete system consisting of a single class or a number of interacting classes, we construct a procedure dependence graph that simulates all possible calls to public methods in the class. For a complete system, we construct a procedure dependence graph from the main program in the system. Using these system dependence graphs, we show how to compute slices for individual classes, groups of interacting classes and complete programs. One advantage of our approach is that the system dependence graphs can be constructed incrementally because representations of classes can be reused. Another advantage of our approach is that slices can be computed for incomplete object-oriented programs such as classes or class libraries. We present our results for C++, but our techniques can be applied to other statically typed object-oriented languages such as Ada-95.