Advertisement

Slicing Tagged Objects in Ada

  • Zhengqiang Chen
  • Baowen Xu
  • Hongji Yang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2043)

Abstract

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.

Keywords

Actual Parameter Type Circle Dynamic Binding Primitive Operation Exit Node 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Weiser, M., Program Slicing, IEEE Trans. Software Engineering, Vol. 16,No. 5, 498–509, 1984.Google Scholar
  2. 2.
    Xu, B., Reverse Program Dependency and Applications, Chinese J. Computers, Vol. 16,No. 5, 385–392, 1993.Google Scholar
  3. 3.
    Tip, F., A Survey of Program Slicing Techniques, Journal of Programming Languages, Vol. 3,No. 3, 121–189, 1995.Google Scholar
  4. 4.
    Ferrante, J. and et al., The Program Dependence Graph and its Use in Optimization, ACM Trans. Programming Languages and Systems, Vol. 9,No. 3, 319–349, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Gallagher, K. B. and J. R. Lyle., Using Program Slicing in Software Maintenance, IEEE Trans. Software Engineering, Vol. 17,No. 8, 751–761, 1991.CrossRefGoogle Scholar
  6. 6.
    Gupta, R. and et al., Program Slicing Based Regression Testing Techniques, Journal of Software Testing, Verification, and Reliability, Vol. 6,No. 2, 83–112, 1996.CrossRefGoogle Scholar
  7. 7.
    ISO/IEC 8652:1995(E), Ada Reference Manual-Language and Standard Libraries.Google Scholar
  8. 8.
    Chen, Z., Xu, B. and Yang, H., An Approach to Analysing Dependency of Concurrent Programs, APAQS’2000, 39–43, 2000.Google Scholar
  9. 9.
    Chen, Z. and Xu B., Detecting All Pairs of Statements in Parallel Programs, NCYCS’2000, 265–269, 2000.Google Scholar
  10. 10.
    Cheng, J., Dependency Analysis of Parallel and Distributed Programs and Its Applications, Int. Conf. on Advances in Parallel and Distributed Computing, 370–377, 1997.Google Scholar
  11. 11.
    Zhao, J., Slicing Concurrent Java Programs, 7th IEEE International Workshop on Program Comprehension, 126–133, 1999.Google Scholar
  12. 12.
    Krinke, J., Static Slicing of Threaded Programs, ACM SIGPLAN Notices, Vol. 33,No. 7, 35–42, 1998.CrossRefGoogle Scholar
  13. 13.
    Horwitz, S. and et al., Interprocedural Slicing Using Dependency Graphs, ACM Trans. Programming Languages and Systems, Vol. 12,No. 1, 26–60, 1990.CrossRefGoogle Scholar
  14. 14.
    Larsen, L. and Harrold, M. J., Slicing object-oriented software, 18th International Conference on Software Engineering, 495–505, 1996.Google Scholar
  15. 15.
    Tonella, P. and et al., Flow insensitive C++ Pointers and Polymorphism Analysis and its Application to Slicing, 19th International Conference on Software Engineering, 433–443, 1997.Google Scholar
  16. 16.
    Liang, D. and et al., Slicing Objects Using System Dependence Graphs, International Conference on Software Maintenance, 358–367, 1998.Google Scholar
  17. 17.
    Johmann, K.R. and et al., Context-dependent Flow-sensitive Inter-procedural Dataflow Analysis, Software Maintenance: Research and Practice, Vol. 7,No. 5, 177–202, 1995.CrossRefGoogle Scholar
  18. 18.
    Yong, S.H., Horwitz, S. and Reps, T., Pointer Analysis for Programs with Structures and Casting, ACM SIGPLAN Notices, Vol. 34,No. 5, 91–103, 1999.CrossRefGoogle Scholar
  19. 19.
    Chatterjee, R. and et al., Scalable, Flow-Sensitive Type Inference for Statically Typed Object-Oriented Languages, Technical Report DCS-TR-326, Rutgers University, 1994.Google Scholar
  20. 20.
    Li, B. and et al., An Approach to Analyzing and Understanding Program —Program Slicing, Journal of Computer Research & Development, Vol. 37,No. 3, 284–291, 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Zhengqiang Chen
    • 1
    • 3
  • Baowen Xu
    • 1
    • 3
  • Hongji Yang
    • 2
  1. 1.Department of Computer Science & EngineeringSoutheast UniversityChina
  2. 2.Department of Computer ScienceDe Montfort UniversityEngland
  3. 3.State Key Laboratory of Software EngineeringWuhan UniversityChina

Personalised recommendations