New tool, ‘Code Defect AI,’ allows earlier discovery of bugs, minimizing the cost to fix them and speeding up the development cycle.
Altran, the global leader in engineering and R&D services, today announced the release of a new tool available on GitHub that predicts the likelihood of bugs in source code created by developers early in the software development process. By applying machine learning (ML) to historical data, the tool – called “Code Defect AI” – identifies areas of the code that are potentially buggy and then suggests a set of tests to diagnose and fix the flaws, resulting in higher-quality software and faster development times.
Bugs are a fact of life in software development. 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 various 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.