IEEE Software · 2008 · 522 citations · 8 references
ComputingComputer ScienceSecure Software DevelopmentSoftware EngineeringSystems ProgrammingDefect DetectionSoftware TestingStatic AnalysisStatic Code AnalysisAutomated Bug FindingNull Pointer Dereference DetectionNull Pointer DereferencesSoftware Development MethodologySql Injection DetectionStatic Analysis For Sql InjectionStatic Bug DetectionStatic Error Analysis
Static analysis examines code without input data or execution, detecting security violations, runtime errors, and logical inconsistencies, yet industry experience reports are scarce despite extensive literature on algorithms and frameworks. The authors aim to describe the open‑source Java static‑analysis tool FindBugs and its use in production environments. FindBugs assesses which defect types can be detected by simple techniques and guides developers on integrating such tools into software development. The study shows that FindBugs can effectively detect various defect classes and assists developers in incorporating static analysis into their workflows.
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.
8
Evaluating static analysis defect warnings on production software
Nathaniel Ayewah, William Pugh, J. David Morgenthaler et al. · 2007 · 214 citations
Finding more null pointer bugs, but not too many
David Hovemeyer, William Pugh · 2007 · 119 citations
Tracking defect warnings across versions
Jaime Spacco, David Hovemeyer, William Pugh · 2006 · 68 citations