Abstract:
Sharing and preserving coding best practices among the developers are becoming an important objective of software development life cycle. Because violations on coding best practices may lead to catastrophic events which are costly and time consuming. There has been numerous researches done in order to mitigate the issues related to bad coding practices. One of the most challenging tasks towards mitigating this is to identify the skill level of the developers, coding patterns and likelihood for bad coding practices. The widely used methods for this are conducting one on one interview with the developers and review developers work. This particular research tried to contribute to the field of software architecture by analyzing the feasibility of using machine data to identify the developer coding patterns and related data and provide a mechanism to enhance the skills of a developer. By doing that it makes sure an organization can share and preserve the coding best practices within an organization. This research focused on developing a parsing mechanism to collect those data from various file formats and types. For this research scope it focused on the static code analysis tool called FindBugs and log data. A successful parser of logs formatted in XML has been developed. A central data storage architecture has been developed in order to capture data from various sources which are different from each other. Collected data analyzed to generate information about the developers' pattern in doing mistakes and coding styles. To prove that analyzing programmer data for a significant period can predict their abilities and weaknesses an evaluation has been carried out. The evaluation compare data from developer spot interviews with developers' log analyzed data. With those comparisons it identified log data results can match the interview results in an 80% success rate.