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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Weiser, M., Program Slicing, IEEE Trans. Software Engineering, Vol. 16,No. 5, 498–509, 1984.
Xu, B., Reverse Program Dependency and Applications, Chinese J. Computers, Vol. 16,No. 5, 385–392, 1993.
Tip, F., A Survey of Program Slicing Techniques, Journal of Programming Languages, Vol. 3,No. 3, 121–189, 1995.
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.
Gallagher, K. B. and J. R. Lyle., Using Program Slicing in Software Maintenance, IEEE Trans. Software Engineering, Vol. 17,No. 8, 751–761, 1991.
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.
ISO/IEC 8652:1995(E), Ada Reference Manual-Language and Standard Libraries.
Chen, Z., Xu, B. and Yang, H., An Approach to Analysing Dependency of Concurrent Programs, APAQS’2000, 39–43, 2000.
Chen, Z. and Xu B., Detecting All Pairs of Statements in Parallel Programs, NCYCS’2000, 265–269, 2000.
Cheng, J., Dependency Analysis of Parallel and Distributed Programs and Its Applications, Int. Conf. on Advances in Parallel and Distributed Computing, 370–377, 1997.
Zhao, J., Slicing Concurrent Java Programs, 7th IEEE International Workshop on Program Comprehension, 126–133, 1999.
Krinke, J., Static Slicing of Threaded Programs, ACM SIGPLAN Notices, Vol. 33,No. 7, 35–42, 1998.
Horwitz, S. and et al., Interprocedural Slicing Using Dependency Graphs, ACM Trans. Programming Languages and Systems, Vol. 12,No. 1, 26–60, 1990.
Larsen, L. and Harrold, M. J., Slicing object-oriented software, 18th International Conference on Software Engineering, 495–505, 1996.
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.
Liang, D. and et al., Slicing Objects Using System Dependence Graphs, International Conference on Software Maintenance, 358–367, 1998.
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.
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.
Chatterjee, R. and et al., Scalable, Flow-Sensitive Type Inference for Statically Typed Object-Oriented Languages, Technical Report DCS-TR-326, Rutgers University, 1994.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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