PtrTracker: Pragmatic pointer analysis

Sebastian Biallas, Mads Chr Olesen, Franck Cassez, Ralf Huuck

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contributionpeer-review

6 Citations (Scopus)

Abstract

Static program analysis for bug detection in industrial C/C++ code has many challenges. One of them is to analyze pointer and pointer structures efficiently. While there has been much research into various aspects of pointer analysis either for compiler optimization or for verification tasks, both classical categories are not optimized for bug detection, where speed and precision are important, but soundness (no missed bugs) and completeness (no false positives) do not necessarily need to be guaranteed. In this work we present a new pointer analysis tool for C/C++ code. The tool introduces the notion of heap graphs that are inspired by shape analysis without the computational overhead, but also without the verification soundness guarantees. We explain the underlying ideas and that it lends itself to a fast, modular and incremental analysis, features that are essential for large code bases. To demonstrate the practicality of the solution we integrate the pointer analyzer into the C/C++ bug checking tool Goanna. We show that run-times of the new analyzer are close to compile times on large code bases and, most importantly, that the new solution is able to reduce false positives as well as to detect previously unknown pointer bugs in the Git source code.

Original languageEnglish
Title of host publicationIEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM 2013)
Place of PublicationPiscataway, NJ
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Pages69-73
Number of pages5
ISBN (Electronic)9781467357395
DOIs
Publication statusPublished - 2013
Externally publishedYes
Event2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013 - Eindhoven, Netherlands
Duration: 22 Sept 201323 Sept 2013

Other

Other2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013
Country/TerritoryNetherlands
CityEindhoven
Period22/09/1323/09/13

Cite this