The Research of an Abstract Semantic Framework for Defect Detecting

Article Preview

Abstract:

This paper proposes a non-relational abstract semantic framework. It uses interval set to represent the value of numerical variables and complete lattice to represent Boolean variables and reference variables. It presents the abstract computation method of basic expressions and the nodes of control flow graph. It uses function summaries to represent the context information of function call needed by defects detecting. Based on the results of abstract computation, it uses extended state machine to define defect patterns and proposes a path-sensitive method based on dataflow analysis to detect defects. It avoids the combination explosion of full path analysis by merging the conditions of identical property state at join points in the CFG. Practical test results show that the proposed methods have features of high efficiency, low false positive and low false negative.

You might also be interested in these eBooks

Info:

Periodical:

Pages:

536-540

Citation:

Online since:

January 2011

Export:

Price:

Permissions CCC:

Permissions PLS:

Сopyright:

© 2011 Trans Tech Publications Ltd. All Rights Reserved

Share:

Citation:

[1] Patrick Cousot & Radhia Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, p.238.

DOI: 10.1145/512950.512973

Google Scholar

[2] Jean Souyris and David Delmas. Experimental Assessment of ASTRÉE on Safety-Critical Avionics Software. Proc. Int. SAFECOMP 2007, Volume 4680 of Lecture Notes in Computer Science, p.479—490, Springer, Berlin.

DOI: 10.1007/978-3-540-75101-4_45

Google Scholar

[3] Mine,A. The octagon abstract domain. Higher-Order and Symbolic Computation, 31-100, (2006).

Google Scholar

[4] Clariso, R and Cortadella,J. The octahedron abstract domain. In Static Analysis Symp(SAS), pp.312-327, (2004).

Google Scholar

[5] Halbwachs, N., Proy, Y. E., and Roumanoff, P. Verification of real-time systems using linear relation analysis. Formal Methods Syst, pp.157-185, (1997).

DOI: 10.1023/a:1008678014487

Google Scholar

[6] Bodik,R. and Anik,S. Path-sensitive value-flow analysis. Conference Record of the Twenty-Fifth ACM Symposium on Principles of Programming Languages, pp.237-251, (1998).

DOI: 10.1145/268946.268966

Google Scholar

[7] Das,M. Lerner,S. and Seigle,M. ESP: Path-sensitive program verification in polynomial time. In ACM SIGPLAN Conference on Programming Language Design and Implementation, p.57–68, (2002).

DOI: 10.1145/512529.512538

Google Scholar