Softagram Impact Report is an automatically created change analysis for every pull request (Bitbucket/AzureDevOps/GitHub), merge request (GitLab) or patch set (Gerrit). It helps the author and reviewers to ensure the quality of the change faster with the visual aid and automated dependency checks.
The report appears in the pull request comments. For example, in GitHub it looks like this:
How to read Softagram Impact Reports
Header tells the pull request number (e.g. pull/2) and the latest commit id (a3c10a3) where the analysis is based on. Note that Softagram keeps only one report in the pull request at a time. Whenever new commits are added, the report is updated.
This graph shows you the changed code and its possible impact in one glance. You'll immediately see which parts of the codebase are touched (tests/assertion and Assert.java files in example). The impact of the change is seen also clearly.
- Green = new files
- Yellow = modified files
- Red = removed files
- Blue = impacted files
Note that if the change is large, the graph is automatically abstracted to provide only a meaningful amount of information. That's why some elements are shown in higher level. For example, function changes are shown in class or file level and file changes could be shown only in folder (component) level.
Details of Dependency Changes
This graph illustrates all the removed, added and modified dependencies in this particular pull request. It also shows all new or changed elements (the ones with new dependencies) as well as all added dependencies to external libraries (including any built-in libraries of your programming language).
Insights are optional value added information that are present when an actionable issues are found. Currently Softagram provides Co-Change Alerts and Dependency Rule violations.
Co-change Alerts are analysed automatically with a machine learning algorithm based on the change history of the projects. The system automatically detects which files are most likely to be changed at the same time and alerts if this given pull request is changing only one of them without the others.
Dependency Rule Violations will alert if you are trying to introduce a new unwanted dependency in this pull request. Rules are pre-defined by the users, Softagram does not (yet) automatically detect them. Existing rule violations are seen in the graph with exclamation marks, but only the violations added or removed by this pull request are described in text.
Full Report and more details
You can open the full impact report also in Softagram web UI, giving you even more details of the change. If you want to go on a very fine-grained level with the dependencies and impact, you can open the pull request in Softagram Desktop. Please read this article of how to do that!
Watch this short video to see and understand it in action:
Did you have something that was not explained here?
Don't hesitate to ask that via Chat! 👉