Browsing by Author "Silva, Diogo Filipe Ribeiro"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
- GIT ProfilingPublication . Silva, Diogo Filipe Ribeiro; Bettencourt, Nuno Miguel GomesThis dissertation was written with the objective of creating and objectively defining software developers profiles. In order to support the proposed profiles, data was extracted and transformed from GIT repositories by an automated process. This automation was achieved by having an application that runs a combination of commands from GIT and Git Quick Stats and allows the consumption of the transformed output of these commands via an Application Programming Interface (API). A client application was also developed that would aid in the validation of the profiles and would provide a dashboard like User Interface (UI). The client application is able to query a Representational State Transfer (REST) service endpoint to get the available information from the serve and run a keyword match algorithm counts the hits on a certain profile. The keywords serve as a dictionary of terms that can be found in commit messages, file names or comments. The final dashboard is able to represent the repository and profiles information while also, providing a way to compare multiple repositories. The profiles are also presented as trends since the developer has more than just one type of contribution. In an effort to increase the confidence of the results that were the outcome of this automated process, manual checks were made to ensure that the right conclusions were reached regarding the profiles definitions. The design and architecture of the applications developed follows a traditional client and server approach which allowed for the separation of the responsibilities as was described above. In order to validate that the application was behaving correctly, metrics regarding the execution times and memory consumption were collected. Limitations with the developed work were also described since there are external systems that are usually used in conjunction with GIT repositories that contain information that could be used to increase the accuracy of the profiles. On a more technical level, some improvements to the overall architecture were also suggested that could enhance the final experience. Finally, some future work was also theorised that included the seniority or expansion of profiles by integrating external systems that contain more information.