Abstract
Dynamic program slicing methods are widely used for debugging, because many statements can be ignored in the process of localizing a bug. A dynamic program slice with respect to a variable contains only those statements that actually had an influence on this variable. How- ever, during debugging we also need to identify those statements that actually did not affect the variable but could have affected it had they been evaluated differently. A relevant slice includes these potentially af- fecting statements as well, therefore it is appropriate for debugging. In this paper a forward algorithm is introduced for the computation of relevant slices of programs. The space requirement of this method does not depend on the number of different dynamic slices nor on the size of the execution history, hence it can be applied for real size applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agrawal, H., DeMillo, R. A., and Spafford, E. H. Dynamic slicing in the presence of unconstrained pointers. In Proceedings of the ACM Fourth Symposium on Testing, Analysis, and Verification (TAV4) (1991), pp. 60–73.
Agrawal, H., DeMillo, R. A., and Spafford, E. H. Debugging with dynamic slicing and backtracking. Software — Practive And Experience, 23(6):589–616, June 1993.
Agrawal, H., and Horgan, J. Dynamic program slicing. SIGPLAN Notices, No. 6, 1990, pp. 246–256.
Agrawal, H., Horgan, J. R., Krauser, E. W., and London, S. A. Incremental Regression Testing. Proceedings of the IEEE Conference on Software Maintenance, Montreal, Canada,1993.
Beck, J., and Eichmann, D. Program and Interface Slicing for Reverse Engineering. In Proc. 15th Int. Conference on Software Engineering, Baltimore, Maryland, 1993. IEEE Computer Society Press, 1993, 509–518.
Forgács, I. An exact array reference analysis for data flow testing. In Proc. of the 18th Int. Conference on Software Engineering, Berlin 1996, 565–574.
Fritzson, P., Shahmehri, N., Kamkar, M., and Gyimóthy, T. Generalized algorithmic debugging and testing. ACM Letters on Programming Languages and Systems 1, 4 (1992), 303–322.
Gallagher, K. B., and Lyle, J. R. Using Program Slicing in Software Maintenance. IEEE Transactions on Software Engineering 17, 8, 1991, 751–761.
Horwitz, S., Reps, T., and Binkley, D. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems 12, 1 (1990), 26–61.
Kamkar, M. An Overview and Comparative Classiffication of Program Slicing Techniques. J.Systems Software 31:197–214,1995.
Kamkar, M. Interprocedural Dynamic Slicing with Applications to Debugging and Testing, Ph. D. Thesis, Linkoping University, 1993.
Korel, B., and Laski, J. Dynamic slicing in computer programs. The Journal of Systems and Software vol. 13, No. 3, 1990, pp. 187–195.
Korel, B., and Rilling, J. Application of dynamic slicing in program debugging. In Proceedings of the Third International Workshop on Automatic Debugging (AADEBUG’97), Linkoping, Sweden, May 1997.
Korel, B., and Yalamanchili, S. Forward computation of dynamic program slices. In Proceedings of the 1994 International Symposium on Software Testing and Analysis (ISSTA), Seattle, Washington, August 1994.
Landi, W., and Ryder, B. A safe approximate algorithm for interprocedural pointer aliasing. In Proceedings of the 1992 ACM Conference on Programming Language Design and Implementation San Francisco, 1992), pp. 235–248. SIGPLAN Notices 27(7).
Ottenstein, K., and Ottenstein, L. The program dependence graph in a software development environment. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments (1984), pp. 177–184. SIGPLAN Notices 19(5).
Rothermer, G., and Harrold, M. J. Selecting tests and identifying test coverage requirements for modiffied software. In Proc. ISSTA’94 Seattle. 1994, 169–183
Tip, F. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121–189, September 1995.
Weiser M. Program Slicing. IEEE Transactions on Software Engineering SE-10, 4, 1984, 352–357.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gyimóthy, T., Beszédes, Á., Forgács, I. (1999). An Efficient Relevant Slicing Method for Debugging. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_19
Download citation
DOI: https://doi.org/10.1007/3-540-48166-4_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66538-0
Online ISBN: 978-3-540-48166-9
eBook Packages: Springer Book Archive