Skip to main content
Log in

A model for slicing JAVA programs hierarchically

  • Software Engineering
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Program slicing can be effectively used to debug, test, analyze, understand and maintain objectoriented software. In this paper, a new slicing model is proposed to slice Java programs based on their inherent hierarchical feature. The main idea of hierarchical slicing is to slice programs in a stepwise way, from package level, to class level, method level, and finally up to statement level. The stepwise slicing algorithm and the related graph reachability algorithms are presented, the architecture of the Java program Analyzing TOol (JATO) based on hierarchical slicing model is provided, the applications and a small case study are also discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Weiser M. Program slicing.IEEE Transactions on Software Engineering, 1984, SE-10(4): 352–357.

    Article  MATH  Google Scholar 

  2. Weiser M. Program slicing.IEEE Transactions on Software Engineering, 1984, 10(4): 352–357.

    Article  MATH  Google Scholar 

  3. Ottenstein K J, Ottenstein L M. The program dependence graph in a software development environment.ACM SIGPLAN Notices, 1984, 19(5): 177–184.

    Article  Google Scholar 

  4. Horwitz S B, Reps T, Binkley D. Interprocedural slicing using dependence graphs.ACM SIGPLAN Notices, 1988, 23(7): 35–46.

    Article  Google Scholar 

  5. Horwitz S B, Reps T. The use of program dependence graphs in software engineering. InProc. the Fourteenth International Conference on Software Engineering, Melbourne, Australia, May 1992, pp.392–411.

  6. Krishnaswamy A. Program slicing: An application of object-oriented program dependence graphs.Technical Report TR94-108, Department of Computer Science, Clemson University, 1994.

  7. Larsen L, Harrold M J. Slicing object-oriented software. InProc. 18th International Conference on Software Engineering, 1996, pp.495–505.

  8. Tip F, Choi J D, Field J, Ramalingham G. Slicing class hierarchies in C++. InProc. the Eleventh Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'96), 1996, pp.179–197.

  9. Steindl C. Intermodular slicing of object-oriented programs. InProc. International Conference on Compiler Construction (CC'98), 1998, pp.264–278.

  10. Zhao J. Dynamic slicing of object-oriented programs.Technical Report SE-98-119, Information Processing Society of Japan (IPSJ), 1998.

  11. Li B. An approach for assessing software coupling. InProc. Third Asian Workshop on Programming Language and Systems, Shanghai, China, 2002.

  12. Li B. A technique to analyze information-flow in object-oriented programs.Information and Software Technology, 2003, 45(6): 305–314.

    Article  Google Scholar 

  13. Liang D, Harrold M J. Slicing objects using system dependence graph. InProc. the 1998 International Confernece on Software Maintenance, 1998, pp.358–367.

  14. Li B, Fan X. JATO: Slicing Java program hierarchically.TUCS Technical Reports, No.415, Finland, 2001.

  15. Li B. Program slicing techniques and its application in object-oriented software metrics and software test [Dissertation]. Nanjing University, 2000.

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Bi-Xin Li, Xiao-Cong Fan, Jun Pang or Jian-Jun Zhao.

Additional information

This work is supported by the National Natural Science Foundation of China under Grant No.60473065 and the Outstanding Youth Teacher Support Foundation of Southeast University under Grant No.4009001011.

Bi-Xin Li is a professor in Southeast University from Jan., 2004. He received the Ph.D. degree in computer software and theory from Nanjing University in 2001. From Apr. 2001 to Apr. 2002, he worked at TUCS (Turku Center for Computer Science) for one year as a post-doctoral researcher. From Apr. 2002 to Dec. 2003, he worked. at Department of Computer and Information Science, NTNU (Norwegian University of Science and Technology), and CWI (the Centrum voor Wiskunde en Informatica), both as an ERCIM Fellow. His current research interests include software construction, software testing, SQA techniques, software architecture and component techniques, safety-critical system and formal verification, etc.

Xiao-Cong Fan is a senior researcher in the Inteligent Agent Lab of the Pennsylvania State University from 2002. He received the Ph.D. degree from Nanjing University in 1999. From 2000 to 2002, he worked at the turku Centre for Computer Science and the Computer Science Department of Abo Akademi University in Finland, where he participated in the projects SOCOS and SPROUT, which developed a methodology for software platform construction based on the Refinement Calculus. He currently works on formal agent theories in teamwork, and projects for applying these theories.

Jun Pang is now a Ph.D. candidate in CWI, the Netherlands. He received the B.Sc. and M.Sc. degrees in computer science from Nanjing University, China, in 1997 and 2000. His research interests include protocol verification, process algebra, safety critical systems, security, testing, software architecture etc.

Jian-Jun Zhao is an associate professor of computer science at Fukuoka Institute of Technology, Japan. He received the B.S. degree in computer science from Tsinghua University, China, in 1987, and the Ph.D. degree in computer science from Kyushu University, Japan, in 1997. His research interests include program analysis and compiler, software architecture analysis, aspect-oriented software development, and ubiquitous computing environment.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, BX., Fan, XC., Pang, J. et al. A model for slicing JAVA programs hierarchically. J. Comput. Sci. & Technol. 19, 848–858 (2004). https://doi.org/10.1007/BF02973448

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02973448

Keywords

Navigation