In real life scenarios, it is often seen that developers due to many unavoidable circumstances end up checking-in erroneous codes into an SCM tool that does not adhere to the code quality standards defined at project level. This makes managing the quality and discipline of maintaining different Industry Standards extremely difficult in shorter time-to-market environments. Avoiding compliance with coding standards early in the development stage causes rework, incremental issues, and delivery delays.
It is important that organizations implement a system for constant monitoring of stability and functionality of codes, and thus have granular measurements in place at all development stages.
In order to address this code compliance enforcement issue Kovair has joined hands with LDRA –www.LDRA.com and released its Omnibus adapter/connector for LDRA Testbed. The announcement of Kovair-LDRA integration was recently made in ESSS 2015 show at Bangalore.
LDRA Testbed provides the means to enforce compliance with coding standards such as MISRA, JSF++ AV, CERT C, and CWE and provides visibility of software flaws that might typically pass through the normal build and test processes and become latent problems.
How Kovair supports LDRA code compliance
Kovair integrates with LDRA through the Omnibus LDRA adapter/connector. This adapter/connector enables bi-directional synchronization between LDRA Testbed and Kovair Omnibus. While a developer checks in code at any SCM tool, Kovair intercepts the check-in process. A pop-up of Omnibus dialog box appears on screen showing a list of LDRA code analysis methodologies that a developer should select and run as specified. Thus, it restricts developers from checking-in their erroneous codes into an SCM tool. Rules can be set in such a way that every piece of code has to be first analyzed by LDRA before getting checked in into the SCM system.
Once the LDRA tests are completed, developers can view the execution results from the IDE itself. These test results produced by LDRA can also be pushed to other relevant ALM tools that are connected to the ecosystem for deriving an end-to-end traceability.
Thus, Kovair enables organizations to enforce LDRA compliance test as a mandatory step for their development teams, ensuring early identification and fixing of errors prior to being checked into the source control system.
A Sample Business Scenario
Let us consider a very common use case scenario in an organization and see how the integration between Kovair Omnibus, LDRA and other tools facilitates effective management of the development cycle and ensures code quality.
The scenario circles around a multi-tool environment setup where Requirements are getting managed in IBM DOORS; IBM RTRT being used as an IDE; IBM ClearCase as the source control tool; LDRA Testbed as the source code analyzer; JIRA as the defect tracking tool and Jenkins as the Build management tool. If none of these tools are connected to each other, manual interventions are required at every stage starting from requirements analysis, code check-in, code analysis, repair of erroneous codes to successful build.
This kind of environment brings in quite a many challenges in the lifecycle as follows.
- Developers lack visibility for source codes being analyzed in LDRA with respect to the requirements in DOORS.
- Developers need to hop across multiple tools to perform code analysis, code check-ins or to trigger build process.
- Developers need to manually enter the failed LDRA tested codes to JIRA for defect removal which is error-prone and labor-intensive.
- Project managers lack visibility of the entire chain of development artifacts and a complete traceability.
Kovair Omnibus Integration Platform addresses all these challenges by setting up an integration hub and connecting all the above mentioned tools. For better understanding, we show the Kovair solution through a Use Case and its diagrammatic representation involving each of the above mentioned tools.
1. A Requirement is added in DOORS.
2. The Requirement is visible to the developer from the Kovair Omnibus plug-in for RTRT.
3. The Developer writes codes in the RTRT IDE.
4. While checking in codes to ClearCase through the ClearCase plug-in for LDRA, the system prompts to analyze the code in the LDRA tool.
5. If the analysis yields the execution result as ‘Pass’, the developer can successfully check-in the code to ClearCase. At the time of check-in, the system opens the list of Requirements and enables to link the code files to the relevant requirements.
6. On successful check-in, a Build process gets initiated at Jenkins.
7. If LDRA execution result returns as ‘Fail’, the code check-in process automatically gets aborted and a defect gets automatically created in JIRA.
8. Once linked to the Requirements and fixed, the code gets successfully checked-in to ClearCase.
9. The defects automatically flow to any other defect management tool like JIRA through Omnibus for required fixes.
10. Developer checks-in the fixed codes and then repeats the LDRA test for analysis.
Now let us come to the value propositions of this integration solution that we think are the most crucial ones.
- Ability of developers to view all artifacts from their preferred IDE and no need to login to multiple tools to monitor the progress status.
- Imposition of code quality standards into the system
- Management of build and defects centrally and remotely
- Viewing of LDRA results directly from the IDE
- Complete visibility of the entire chain of development artifacts from Requirements -> Code File -> Code analysis result (HTML) -> Defect -> Build ->Build Result
Thus, Kovair in association with LDRA fuels the development of Safety Critical Software and maximizes the value of LDRA tool investment. Coupled with Kovair application and Omnibus integration technology, LDRA provides a Continuous Integration (CI) platform to its users that automates and manages the development process for large-scale, system-level software projects. To view live demonstration of this integration solution, please email us at firstname.lastname@example.org.