Skip to main content
Log in

Dependence analysis for C programs with combinability of dataflow facts under consideration

  • Published:
Wuhan University Journal of Natural Sciences

Abstract

To avoid the precision loss caused by combining dataflow facts impossible to occur in the same execution path in dependence analysis for C programs, this paper first proposes a flow-sensitive and context-insensitive points-to analysis algorithm and then presents a new dependence analysis approach based on it. The approach makes more sufficient consideration on the executable path problem and can avoid invalid combination between points-to relations and between points-to relations and reaching definitions. The results of which are therefore more precise than those of the ordinary dependence analysis approaches.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aho A, Sethi R, Ullman J, et al. Compilers: Principles, Techniques, and Tools[M]. 2nd Ed. New York: Addison-Wesley, 2006.

    Google Scholar 

  2. Xu B, Qian J, Zhang X, et al. A Brief Survey of Program Slicing [J]. ACM SIGSOFT Software Engineering Notes, 2005, 30(2): 10–45.

    Article  Google Scholar 

  3. Amme W, Zehendner E. Data Dependence Analysis in Programs with Pointers[J]. Parallel Computing, 1998, 24(3–4): 505–525.

    Article  MATH  Google Scholar 

  4. Binkley D, Lyle J. Application of the Pointer State Subgraph to Static Program Slicing[J]. The Journal of Systems and Software, 1998, 40(1): 17–27.

    Article  Google Scholar 

  5. Orso A, Sinha S, Harrold M. Classifying Data Dependences in the Presence of Pointers for Program Comprehension, Testing, and Debugging [J]. ACM Transactions on Software Engineering and Methodology, 2004, 13(2): 199–239.

    Article  Google Scholar 

  6. Marx D, Frankl P. Path-Sensitive Alias Analysis for Dataflow Testing [J]. The Journal of Software Testing, Verification and Reliability, 1999, 9(1): 51–73.

    Article  Google Scholar 

  7. Bodík R, Gupta R, Soffa M. Refining Data Flow Information Using Infeasible Paths [C] // Proceedings of the 6th European Software Engineering Conference Held Jointly with the 5th ACM SIGSOFT International Symposium on Foundations of Software Engineering. New York: Springer-Verlag, 1997: 361–377.

    Google Scholar 

  8. Burke M, Carini P, Choi J, et al. Interprocedural Pointer Alias Analysis[R]. New York: IBM T. J. Watson Research Center, 1997.

    Google Scholar 

  9. Emami M, Ghiya R, Hendren L. Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers [C] // Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. New York: ACM Press, 1994: 242–256.

    Google Scholar 

  10. Ruf E. Context-Insensitive Alias Analysis Reconsidered [C] // Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. New York: ACM Press, 1995: 13–22.

    Google Scholar 

  11. Das M, Lerner S, Seigle M. ESP: Path-Sensitive Program Verification in Polynomial Time[C]//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. New York: ACM Press, 2002: 57–68.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Baowen Xu.

Additional information

Foundation item: Supported by the National High Technology Research and Development Program of China (863 Program) (2009AA01Z147), the National Natural Science Foundation of China (90818027, 60633010, 60803008), and the National Science Foun for Distinguished Young Scholars (60425206)

Biography: QIAN Ju (1981–), male, Ph.D., research direction: program analysis and software testing.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Qian, J., Xu, B., Zhou, X. et al. Dependence analysis for C programs with combinability of dataflow facts under consideration. Wuhan Univ. J. Nat. Sci. 14, 321–326 (2009). https://doi.org/10.1007/s11859-009-0408-1

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11859-009-0408-1

Key words

CLC number

Navigation