This is a replication package for the paper "Recognizing Lines of Code Violating Company-Specific Coding Guidelines Using Machine Learning - A Method and Its Evaluation" submitted to the Empirical Software Engineering journal.
It contains the results and inputs for the analysis of applying py-ccflex to identify lines violating Sun's and Google's coding conventions in the source code of three Java-based products:
- Eclipse Platform
- Sprint Framework
- Jasper Reports
If you want to quickly proceed to the analysis, please go directly to the Analysis.ipynb notebook.
The repository contains the following contents:
- ./codebase - contains the archive with the source code of the Java projects
- ./configs - contains Checkstyle and CCFlex configurations (for the latter, you will have to modify the paths in the file locations.json so they correspond to the locations on your computer)
- ./data - a folder with the files generated by Checkstyle and CCFlex (this is the basis for the analysis)
- Analysis.ipynb - a jupter notebook with the main analysis (you might have to modify some paths, again)
- Results.ipynb - a jupyter notebook generating tables and figures
- <standard>-<codbase>-results.csv - the output files from the analysis (e.g., google-all-results.csv)