All Collections
Quick Guide
Pull request reports explained
Pull request reports explained

What are the elements in Softagram Impact Reports (video in the end)

Ville Laitila avatar
Written by Ville Laitila
Updated over a week ago

Softagram Impact Report is automatically sent to every code review event. Some services call them pull requests (e.g. GitHub, Bitbucket and Azure DevOps), some call them merge requests (at least GitLab) and we even know about patch sets (Gerrit).ย 

The impact report helps the author and reviewers ensure good quality code changes and easier reviews with the visual insights and automated checks.

The report appears in the pull request comments. For example, in GitHub it looks something like this:

Watch this short video to see and understand it in action:

How to read the Softagram Impact Report

1. Header

Header tells the pull request number (e.g. pull/3) and the latest commit id (888021a) 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 same report is updated.

2. Change Overview

The Change Overview graph shows you the changed code and its possible impact in one glance. You'll immediately see which parts of the codebase are touched (AssertionTets.java, and Assert.java etc in the example). The impact of the change "impacted" areas are seen clearly (in example, e.g. areas in Internal, Experimenta, and .e ComparisonFailure.java) are possibly intapacted by the changed files.

Color codes:

  • Green = new files and new dependencies

  • Orange = modified files

  • Red = removed files and removed dependencies

  • Blue = impacted files/areas

  • Grey = elements or dependencies that are not changed, but connected to changed elements via dependency changes (either using the changed files, or due added/removed dependencies)

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 impacted areas could be shown only in folder (component) level as in example.

3. Details of Dependency Changes

This graph illustrates only the removed, added and modified dependencies, and related elements 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).

4. Insights

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 automatically to each code review.

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 based on the history 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 predefined by the users. 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.ย 

5. 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 also open the pull request in Softagram Desktop. Please read this article of how to do that!

Did you have something that was not explained here?
โ€‹Don't hesitate to ask that via Chat, just click the icon on right bottom corner! ๐Ÿ‘‰

Did this answer your question?