DocumentCode :
724753
Title :
Detection of incorrect pointer dereferences for C/C++ programs using static code analysis and logical inference
Author :
Vert, Tatiana ; Krikun, Tatiana ; Glukhikh, Mikhail
Author_Institution :
St. Petersburg State Polytech. Univ., St. Petersburg, Russia
fYear :
2013
fDate :
10-12 Oct. 2013
Firstpage :
78
Lastpage :
82
Abstract :
This article considers a method for an increase of static code analysis precision. The method extends classic code analysis algorithm with dependency analysis. For this purpose, during abstract interpretation information about statically known values should be extracted as well as dependencies between unknown values. Dependencies can be represented with first-order logic predicates. Such a method allows using of external logical inference tools to prove truth or falsehood of branch conditions and of error occurrence conditions. The main focus is oriented to pointer analysis logic and incorrect dereference detection rules. A prototype is implemented and results of efficiency evaluation are provided. The prototype uses Microsoft Z3 Solver as a logical inference tool. A significant precision increase is shown, ways for performance boosting are suggested.
Keywords :
C++ language; inference mechanisms; program diagnostics; quality assurance; software quality; software reliability; source code (software); C/C++ programs; Microsoft Z3 solver; branch conditions; dependency analysis; error occurrence conditions; external logical inference tools; first-order logic predicates; incorrect dereference detection rules; incorrect pointer dereference detection; pointer analysis logic; software quality assurance; static code analysis algorithm; Algorithm design and analysis; Electronic mail; Inference algorithms; Merging; Prototypes; Semantics; Software; C source code error detection; logical inference; static code analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Tools & Methods of Program Analysis (TMPA), 2013
Conference_Location :
Kostroma
Print_ISBN :
978-0-9860773-1-9
Type :
conf
DOI :
10.1109/TMPA.2013.7163724
Filename :
7163724
Link To Document :
بازگشت