Codegrip-grading-system-banner

All About Codegrip Grading System

All About Codegrip Grading System

Our grades imply a status-quo of your project’s current status. We calculate the grades based on the issue density (severity of every issue) in correlation with globally accepted coding conventions.

The issues are categorized based on their-severity as blockers, critical, major, minor, and info. All severity is determined based on the impact every issue has on the overall functioning of the project. 

  • Blockers will ultimately hinder the overall functioning of the project. 
  • Critical may not stop the project from functioning but will cause random failures while functioning. 
  • Major issues cause projects to fail in high-demand situations.
  • Minor issues may never cause any significant functional failure to the project but may still have implications on boundary level performance.
  • Info is not necessarily an issue but is a coding style that may otherwise build up to errors.

 

Reliability Rating

Reliability Rating is impacted by the presence of potential bugs or codes that do not have the expected behavior at runtime. All bugs that have to do with operational risks or unexpected runtime behavior are grouped under reliability rating. These bugs are critical programming errors that could cause business disruption.

These issues are detected by in-depth analysis and symbolic execution of the code to understand the state of variables at any given point in the program. Here are the different rating grades and their parameters-

GradeType of Bugs
A0 Bugs
B1 or more Minor Bug
C1 or more Major Bug
D1 or more Critical Bug
E1 or more Blocker Bug

Security

The security rating is impacted by vulnerabilities or flaws in the program that can lead to the application differently than it was designed.

Security vulnerabilities such as SQL injection or cross-site scripting can result from coding oversight and bad practices. We cover the security issues as prescribed by CWE and CERT. Here is what the different ratings mean-

GradeType of Vulnerability
A0 Vulnerabilities
B1 or more Minor Vulnerability
C1 or more Major Vulnerability
D1 or more Critical Vulnerability
E1 or more Blocker Vulnerability

 

Maintainability

Maintainability refers to technical debt in the code caused due to code smells.

Softwares changes over time, which means that the code written today will be updated tomorrow. The ability, cost, and time to make such changes in a code base correlate directly to its level of maintainability. In other words, low maintainability means low velocity for development teams.

Maintainability includes many concepts such as modularity, understandability, changeability, testability, and reusability. It usually does not have critical issues but is instead the culmination of thousands of minor issues. We call these issues “Code Smells.” 

Here is everything you need to know about the code smells.

The Maintainability rating scale can determine by looking at outstanding technical debt vs the time that is already spent on clearing the pre-existing issues.

Grade(%) Time needed to improve the rating
in comparison with them needed for making
Aless than 5%
Bbetween 6 to 10%
Cbetween 11 to 20%
Dbetween 21 to 50%
Eanything over 50%

 

Technical Debt

The effort needed to fix all reliability, security, and Maintainability issues are the technical debt a project has. Technical Debt is measured as a unit of time.

Duplications

Line wise analysis of the block of code in your projects is done to find the duplicate blocks throughout the project, and the location of duplicates are displayed. 

Duplicated lines (%) is calculated by dividing duplicated lines by total lines and multiplying it by 100.

Know more about Duplication.

Code coverage

On each line of code containing some boolean expressions, the condition coverage answers the following question: “Has each boolean expression been evaluated both to true and false?”’. Code Coverage signifies the density of possible conditions inflow control structures that have been followed during unit execution.

These are the different aspects that help validate the quality of code using CodeGrip. Code Quality should not be assessed on just one or two factors but considering the different elements mentioned above. CodeGrip also allows the admin user to customize the reporting and define blockers and categorization of issues. This way, you can create the standards that work for you. 

Know more about code coverage.

If you have any questions that we can answer for you can simply reach us at team@codegrip.tech

Post a Comment