Visualizing Project Evolution Through Abstract Syntax Tree Analysis

Uložené v:
Podrobná bibliografia
Názov: Visualizing Project Evolution Through Abstract Syntax Tree Analysis
Autori: Feist, M.D., Santos, E.A., Watts, I., Hindle, Abram
Rok vydania: 2016
Zbierka: University of Alberta: Era - Education and Research Archive
Predmety: project evolution visualization, abstract syntax tree analysis, source code repositories, software projects, Java source code repositories, AST, TypeV, file coverage
Popis: What is a developer's contribution to a repository? By only counting commits and number of lines changed, existing tools that visualize source code repositories (such as GitHub's graphs) fall short on showing the effective contributions made by each developer. When many commits are viewed as a group, the details are lost. Commit information can be misleading since lines of code give no indication of what was actually being worked on without careful examination of the changed code. Providing a semantic view of this information could provide deeper insights into how software projects evolve since changes to design and features are not clearly visible from line changes alone. We present TypeV: a method for visualizing Java source code repositories. Instead of counting line changes in a commit we extract detailed type information over time by using the differences between abstract syntax trees (ASTs). We are then able to track the additions and deletions of declarations and invocations for each type. Furthermore, we can track each author's type usage over time. Using TypeV, we examine specific cases in well-known repositories where our tool reveals interesting and useful information. We then compare type coverage information from the AST compared to file coverage to determine if unique information is provided by type information.
Druh dokumentu: other/unknown material
Popis súboru: application/pdf
Jazyk: English
DOI: 10.7939/r3-9tjm-6n75
Dostupnosť: https://doi.org/10.7939/r3-9tjm-6n75
Rights: http://creativecommons.org/licenses/by/4.0/
Prístupové číslo: edsbas.12CEDAFF
Databáza: BASE
Popis
Abstrakt:What is a developer's contribution to a repository? By only counting commits and number of lines changed, existing tools that visualize source code repositories (such as GitHub's graphs) fall short on showing the effective contributions made by each developer. When many commits are viewed as a group, the details are lost. Commit information can be misleading since lines of code give no indication of what was actually being worked on without careful examination of the changed code. Providing a semantic view of this information could provide deeper insights into how software projects evolve since changes to design and features are not clearly visible from line changes alone. We present TypeV: a method for visualizing Java source code repositories. Instead of counting line changes in a commit we extract detailed type information over time by using the differences between abstract syntax trees (ASTs). We are then able to track the additions and deletions of declarations and invocations for each type. Furthermore, we can track each author's type usage over time. Using TypeV, we examine specific cases in well-known repositories where our tool reveals interesting and useful information. We then compare type coverage information from the AST compared to file coverage to determine if unique information is provided by type information.
DOI:10.7939/r3-9tjm-6n75