Show simple item record

dc.contributor.authorHanam, Quinn
dc.date.accessioned2014-09-02 19:02:40 (GMT)
dc.date.available2014-09-02 19:02:40 (GMT)
dc.date.issued2014-09-02
dc.date.submitted2014-09-02
dc.identifier.urihttp://hdl.handle.net/10012/8753
dc.description.abstractStatic analysis (SA) tools that find bugs by inferring programmer beliefs (e.g., FindBugs) are commonplace in today’s software industry. While they find a large number of actual defects, they are often plagued by high rates of alerts that a developer would not act on (unactionable alerts) because they are incorrect, do not significantly affect program execution, etc. High rates of unactionable alerts decrease the utility of static analysis tools in practice. We present a method for differentiating actionable and unactionable alerts by finding alerts with similar code patterns. To do so, we create a feature vector based on code characteristics at the site of each SA alert. With these feature vectors, we use machine learning techniques to build an actionable alert prediction model that is able to classify new SA alerts. We evaluate our technique on three subject programs using the FindBugs static analysis tool and the FaultBench benchmark methodology. For a developer inspecting the top 5% of all alerts for three sample projects, our approach is able to identify 57 of 211 actionable alerts, which is 38 more than the FindBugs priority measure. Combined with previous actionable alert identification techniques, our method finds 75 actionable alerts in the top 5%, which is four more actionable alerts (a 6% improvement) than previous actionable alert identification techniques.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.subjectStatic analysisen
dc.subjectbug detectionen
dc.subjectalert classificationen
dc.subjectmachine learningen
dc.subjectalert patternsen
dc.titleFinding Patterns in Static Analysis Alerts: Improving Actionable Alert Rankingen
dc.typeMaster Thesisen
dc.pendingfalse
dc.subject.programElectrical and Computer Engineering (Software Engineering)en
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws-etd.degreeMaster of Applied Scienceen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages