The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Context-dependent flow-sensitive interprocedural dataflow analysis
Journal of Software Maintenance: Research and Practice
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
Pointer analysis for programs with structures and casting
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Dependence Analysis of Parallel and Distributed Programs and Its Applications
APDC '97 Proceedings of the 1997 Advances in Parallel and Distributed Computing Conference (APDC '97)
An Approach to Analyzing Dependency of Concurrent Programs
APAQS '00 Proceedings of the The First Asia-Pacific Conference on Quality Software (APAQS'00)
Slicing Objects Using System Dependence Graphs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Slicing Concurrent Java Programs
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Static Dependency Analysis for Concurrent Ada 95 Programs
Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
Hi-index | 0.00 |
This paper presents an approach to representing dependencies for object-oriented (OO) Ada 95 programs. This new approach distinguishes subcomponents for different objects and represents the effects of polymorphism and dynamic bindings. Based on this model, we developed approaches to slicing subprograms, packages/types and hierarchies of types. Our slicing algorithm is more efficient because most of the results can be reused, and inter-subprogram slicing is transformed to intra-subprogram slicing.