Dynamic Slicing of Object-Oriented Programs in Presence of Inheritance

  • S. R. Mohanty
  • M. Sahu
  • P. K. Behera
  • D. P. Mohapatra
Conference paper
Part of the Smart Innovation, Systems and Technologies book series (SIST, volume 32)

Abstract

This paper proposes an DG traversal dynamic slicing algorithm for dynamic slicing of object-oriented programs in presence of inheritance, which can facilitate various software engineering activities like program comprehension, testing, debugging, reverse engineering, maintenance etc. This paper creates an intermediate program representation called dynamic graph to represent the execution trace of an object-oriented program. Then the proposed slicing algorithm is applied on the intermediate representation to compute the dynamic slice. The advantage of this approach is that, the intermediate program representation is small, hence needs less memory to store and the proposed algorithm is space efficient as well as time efficient and computes precise dynamic slices.

Keywords

Dynamic slice Dynamic graph Object-oriented program 

References

  1. 1.
    Wieser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449. IEEE Press (1981)Google Scholar
  2. 2.
    Zhao, J.: Dynamic slicing of object-oriented programs. J. Nat. Sci. 6, 391–397 (2001)Google Scholar
  3. 3.
    Warren, J.D., Ferrante, J., Ottenstein, K.J.: The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9, 319–349 (1987)CrossRefMATHGoogle Scholar
  4. 4.
    Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. 12, 26–61 (1990)CrossRefGoogle Scholar
  5. 5.
    Larsen, L., Harrold, M.J.: Slicing object-oriented software. In: Proceeding of ICSE, pp. 495–505 (1996)Google Scholar
  6. 6.
    Mund, G.B.: An efficient inter-procedural dynamic slicing method. J. Syst. Softw. 79, 791–806 (2006)CrossRefGoogle Scholar
  7. 7.
    Jain, P., Garg, N.: A novel approach for slicing of object oriented programs. ACM SIGSOFT Softw. Eng. Notes. 38, 1–4 (2013)Google Scholar
  8. 8.
    Du, L., Xiao, G., Yu, Y.: Research on algorithm for object-oriented program slicing. J. Convergence Inf. Technol. 6 (2011)Google Scholar
  9. 9.
    Ottenstein, K., Ottenstein, L.: The program dependence graph in software development environments. In: Symposium on Practical Software Development Environments, vol. 19, pp. 177–184 (1984)Google Scholar
  10. 10.
    Korel, B., Lask, J.: Dynamic program slicing. Inf. Process. Lett. 29, 155–163 (1988)CrossRefMATHGoogle Scholar
  11. 11.
    Agrawal, H., Horgan, J.: Dynamic program slicing. In: Proceeding of the ACM SIGPLAN Conference on Programming Languages Design and Implementation, vol. 25, pp. 246–256 (1990)Google Scholar
  12. 12.
    Mund, G.B., Mall, R., Sarkar, S.: Computation of intra-procedural dynamic program slices. Inf. Softw. Technol. 45, 499–512 (2003)Google Scholar
  13. 13.
    Mohapatra, D.P., Mall, R., Kumar, R.: An overview of slicing techniques for object-oriented programs. Informatica 30, 253–277 (2006)MATHGoogle Scholar
  14. 14.
    Beszedes, A., Gergely, T., Gyimóthy, T.: Graph-less dynamic dependence-based dynamic slicing algorithm. In: Sixth IEEE International Workshop on Source Code Analysis and Manipulation, vol. 6, pp. 21–30 (2006)Google Scholar
  15. 15.
    Mohanty, S.R., Behera, P.K., Mohapatra, D.P.: Computing dynamic slices of object-oriented program using dependency information. Int. J. Comput. Appl. 80, 1–7 (2013)Google Scholar

Copyright information

© Springer India 2015

Authors and Affiliations

  • S. R. Mohanty
    • 1
  • M. Sahu
    • 2
  • P. K. Behera
    • 3
  • D. P. Mohapatra
    • 2
  1. 1.Department of CSRIMSRourkelaIndia
  2. 2.Department of CSENIT RourkelaRourkelaIndia
  3. 3.Department of CSAUtkal UniversityBhubneswarIndia

Personalised recommendations