Investigation of Coding Violations Focusing on Authorships of Source Files

While static code analysis tools would be helpful in reviewing source code, they have not been actively utilized in practice. One of main reasons why they are not used by practitioners has been said that such tools output many warnings (violations to predefined rules) but most of them are false positive. Thus, there have been studies evaluating violations in the past. This paper focuses on one of such studies, which evaluates violations using their change patterns over releases. Then, the paper examines an impact of authorship on those violation evaluations because a preference of a certain programmer may have an affect on a creation or modification of violation. This paper collects violations made by a popular static code analysis tool, PMD, from seven open source software projects. The set of collected data is divided into two subsets according to the authorship of source file: the set of violations appearing in source files which have been developed and maintained by a single programmer (single-authored files) vs. the set of ones appearing in source files which have been done by two or more programmers (multi-authored files). The results of data analyses show the following findings: (1) the difference in the authoring type has significant impacts on the trends of violations and their evaluations; (2) while important violations tend to vary from project to project and from person to person, about 30% of violations would be commonly worthless across projects for many programmers.

[1]  Leon Moonen,et al.  Assessing the value of coding standards: An empirical study , 2008, 2008 IEEE International Conference on Software Maintenance.

[2]  Jianjun Zhao,et al.  EFindBugs: Effective Error Ranking for FindBugs , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[3]  Michael E. Fagan Advances in software inspections , 1986, IEEE Transactions on Software Engineering.

[4]  Michael D. Ernst,et al.  Which warnings should I fix first? , 2007, ESEC-FSE '07.

[5]  Robert W. Bowdidge,et al.  Why don't software developers use static analysis tools to find bugs? , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[6]  David Hovemeyer,et al.  Tracking defect warnings across versions , 2006, MSR '06.

[7]  Hoh Peter In,et al.  A Study of Different Coding Styles Affecting Code Readability , 2013 .

[8]  Michael Gertz,et al.  Mining email social networks , 2006, MSR '06.

[9]  Hirohisa Aman,et al.  Examination of Coding Violations Focusing on Their Change Patterns over Releases , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).