Abstract
This paper presents a interprocedural dynamic slicing for handling pointers in programs. The use of pointers presents serious problems for software productivity tools for software understanding, restructuring, and testing. Pointers enable indirect memory accesses through pointer dereferences, as well as indirect procedure calls (e.g., through function pointers in C). Such indirect accesses and calls can be disambiguated with pointer analysis. In addition to a conservative analysis, we propose an optimistic algorithm that reflects common program’s slicing. This paper uses the proposed pointer alias analyses to infer the types of variables in C programs and shows that most C variables are used in a manner consistent with their declared types. The proposed concepts for interprocedural dynamic slicing we have proposed here is more efficient then the existing concepts as it gives a detailed idea about the slices that can be obtained for one dimensional pointers, two dimensional pointer, pointer to arrays, dynamic memory allocation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Burke, M., Carini, P., Choi, J.-D., Hind, M.: Flow-insensitive interprocedural alias analysis in the presence of pointers. In: Proceedings from the 7th Workshop on Languages and Compilers for Parallel Computing. Extended version published as Research Report RC 19546, IBM T. J. Watson Research Center, September 1994 (1995)
Choi, J.-D., Burke, M., Carini, P.: Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects. In: 20th Annual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, January 1993, pp. 232–245 (1993)
Emami, M., Ghiya, R., Hendren, L.J.: Context-sensitive interprocedural points-to analysis in the presence of function pointers. In: SIGPLAN 1994 Conference on Programming Language Design and Implementation, June 1994. SIGPLAN Notices, vol. 29(6), pp. 242–256 (1994)
Choi, J.-D., Cytron, R., Ferrante, J.: Automatic construction of sparse data ow evaluation graphs. In: 18th Annual ACM Symposium on the Principles of Programming Languages, January 1991, pp. 55–66 (1991)
Weiser, M.: Programmers use slices when debugging. Communications of the ACM 25(7), 446–452 (1982)
Weiser, M.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)
Mund, G.B., Mall, R.: RMall. An efficient interprocedural dynamic slicing method. The Journal of Systems and Software 79, 791–806 (2006)
Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems 12(1), 26–61 (1990)
Korel, B., Laski, J.: Dynamic slicing of computer programs. Journal of Systems and Software 13, 187–195 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pani, S.K., Arundhati, P., Mohanty, M. (2010). Refactoring Interprocedural Dynamic Slicing for Handling Pointers. In: Das, V.V., et al. Information Processing and Management. BAIP 2010. Communications in Computer and Information Science, vol 70. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12214-9_113
Download citation
DOI: https://doi.org/10.1007/978-3-642-12214-9_113
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-12213-2
Online ISBN: 978-3-642-12214-9
eBook Packages: Computer ScienceComputer Science (R0)