KPIs

Key Performance Indicator

Key Performance Indicator (KPI) helps you effectively track the performance of your source code based on maintainability, reusability, functionality, and 7 others parameters.

The performance of your repository based on KPIs can be seen on the Repository dashboard page.

The below image summarizes the performance of the Groovy repository. It shows that the source code is not easy to maintain. It also scores low on security and needs immediate attention to the code issues affecting security and maintainability.

2614

KPI

Description

Accuracy

Characterizes functional correctness of the software and the amount of functional defect.

Adaptability

Characterizes the number of changes needed for the adaption of software to different specified environments.

Analyzability

Ability of diagnosis of deficiencies or causes of failures, or for identification of parts to be modified.

Changeability

Characterizes the amount of effort needed for modification, fault removal or for environmental change.

Conceptual Integrity

Defines the consistency and coherence of the overall design. This includes the way that components or modules are designed, as well as factors such as coding style and variable naming.

Efficiency

Depicts the reliability of the software. It can be achieved by removing redundant code and following coding standards.

Functionality

Characterizes the ability of the software to adhere to the functional requirements. It assures that the function can perform a task smoothly to keep its quality intact.

Maintainability

Characterizes the ease and speed with which code can be modified or extended to optimise the existing functionality and enhance the quality of the product.

Portability

Allows moving software from one platform (hardware/software platform) to other platforms. This helps to port software or product among different environments.

Programmability

Characterizes the effort needed for validating the software and about the test coverage. Good stability makes it more likely that faults in a system can be isolated in a timely and effective manner.

Reliability

Characterizes frequency of failure, ability to withstand component failure, ability to recover from a failed state.

Replaceability

Characterizes the plug and play aspect of software components, that is how easy it is to exchange a given software component with a specified environment.

Resource Utilization

Characterizes behavior of software from a resource perspective ( e.g. CPU, disk, network usage, etc).

Robustness

Characterizes the ability to cope with unknown errors during execution or the ability of an algorithm to continue to operate despite abnormalities in input, calculations, etc.

Security

Protects the software from malicious attacks and threats that help software retain its integrity and authentication.

Stability

Characterizes the risk of unexpected or negative effects as a result of the modification.

Testability

Characterizes the effort needed for validating the software and about the test coverage. Good stability makes it more likely that faults in a system can be isolated in a timely and effective manner.