Architecture Code Scene

Analysis of source code as a code scene with specialized tools

Architecture Code Scene

Purpose

Agile development teams shall manage and diminish their technical debt. We provide instruments to increase the pay-off of refactoring measures. The most relevant source code parts should be refactored first. But how can we identify them?

Git is the de facto standard for version management systems. Git contains the whole evolution story of our source code. We use these data to identify areas under repetitive change or often needing fixing. In parallel, the evolution of the source code hints us for complexity hotspots.

The three areas of statistical data are combined to identify the most promising area for refactoring. * History of commits reflecting the behavior and priorities of team members over time. * Evolution of source code artifacts reflecting changes in complexity and legibility. * Corrections of identified defects and their location identify non-quality hotspots.

The provided tools extract the requested indicators and present them graphically. The findings are used to support refactoring prioritization.

Requirements

  1. Gather changes in the repository artifacts over a specified time interval.

    1. The gathered data are date of change, the author of change, number of added lines and of removed lines.

    2. Each file change is gathered.

    3. Only the version management system git is supported.

  2. Gather complexity metrics over source code artifacts – classes and packages – over a specified time interval.

  3. Gather location and time when identified defects were fixed in the source code repository.

    1. use the official conventions to identify a closed ticket in a commit comment.

Modules, Packages, Classes and Files

architecture-code-scene-model