SPL Governance
SPL Governance will help you manage your code better. From measuring architectural complexity, to identifying what parts of your code are easiest to refactor and migrate to a micro-service and cloud architecture. SPL Governance will help you understand the impact of planned changes, and aid you in making the right decisions at the right time.
Quality Assessment (Complexity, Dead Code)
Description
Complexity is measured by looking at the level of dependencies between classes in the code-base. SPL Solution applies a K-core complexity analysis algorithm to measure the connectivity of classes with each other.
Business Value
This complexity analysis allows you to evaluate the application architecture and understand whether it is overly complex. It can be used to compare the work of developers and to evaluate the applicability of migrating to a modular architecture.
External Library Auditing (security flaw)
Description
This tool highlights external libraries that are used in the implementation of the function, as well the version used. During the parsing stage, dependencies with external libraries are also extracted.
Business Value
This analysis provides an end-to-end traceability link from function to library. It supports code vulnerability auditing and highlights where old versions of the library are still being used. It will show the quality and vulnerabilities of these libraries.
Change Impact Analysis Viewer
Description
This tool helps to analyze the scope of the impact when changing a particular class or low-level class. It shows the impact on the overall system functionalities. This is achieved by tracing the dependency links of a particular class with application functions.
Business Value
This function is not only vital to identifying the impact of changes before integrating them into the code base, but it is also key to properly planning regression testing.
Refactoring Points Identification
Description
Integration/Refactor Points are shared classes between particular set of functions or modules.
Business Value
SPL Solution studies the intersection points between a set of functionaries, as well as application modules. It allows you to identify the refactoring points when partitioning the functionality. Furthermore, it will identify classes that can be shared in common libraries. It also supports integration testing when multiple teams are involved in the development of the same application.
Service Partitioning and Function Slicing
Description
SPL helps to partition the source code based on the functionality of the system. Each function becomes self contained and fully compilable.
Business Value
Software Engineers can select different sets of functionalities to partition, and the SPL Solution engine creates a new, fully deployable version of the code that contains only the source code of the selected functionalities.
Common Codebase Extraction
Description
Core software snits are software classes that are common across multiple applications. They are highly connected with the rest of classes, and SPL calculates the number of functions that each class is realizing per class on the code-base.
Business Value
This helps developers avoid code cloning when migrating each function to a micro-service. It promotes the creation of shared libraries across the identified functionalities and helps you study the impact of changing certain classes on the system functionalities.