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.
Similar content being viewed by others
References
Aho A, Sethi R, Ullman J, et al. Compilers: Principles, Techniques, and Tools[M]. 2nd Ed. New York: Addison-Wesley, 2006.
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.
Amme W, Zehendner E. Data Dependence Analysis in Programs with Pointers[J]. Parallel Computing, 1998, 24(3–4): 505–525.
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.
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.
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.
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.
Burke M, Carini P, Choi J, et al. Interprocedural Pointer Alias Analysis[R]. New York: IBM T. J. Watson Research Center, 1997.
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.
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.
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.
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11859-009-0408-1