Efficient static analysis with path pruning using coverage data

  • Authors:
  • V. Vipindeep;Pankaj Jalote

  • Affiliations:
  • Indian Institute of Technology, Kanpur, India;Indian Institute of Technology, Kanpur, India

  • Venue:
  • WODA '05 Proceedings of the third international workshop on Dynamic analysis
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Soundness and completeness are two primary concerns of a static analysis tool for finding defects in software. Exhaustive static analysis of the program through all paths is not always possible, especially for a large software causing incompleteness in the analysis. Also, exhaustive testing of the program to detect all bugs is not possible. In this work, we describe a technique which uses coverage data from testing to remove the tested paths and then statically analyzes the remaining code. This pruning of tested paths allows a static analyzer to perform a more thorough analysis of the reduced code, thereby improving its effectiveness. This work is a step towards integration of static analysis and testing frameworks. The proposed technique is applied with a few static analyzers publicly available. Our experience shows that the approach results in lesser false positives as well as detection of more serious errors which might have gone unnoticed otherwise.