DocumentCode
647224
Title
Mining system specific rules from change patterns
Author
Hora, Andre ; Anquetil, Nicolas ; Ducasse, Stephane ; Valente, Marco Tulio
Author_Institution
RMoD Team, Inria, Lille, France
fYear
2013
fDate
14-17 Oct. 2013
Firstpage
331
Lastpage
340
Abstract
A significant percentage of warnings reported by tools to detect coding standard violations are false positives. Thus, there are some works dedicated to provide better rules by mining them from source code history, analyzing bug-fixes or changes between system releases. However, software evolves over time, and during development not only bugs are fixed, but also features are added, and code is refactored. In such cases, changes must be consistently applied in source code to avoid maintenance problems. In this paper, we propose to extract system specific rules by mining systematic changes over source code history, i.e., not just from bug-fixes or system releases, to ensure that changes are consistently applied over source code. We focus on structural changes done to support API modification or evolution with the goal of providing better rules to developers. Also, rules are mined from predefined rule patterns that ensure their quality. In order to assess the precision of such specific rules to detect real violations, we compare them with generic rules provided by tools to detect coding standard violations on four real world systems covering two programming languages. The results show that specific rules are more precise in identifying real violations in source code than generic ones, and thus can complement them.
Keywords
application program interfaces; data mining; program debugging; software maintenance; API evolution; API modification; bug-fixes analysis; change patterns; code refactoring; coding standard violation detection; source code history mining; structural changes; system specific rule extraction; system specific rule mining; systematic change mining; Data mining; Encoding; History; Java; Receivers; Software; Standards;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering (WCRE), 2013 20th Working Conference on
Conference_Location
Koblenz
Type
conf
DOI
10.1109/WCRE.2013.6671308
Filename
6671308
Link To Document