Microsoft and Altran, the design and engineering firm recently acquired by Capgemini, have collaborated to develop an AI-based tool to predict the likelihood of bugs in source codes 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.
“Microsoft and Altran have been working together to improve the software development cycle, and Code Defect AI, powered by Microsoft Azure, is an innovative tool that can help software developers through the use of machine learning,” said David Carmona, General Manager of AI Marketing at Microsoft.
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.