Conference Proceeding Article
Software defects can cause much loss. Static bug-finding tools are believed to help detect and remove defects. These tools are designed to find programming errors; but, do they in fact help prevent actual defects that occur in the field and reported by users? If these tools had been used, would they have detected these field defects, and generated warnings that would direct programmers to fix them? To answer these questions, we perform an empirical study that investigates the effectiveness of state-of-the-art static bug finding tools on hundreds of reported and fixed defects extracted from three open source programs: Lucene, Rhino, and AspectJ. Our study addresses the question: To what extent could field defects be found and detected by state-of-the-art static bug-finding tools? Different from past studies that are concerned with the numbers of false positives produced by such tools, we address an orthogonal issue on the numbers of false negatives. We find that although many field defects could be detected by static bug finding tools, a substantial proportion of defects could not be flagged. We also analyze the types of tool warnings that are more effective in finding field defects and characterize the types of missed defects.
Static bug-finding tools, field defects, false negatives
Software and Cyber-Physical Systems
ASE 2012: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering: September 3-7, 2012, Essen, Germany
City or Country
THUNG, Ferdian; Lucia, Lucia; LO, David; JIANG, Lingxiao; DEVANBU, Premkumar; and RAHMAN, Foyzur.
To what extent could we detect field defects? An empirical study of false negatives in static bug finding tools. (2012). ASE 2012: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering: September 3-7, 2012, Essen, Germany. 50-59. Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/1591
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.