skip to main content
10.1145/3555228.3555281acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbesConference Proceedingsconference-collections
research-article

SysRepoAnalysis: A tool to analyze and identify critical areas of source code repositories

Published: 05 October 2022 Publication History

Abstract

SysRepoAnalysis is an open-source, multi-user web tool that allows online analysis of git repositories by extracting historical information from source code files over time, using mining software repository techniques. Such data can be useful for the development team to find critical areas of the code repository that have a high maintenance effort over time. The main metrics used are cyclomatic complexity, accumulation of LOC modifications (based on code-churn), and frequency of occurrence of files in commits over time. In addition, we use the composition of these metrics to find very complex source code files that are frequently modified and have many LOCs changed over time. Besides, to calculate these metrics, the tool allows the generation and display of a treemap of the repository’s directory and file structure and the rendering of a heatmap based on the metric chosen to be analyzed. Such features can be useful in helping the development team to find critical source code files or areas that contain such files. In this way, it can help the development team to make decisions regarding the choice of candidate files for refactorings that can generate a high maintenance effort. Among the main features of SysRepoAnalysis, we can highlight: control of user authentication and authorization, cloning and asynchronous analysis of user repositories (via message broker using producers and consumers), historical analysis and export of modified commits and files, calculation and export of results of the analyzed metrics and treemap generation of the repository’s directory and file structure, as well as the rendering of heatmap based on the metric chosen to be analyzed. The source code tool is published in GitHub repository1 and there is a presentation about the tool in Video2 3

References

[1]
Mauricio Aniche, Gabriele Bavota, Christoph Treude, Marco Aurelio Gerosa, and Arie van Deursen. 2018. Code smells for model-view-controller architectures. Empirical Software Engineering 23, 4 (2018), 2121–2157.
[2]
Rodrigo Avancini. 2021. Uma ferramenta de visualização de software para avaliação de uso de API no contexto de ecossistemas de software. (2021).
[3]
Shyam R Chidamber and Chris F Kemerer. 1994. A metrics suite for object oriented design. IEEE Transactions on software engineering 20, 6 (1994), 476–493.
[4]
Standard 90 Standards Coordinating Committee 1990. IEEE Standard Glossary of Software Engineering Terminology (IEEE Std 610.12-1990). New York, NY: The Institute of Electrical and Electronics Engineers (1990).
[5]
Jay Graylin, Joanne E Hale, Randy K Smith, Hale David, Nicholas A Kraft, WARD Charles, 2009. Cyclomatic complexity and lines of code: empirical evidence of a stable linear relationship. Journal of Software Engineering and Applications 2, 03(2009), 137.
[6]
Brian Johnson and Ben Shneiderman. 1998. Tree-maps: A space filling approach to the visualization of hierarchical information structures. Technical Report.
[7]
Ray Lawson. 1956. Implications of surface temperatures in the diagnosis of breast cancer. Canadian Medical Association Journal 75, 4 (1956), 309.
[8]
Gábor Szőke, Gábor Antal, Csaba Nagy, Rudolf Ferenc, and Tibor Gyimóthy. 2017. Empirical study on refactoring large-scale industrial systems and its effects on maintainability. Journal of Systems and Software 129 (2017), 107–126.
[9]
Adam Tornhill. 2018. Assessing technical debt in automated tests with CodeScene. In 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW). IEEE, 122–125.
[10]
Adam Tornhill. 2019. Your code as a crime scene. (2019).
[11]
Tiago Kenji Umemura. 2017. Uma ferramenta para monitoramento da entropia de mudança e sua relação com métricas de software. B.S. thesis. Universidade Tecnológica Federal do Paraná.
[12]
Richard Wettel and Michele Lanza. 2008. Codecity: 3d visualization of large-scale software. In Companion of the 30th international conference on Software engineering. 921–922.

Index Terms

  1. SysRepoAnalysis: A tool to analyze and identify critical areas of source code repositories

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    SBES '22: Proceedings of the XXXVI Brazilian Symposium on Software Engineering
    October 2022
    457 pages
    ISBN:9781450397353
    DOI:10.1145/3555228
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 05 October 2022

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Code Change Analysis
    2. Code Metrics
    3. Large-scale Software Systems
    4. Mining Software Repositories
    5. Software Maintenance and Evolution

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    • Cearense Foundation to Support Scientific and Technological Development

    Conference

    SBES 2022
    SBES 2022: XXXVI Brazilian Symposium on Software Engineering
    October 5 - 7, 2022
    Virtual Event, Brazil

    Acceptance Rates

    Overall Acceptance Rate 147 of 427 submissions, 34%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 86
      Total Downloads
    • Downloads (Last 12 months)13
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 15 Feb 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media