Prioritizing Software Inspection Results using Static Profiling
Authors:
- 1 September 2006
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 149-160
Abstract
Static software checking tools are useful as an additional automated software inspection step that can easily be integrated in the development cycle and assist in creating secure, reliable and high quality code. However, an often quoted disadvantage of these tools is that they generate an overly large number of warnings, including many false positives due to the approximate analysis techniques. This information overload effectively limits their usefulness. In this paper we present ELAN, a technique that helps the user prioritize the information generated by a software inspection tool, based on a demand-driven computation of the likelihood that execution reaches the locations for which warnings are reported. This analysis is orthogonal to other prioritization techniques known from literature, such as severity levels and statistical analysis to reduce false positives. We evaluate feasibility of our technique using a number of case studies and assess the quality of our predictions by comparing them to actual values obtained by dynamic profiling.Keywords
All Related Versions
This publication has 28 references indexed in Scilit:
- Modular verification of software components in CIEEE Transactions on Software Engineering, 2004
- The Blast Query Language for Software VerificationLecture Notes in Computer Science, 2004
- Improving security using extensible lightweight static analysisIEEE Software, 2002
- ESP2002
- Constant Propagation on the Value Graph: Simple Constants and BeyondLecture Notes in Computer Science, 2000
- Understanding the sources of variation in software inspectionsACM Transactions on Software Engineering and Methodology, 1998
- Software testability: the new verificationIEEE Software, 1995
- Precise interprocedural dataflow analysis with applications to constant propagation1995
- Interprocedural constant propagation using dependence graphs and a data-flow modelLecture Notes in Computer Science, 1994
- Interprocedural slicing using dependence graphsACM Transactions on Programming Languages and Systems, 1990