DocumentCode
647219
Title
Clustering static analysis defect reports to reduce maintenance costs
Author
Fry, Zachary P. ; Weimer, Westley
Author_Institution
Weimer Univ. of Virginia, Charlottesville, VA, USA
fYear
2013
fDate
14-17 Oct. 2013
Firstpage
282
Lastpage
291
Abstract
Static analysis tools facilitate software maintenance by automatically identifying bugs in source code. However, for large systems, these tools often produce an overwhelming number of defect reports. Many of these defect reports are conceptually similar, but addressing each report separately costs developer effort and increases the maintenance burden. We propose to automatically cluster machine-generated defect reports so that similar bugs can be triaged and potentially fixed in aggregate. Our approach leverages both syntactic and structural information available in static bug reports to accurately cluster related reports, thus expediting the maintenance process. We evaluate our technique using 8,948 defect reports produced by the Coverity Static Analysis and FindBugs tools in both C and Java programs totaling over 14 million lines of code. We find that humans overwhelmingly agree that clusters of defect reports produced by our tool could be handled aggregately, thus reducing developer maintenance effort. Additionally, we show that our tool is not only capable of perfectly accurate clusters, but can also significantly reduce the number of defect reports that have to be manually examined by developers. For instance, at a level of 90% accuracy, our technique can reduce the number of individually inspected defect reports by 21.33% while other multi-language tools fail to obtain more than a 2% reduction.
Keywords
C language; Java; pattern clustering; program debugging; program diagnostics; software maintenance; C programs; Coverity Static Analysis tool; FindBugs tool; Java programs; clustering; developer maintenance effort reduction; machine-generated defect reports; maintenance cost reduction; multilanguage tools; software maintenance; static analysis defect reports; static bug reports; structural information; syntactic information; Computer bugs; Context; Frequency measurement; Linux; Maintenance engineering; Syntactics;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering (WCRE), 2013 20th Working Conference on
Conference_Location
Koblenz
Type
conf
DOI
10.1109/WCRE.2013.6671303
Filename
6671303
Link To Document