Skip to main content

Slicing Tagged Objects in Ada

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((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.

This work was supported in part by the National Natural Science Foundation of China (NSFC).

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Weiser, M., Program Slicing, IEEE Trans. Software Engineering, Vol. 16,No. 5, 498–509, 1984.

    Google Scholar 

  2. Xu, B., Reverse Program Dependency and Applications, Chinese J. Computers, Vol. 16,No. 5, 385–392, 1993.

    Google Scholar 

  3. Tip, F., A Survey of Program Slicing Techniques, Journal of Programming Languages, Vol. 3,No. 3, 121–189, 1995.

    Google Scholar 

  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.

    Article  MATH  MathSciNet  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  7. ISO/IEC 8652:1995(E), Ada Reference Manual-Language and Standard Libraries.

    Google Scholar 

  8. Chen, Z., Xu, B. and Yang, H., An Approach to Analysing Dependency of Concurrent Programs, APAQS’2000, 39–43, 2000.

    Google Scholar 

  9. Chen, Z. and Xu B., Detecting All Pairs of Statements in Parallel Programs, NCYCS’2000, 265–269, 2000.

    Google Scholar 

  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. Zhao, J., Slicing Concurrent Java Programs, 7th IEEE International Workshop on Program Comprehension, 126–133, 1999.

    Google Scholar 

  12. Krinke, J., Static Slicing of Threaded Programs, ACM SIGPLAN Notices, Vol. 33,No. 7, 35–42, 1998.

    Article  Google Scholar 

  13. Horwitz, S. and et al., Interprocedural Slicing Using Dependency Graphs, ACM Trans. Programming Languages and Systems, Vol. 12,No. 1, 26–60, 1990.

    Article  Google Scholar 

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

    Google Scholar 

  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. Liang, D. and et al., Slicing Objects Using System Dependence Graphs, International Conference on Software Maintenance, 358–367, 1998.

    Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, Z., Xu, B., Yang, H. (2001). Slicing Tagged Objects in Ada. In: Craeynest, D., Strohmeier, A. (eds) Reliable SoftwareTechnologies — Ada-Europe 2001. Ada-Europe 2001. Lecture Notes in Computer Science, vol 2043. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45136-6_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-45136-6_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42123-8

  • Online ISBN: 978-3-540-45136-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics