Using Static Analysis to Find Bugs

  • Authors:
  • Nathaniel Ayewah;David Hovemeyer;J. David Morgenthaler;John Penix;William Pugh

  • Affiliations:
  • University of Maryland, College Park;York College of Pennsylvania;Google;Google;University of Maryland, College Park

  • Venue:
  • IEEE Software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Static analysis examines code in the absence of input data and without running the code. It can detect potential security violations (SQL injection), runtime errors (dereferencing a null pointer) and logical inconsistencies (a conditional test that can't possibly be true). Although a rich body of literature exists on algorithms and analytical frameworks used by such tools, reports describing experiences in industry are much harder to come by. The authors describe FindBugs, an open source static-analysis tool for Java, and experiences using it in production settings. FindBugs evaluates what kinds of defects can be effectively detected with relatively simple techniques and helps developers understand how to incorporate such tools into software development.