DocumentCode
700384
Title
Identifying the exact fixing actions of static rule violation
Author
Oumarou, Hayatou ; Anquetil, Nicolas ; Etien, Anne ; Ducasse, Stephane ; Taiwe, Kolyang Dina
Author_Institution
Univ. of Maroua, Maroua, Cameroon
fYear
2015
fDate
2-6 March 2015
Firstpage
371
Lastpage
379
Abstract
We study good programming practices expressed in rules and detected by static analysis checkers such as PMD or FindBugs. To understand how violations to these rules are corrected and whether this can be automated, we need to identify in the source code where they appear and how they were fixed. This presents some similarities with research on understanding software bugs, their causes, their fixes, and how they could be avoided. The traditional method to identify how a bug or a rule violation were fixed consists in finding the commit that contains this fix and identifying what was changed in this commit. If the commit is small, all the lines changed are ascribed to the fixing of the rule violation or the bug. However, commits are not always atomic, and several fixes and even enhancements can be mixed in a single one (a large commit). In this case, it is impossible to detect which modifications contribute to which fix. In this paper, we are proposing a method that identifies precisely the modifications that are related to the correction of a rule violation. The same method could be applied to bug fixes, providing there is a test illustrating this bug. We validate our solution on a real world system and actual rules.
Keywords
program debugging; program diagnostics; source code (software); FindBugs; PMD; software bug fixes; source code; static analysis checkers; static rule violation; Abstracts; Computer bugs; Control systems; Programming; Software; Software algorithms; Syntactics;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on
Conference_Location
Montreal, QC
Type
conf
DOI
10.1109/SANER.2015.7081847
Filename
7081847
Link To Document