Dependence analysis of Java bytecode

Understanding program dependencies in a computer program is essential for many software engineering tasks such as program understanding, testing, debugging, reverse engineering, and maintenance. The article presents an approach to dependence analysis of Java bytecode, and discusses some applications of the technique, which include Java bytecode slicing, understanding, and testing.

[1]  Jingde Cheng,et al.  Static slicing of concurrent object-oriented programs , 1996, Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96.

[2]  Yung-Lin Chen,et al.  Slicing object-oriented programs , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.

[3]  Zhao Jianjun Slicing Concurrent Java Programs , 1999 .

[4]  James C. Corbett,et al.  A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives , 1999, SAS.

[5]  Susan Horwitz,et al.  Incremental program testing using program dependence graphs , 1993, POPL '93.

[6]  Bogdan Korel The Program Dependence Graph in Static Program Testing , 1987, Inf. Process. Lett..

[7]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984 .

[8]  Eugene H. Spafford,et al.  Debugging with dynamic slicing and backtracking , 1993, Softw. Pract. Exp..

[9]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[10]  Cristina Cifuentes,et al.  Intraprocedural static slicing of binary executables , 1997, 1997 Proceedings International Conference on Software Maintenance.

[11]  James R. Larus,et al.  EEL: machine-independent executable editing , 1995, PLDI '95.

[12]  Lori A. Clarke,et al.  A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance , 1990, IEEE Trans. Software Eng..

[13]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[14]  Anand Krishnaswamy Program Slicing: An Application of Object-oriented Program Dependency Graphs , 1994 .

[15]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[16]  John D. McGregor,et al.  An extensible program representation for object-oriented software , 1994, SIGP.

[17]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[18]  Mary Jean Harrold,et al.  Slicing object-oriented software , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[19]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[20]  Jianjun Zhao,et al.  Slicing concurrent Java programs , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[21]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[22]  Baowen Xu,et al.  Slicing object-oriented java programs , 2001, SIGP.