Incremental False Path Elimination for Static Software Analysis

  • Authors:
  • Ansgar Fehnker;Ralf Huuck;Sean Seefried

  • Affiliations:
  • National ICT Australia Ltd.(NICTA), Locked Bag 6016, University of New South Wales, Sydney, Australia 1466;National ICT Australia Ltd.(NICTA), Locked Bag 6016, University of New South Wales, Sydney, Australia 1466;National ICT Australia Ltd.(NICTA), Locked Bag 6016, University of New South Wales, Sydney, Australia 1466

  • Venue:
  • ATVA '09 Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.