DocumentCode :
2443009
Title :
Active refinement of clone anomaly reports
Author :
Lucia ; Lo, David ; Jiang, Lingxiao ; Budi, Aditya
Author_Institution :
Sch. of Inf. Syst., Singapore Manage. Univ., Singapore, Singapore
fYear :
2012
fDate :
2-9 June 2012
Firstpage :
397
Lastpage :
407
Abstract :
Software clones have been widely studied in the recent literature and shown useful for finding bugs because inconsistent changes among clones in a clone group may indicate potential bugs. However, many inconsistent clone groups are not real bugs (true positives). The excessive number of false positives could easily impede broad adoption of clone-based bug detection approaches. In this work, we aim to improve the usability of clone-based bug detection tools by increasing the rate of true positives found when a developer analyzes anomaly reports. Our idea is to control the number of anomaly reports a user can see at a time and actively incorporate incremental user feedback to continually refine the anomaly reports. Our system first presents top few anomaly reports from the list of reports generated by a tool in its default ordering. Users then either accept or reject each of the reports. Based on the feedback, our system automatically and iteratively refines a classification model for anomalies and re-sorts the rest of the reports. Our goal is to present the true positives to the users earlier than the default ordering. The rationale of the idea is based on our observation that false positives among the inconsistent clone groups could share common features (in terms of code structure, programming patterns, etc.), and these features can be learned from the incremental user feedback. We evaluate our refinement process on three sets of clone-based anomaly reports from three large real programs: the Linux Kernel (C), Eclipse, and ArgoUML (Java), extracted by a clone-based anomaly detection tool. The results show that compared to the original ordering of bug reports, we can improve the rate of true positives found (i.e., true positives are found faster) by 11%, 87%, and 86% for Linux kernel, Eclipse, and ArgoUML, respectively.
Keywords :
Linux; operating system kernels; pattern classification; program debugging; ArgoUML; Eclipse; Linux kernel; active refinement; bug finding; classification model; clone anomaly reports; clone-based bug detection approach; clone-based bug detection tool usability; default ordering; false positives; incremental user feedback; software clones; true positives; Cloning; Computer bugs; Engines; Feature extraction; Kernel; Linux; Programming;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
ISSN :
0270-5257
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
Type :
conf
DOI :
10.1109/ICSE.2012.6227175
Filename :
6227175
Link To Document :
بازگشت