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
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;
Conference_Titel :
Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on
Conference_Location :
Montreal, QC
DOI :
10.1109/SANER.2015.7081847