• 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