DocumentCode :
2866232
Title :
How often do unintended inconsistencies happen? Deriving modification patterns and detecting overlooked code fragments
Author :
Higo, Y. ; Kusumoto, Shinji
Author_Institution :
Grad. Sch. of Inf. Sci. & Technol., Osaka Univ., Suita, Japan
fYear :
2012
fDate :
23-28 Sept. 2012
Firstpage :
222
Lastpage :
231
Abstract :
It is difficult to keep consistent source code. Unintended inconsistencies occur unless we recognize all the code fragments that need to modify in a given bug fix or functional addition. Before modifying source code, keyword-based search tools like grep or code clone detection tools can be used to prevent code fragments from being overlooked. However, once inconsistencies occur in the source code, such tools cannot help us adequately. In this paper, we propose a new method to identify unintended inconsistencies in source code automatically. The proposed method analyzes source code modifications in a repository to derive modification patterns. A modification pattern indicates what kind of code and how it was modified. The derived modification patterns are queries to identify unintended inconsistencies from the latest version of source files. We implemented the proposed method and applied it to FreeBSD and Apache HTTPD. As a result, we identified many overlooked code fragments for bug fixes, functional enhancements, and refactorings. The precisions were 73.4% and 88.9% for the two systems, respectively.
Keywords :
program debugging; program diagnostics; software maintenance; source coding; Apache HTTPD; FreeBSD; bug fixes; code clone detection tools; code fragment prevention; consistent source code; functional addition; functional enhancements; functional refactorings; grep tool; keyword-based search tools; modification pattern derivation; overlooked code fragment detection; source code modification analysis; static analysis; unintended inconsistencies identification; Cloning; Computer bugs; Conferences; Data mining; Encoding; Open source software; Software maintenance; Inconsistency detection; Modification patterns; Static analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance (ICSM), 2012 28th IEEE International Conference on
Conference_Location :
Trento
ISSN :
1063-6773
Print_ISBN :
978-1-4673-2313-0
Type :
conf
DOI :
10.1109/ICSM.2012.6405275
Filename :
6405275
Link To Document :
بازگشت