Skip to main content

Refactoring Interprocedural Dynamic Slicing for Handling Pointers

  • Conference paper
Book cover Information Processing and Management (BAIP 2010)

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  5. Weiser, M.: Programmers use slices when debugging. Communications of the ACM 25(7), 446–452 (1982)

    Article  Google Scholar 

  6. Weiser, M.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)

    Article  Google Scholar 

  7. Mund, G.B., Mall, R.: RMall. An efficient interprocedural dynamic slicing method. The Journal of Systems and Software 79, 791–806 (2006)

    Article  Google Scholar 

  8. Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems 12(1), 26–61 (1990)

    Article  Google Scholar 

  9. Korel, B., Laski, J.: Dynamic slicing of computer programs. Journal of Systems and Software 13, 187–195 (1990)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics