Skip to main content

Artificial Intelligence applied to code repair after code static analysis verification

Running

Running

Organisational Unit
Implementation progress
0%
15 December 2022

Duration: 18 months

Objective

On-board software quality is very important for the space industry so it is verified from the very beginning of the development. One of the first verifications is the code static analysis. It is mainly performed by tools checking adherence to coding rules. Then developer makes an effort checking all issues detected by the tool. Decreasing this effort maintaining the code quality will speed-up the on-board SW development.

Several automated repair tools have arisen in the industry in last years with more or less success. However, only few approaches have followed a data-driven approach despite millions of open-source projects are now available in popular code repositories. By following a data-driven approach, huge code repositories containing large development histories could be mined, thus extracting powerful human expertise buried in data in return.

Advances in last two years in Artificial Intelligence (AI) (in particular, in NLP) have drastically changed the landscape of automated code refinement. Concretely, several approaches relying on Neural Machine Translation, such as: GraphCodeBERT (Guo et al., 2021), or CodeT5 (Wang et al., 2021) have achieved SOTA results on “translating” buggy code into clean one. First studies have shown bugfix perfection 10-20% of times, and in other cases fix suggestions greatly help developers. These first AI advancements on high-level code encourage us to demonstrate its feasibility on low-level programming languages, usually present in on-board development. Given that low-level languages like C are still infamous for its high complexity, this task may be seen as non-trivial. At the same time, extra nuances are added to the challenge considering how special is on-board SW development (e.g.: extra security efforts).

This work aims at fulfilling this gap by creating an AI-based solution capable of automatically repairing code with the lowest human intervention, and with better performance than previous non-AI commercial solutions.

Contract number
4000140197
Programme
OSIP Idea Id
I-2022-01179
Related OSIP Campaign
New concepts for onboard software development
Subcontractors
UNIVERSIDAD DE ALCALA - UAH
Main application area
Generic for multiple space applications
Budget
175000€
Artificial Intelligence applied to code repair after code static analysis verification - 2133