Managing Your Repository

Importing repository

After login you will be on the repository dashboard. Here you will get a list of the repositories from your GitHub account. On the left side, you will see the already imported repository to SoftaCheck along with the grade.

You can also search the repositories and apply the filter for finding public/private repositories.

For importing you can select either single or multiple repositories at once and click on import. Softachek will try to import all the selected repositories and run the analysis against its

issues Analysis

SoftaCheck provides a detailed analysis of issues. SoftaCheck uses two major tools for code analysis

  1. CPP Check

  2. Clang-Tidy

Both the tools independently run the analysis against your code and provide issues that you can check.

Issue page lists all the issues detected in your repository, including the severity of each issue. By default, you can see the issue of the default branch main or master. You can also check the issue for specific pull requests from the Pull Request section.

 

Type of issues

SoftaCheck identify various kind of issue that varies from Warnings, errors, information, etc.

Ignoring issue

You can click on  the icon to ignore issues.

SoftaCheck will longer report the issue after the next analysis of your repository.

Ignoring issues can be due to false-positive issues, the issue might be out of context for your code, you may consider a low priority issue.

You can also ignore the file where the original issue is reported from the option

SoftaCheck will no longer analyze that file on your repository, To remove an ignored file use the Ignored issue filter in the issue section.

You can select the ignored issue to view the issue that you’ve ignored. You can also restore the issue the same way.

Code snippet

SoftaCheck provides enhanced code snippets with context to understand the reported issue in your repository.

It’ll highlight the line where the actual issue is reported with the below details

  • What is the issue? Along with the line number and code snippet,

  • Direct link to that file line to quickly checkout 

  • The tool that reported the issue

Creating an issue in GitHub 

SoftaCheck provides a shortcut way to address any issue reported in analysis, you can open GitHub issue against the reported issue from here.

You can click on the (i) button while hovering over a specific issue. That will open up a modal with prefilled issue details. You can either modify or click on Create Issue.Once done it’ll create a GitHub issue for you, which you can check out in GitHub,

 

Pull Request Analysis

SoftaCheck will automatically analyze your code and check the code it introduces in Pull Request, giving you the opportunity to fix it before merging. 

SoftaCheck will sync all the pull requests made in GitHub to the platform. You can view it in the Pull Request Section.

Analysis of PR

In order to get the analysis of the pull request, make sure that you've enabled the target branch in the branch section. The analysis will not run for the pull request that is not made against the branch which is not enabled

Details analysis of PR

Once SoftaCheck detects that a new pull request is made against a branch, it will run code analysis against the code. You can have a detailed view of an issue that has been identified.

GitHub Checks

SoftaCheck will also provide the option to decorate the pull request with the GitHub App Checks. 

GitHub Apps that run powerful checks against code changes in a repository. The Checks allow you to build sophisticated tools for continuous integration (CI) and code quality tests.SoftaCheck GitHub check can directly integrate with your existing workflow and analyze your code in a pull request before merging.

You can have detailed annotations of each issue along with a summary. SoftaCheck will add details annotation with information about line detail, type of issue, link to that file. You can also check out more interactive issue information on the SoftaCheck website.

Branch Analysis

SoftaCheck will analyze the default branch main or master every time you make any changes. You can get all the branches and project details and branches. SoftaCheck will sync all the branches from GitHub in real-time.

Multiple branches for analysis

You’re not limited to running analysis on a single default branch. SoftaCheck allows you to select multiple branches to run analysis. You turn on/off from the repository details page. Once you make any changes to all future commits, the push will respect the settings. Any branch that is enabled in the repository - all the Pull Requests made towards this branch (set as target branch) will be analyzed.

Quality Grade Calculation

SoftaCheck provides code quality grade calculation that provides information about whether your code meets standards or not. It's a set of conditions that applies to the analysis result. Code quality depends on various factors such as type of error, number of warning frequency, etc.

How is your grade calculated?

SoftaCheck will run an analysis against all the files unless it’s ignored. Based on the analysis result it’ll assign a grade to each file and then the average of all the files will be considered as repository grade.

SoftaCheck can calculate the grade from range A (Highest) to F (Lowest) with various code codesLet’s check the below formula for grade calculation.

SoftaCheck will mark issues from code in two different categories. 

  1. Failures ( Errors )

  2. Warnings

To simplify the calculation every 25 warnings will be considered as 1 Failure (Error)

No of Failures ( Errors ) Range

Assign Grade

1

A

2 - 10

B

11 - 20

C

21 - 30

D

31 - 40

E

40 and above

F

Showcase your grade badge

SoftaCheck provides quality badges that you can showcase anywhere. You can easily integrate these badges into GitHub or pages.

You can go to your repository details pages to get your badge.

You can also get the all available format for a quality grade.

Feel free to choose from available format:

Code Documentation

The documentation helps keep track of all aspects of an application and it improves the quality of a software product. Its main focuses are development, maintenance, and knowledge transfer to other developers. 

SoftaCheck provides out of the box support to integrate and generate a de facto standard tool for generating documentation - DoxygenSoftaCheck generate documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL and to some extent D.

You can use SoftaCheck for documentation features only with other programming languages.

Accessing documentation

SoftaCheck generates the documentation for all the repositories by default and users don’t have to do anything. It can also generate the documentation for all the Pull Request that you access in the Pull Request tab

Customizing documentation

SoftaCheck provides a default Doxygen configuration file that can generate documentation for any programming language. 

However, you’re not limited to that. You can always modify the settings by creating a new configuration name “doxyfile”. SoftaCheck integrates Doxygen in such a way that provides developers with complete control over the documentation generation. You can use pretty much all the settings that Doxygen supports.Create a new file called “doxyfile” at the root of your project directory and commit the changes. SoftaCheck will generate documentation with provided configuration.

Sharing your documentation

SoftaCheck generates a unique link for your documentation for the repository. You can easily share it with others. Sharing doesn’t mean we don’t respect privacy and security. For any private GitHub Repository, SoftaCheck will always check with GitHub if the user has access to that repository or not. For public repositories, this is optional and ignored.