By applying machine learning (ML) to historical data, the tool – called Code Defect AI - is able to identify areas of the code that are potentially prone to bugs and then suggests a set of tests to diagnose and fix the flaws, resulting in higher-quality software and faster development times.
The later a defect is found in the development lifecycle, the higher the cost of fixing a bug. This bug-deployment-analysis-fix process is time consuming and costly. Code Defect AI allows earlier discovery of defects, minimizing the cost of fixing them and speeding the development cycle.
“It’s well known that software developers are under constant pressure to release code fast without compromising on quality,” said Walid Negm, Group Chief Innovation Officer at Altran. “The reality, however, is that the software release cycle needs more than automation of assembly and delivery activities. It needs algorithms that can help make strategic judgments ‒ especially as code gets more complex. Code Defect AI does exactly that.”
Code Defect AI relies on a variety of ML techniques including random decision forests, support vector machines, multilayer perceptron (MLP) and logistic regression. Historical data is extracted, pre-processed and labelled to train the algorithm and curate a reliable decision model. Developers are given a confidence score that predicts whether the code is compliant or presents the risk of containing bugs.
Code Defect AI supports integration with third-party analysis tools and can itself help identify bugs in a given program code. Additionally, the Code Defect AI tool allows developers to assess which features in the code have higher weightage in terms of bug prediction, i.e., if there are two features in the software that play a role in the assessment of a probable bug, which feature will take precedence.
Code Defect AI is a scalable solution that can be hosted on premise as well as on cloud computing platforms such as Microsoft Azure. While the solution currently supports GitHub, which is owned by Microsoft, it can be integrated with other source-code management tools as needed.