Incremental False Path Elimination for Static Software Analysis

Ansgar Fehnker, Ralf Huuck, Sean Seefried

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

2 Citations (Scopus)

Abstract

In this work we introduce a novel approach for removing false positives in static program analysis. We present an incremental algorithm that investigates paths to failure locations with respect to feasibility. The feasibility test it done by interval constraint solving over a semantic abstraction of program paths. Sets of infeasible paths can be ruled out by enriching the analysis incrementally with observers. Much like counterexample guided abstraction refinement for software verification our approach enables to start static program analysis with a coarse syntactic abstraction and use richer semantic information to rule out false positives when necessary and possible. Moreover, we present our implementation in the Goanna static analyzer and compare it to other tools for C/C++ program analysis.
Original languageEnglish
Title of host publicationAutomated Technology for Verification and Analysis
Subtitle of host publication7th International Symposium, ATVA 2009, Macao, China, October 14-16, 2009. Proceedings
EditorsZhiming Liu, Anders P. Ravn
PublisherSpringer
Pages255-270
Number of pages16
ISBN (Electronic)978-3-642-04761-9
ISBN (Print)978-3-642-04760-2
DOIs
Publication statusPublished - 2009
Externally publishedYes
Event7th International Symposium on Automated Technology for Verification and Analysis, ATVA 2009 - Macao, China
Duration: 14 Oct 200916 Oct 2009
Conference number: 7

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume5799

Conference

Conference7th International Symposium on Automated Technology for Verification and Analysis, ATVA 2009
Abbreviated titleATVA
CountryChina
CityMacao
Period14/10/0916/10/09

Fingerprint

Semantics
Syntactics

Cite this

Fehnker, A., Huuck, R., & Seefried, S. (2009). Incremental False Path Elimination for Static Software Analysis. In Z. Liu, & A. P. Ravn (Eds.), Automated Technology for Verification and Analysis: 7th International Symposium, ATVA 2009, Macao, China, October 14-16, 2009. Proceedings (pp. 255-270). (Lecture Notes in Computer Science; Vol. 5799). Springer. https://doi.org/10.1007/978-3-642-04761-9_20
Fehnker, Ansgar ; Huuck, Ralf ; Seefried, Sean. / Incremental False Path Elimination for Static Software Analysis. Automated Technology for Verification and Analysis: 7th International Symposium, ATVA 2009, Macao, China, October 14-16, 2009. Proceedings. editor / Zhiming Liu ; Anders P. Ravn. Springer, 2009. pp. 255-270 (Lecture Notes in Computer Science).
@inproceedings{e2ac395ab61d418f871731088225632c,
title = "Incremental False Path Elimination for Static Software Analysis",
abstract = "In this work we introduce a novel approach for removing false positives in static program analysis. We present an incremental algorithm that investigates paths to failure locations with respect to feasibility. The feasibility test it done by interval constraint solving over a semantic abstraction of program paths. Sets of infeasible paths can be ruled out by enriching the analysis incrementally with observers. Much like counterexample guided abstraction refinement for software verification our approach enables to start static program analysis with a coarse syntactic abstraction and use richer semantic information to rule out false positives when necessary and possible. Moreover, we present our implementation in the Goanna static analyzer and compare it to other tools for C/C++ program analysis.",
author = "Ansgar Fehnker and Ralf Huuck and Sean Seefried",
year = "2009",
doi = "10.1007/978-3-642-04761-9_20",
language = "English",
isbn = "978-3-642-04760-2",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "255--270",
editor = "Zhiming Liu and Ravn, {Anders P.}",
booktitle = "Automated Technology for Verification and Analysis",

}

Fehnker, A, Huuck, R & Seefried, S 2009, Incremental False Path Elimination for Static Software Analysis. in Z Liu & AP Ravn (eds), Automated Technology for Verification and Analysis: 7th International Symposium, ATVA 2009, Macao, China, October 14-16, 2009. Proceedings. Lecture Notes in Computer Science, vol. 5799, Springer, pp. 255-270, 7th International Symposium on Automated Technology for Verification and Analysis, ATVA 2009, Macao, China, 14/10/09. https://doi.org/10.1007/978-3-642-04761-9_20

Incremental False Path Elimination for Static Software Analysis. / Fehnker, Ansgar; Huuck, Ralf; Seefried, Sean.

Automated Technology for Verification and Analysis: 7th International Symposium, ATVA 2009, Macao, China, October 14-16, 2009. Proceedings. ed. / Zhiming Liu; Anders P. Ravn. Springer, 2009. p. 255-270 (Lecture Notes in Computer Science; Vol. 5799).

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

TY - GEN

T1 - Incremental False Path Elimination for Static Software Analysis

AU - Fehnker, Ansgar

AU - Huuck, Ralf

AU - Seefried, Sean

PY - 2009

Y1 - 2009

N2 - In this work we introduce a novel approach for removing false positives in static program analysis. We present an incremental algorithm that investigates paths to failure locations with respect to feasibility. The feasibility test it done by interval constraint solving over a semantic abstraction of program paths. Sets of infeasible paths can be ruled out by enriching the analysis incrementally with observers. Much like counterexample guided abstraction refinement for software verification our approach enables to start static program analysis with a coarse syntactic abstraction and use richer semantic information to rule out false positives when necessary and possible. Moreover, we present our implementation in the Goanna static analyzer and compare it to other tools for C/C++ program analysis.

AB - In this work we introduce a novel approach for removing false positives in static program analysis. We present an incremental algorithm that investigates paths to failure locations with respect to feasibility. The feasibility test it done by interval constraint solving over a semantic abstraction of program paths. Sets of infeasible paths can be ruled out by enriching the analysis incrementally with observers. Much like counterexample guided abstraction refinement for software verification our approach enables to start static program analysis with a coarse syntactic abstraction and use richer semantic information to rule out false positives when necessary and possible. Moreover, we present our implementation in the Goanna static analyzer and compare it to other tools for C/C++ program analysis.

U2 - 10.1007/978-3-642-04761-9_20

DO - 10.1007/978-3-642-04761-9_20

M3 - Conference contribution

SN - 978-3-642-04760-2

T3 - Lecture Notes in Computer Science

SP - 255

EP - 270

BT - Automated Technology for Verification and Analysis

A2 - Liu, Zhiming

A2 - Ravn, Anders P.

PB - Springer

ER -

Fehnker A, Huuck R, Seefried S. Incremental False Path Elimination for Static Software Analysis. In Liu Z, Ravn AP, editors, Automated Technology for Verification and Analysis: 7th International Symposium, ATVA 2009, Macao, China, October 14-16, 2009. Proceedings. Springer. 2009. p. 255-270. (Lecture Notes in Computer Science). https://doi.org/10.1007/978-3-642-04761-9_20