Artificial Intelligence applied to code repair after code static analysis verification

On-board software quality is crucial for the space industry and is verified from the early stages of development. One of the first steps is static code analysis, performed by tools that assess adherence to coding standards. Developers then need to correct the identified issues, which can be labor-intensive. Reducing this effort is key to accelerating on-board software development.
In recent years, several automated repair tools have emerged, although few have adopted a data-driven approach, despite the availability of millions of open-source projects in popular repositories. With recent advancements in Artificial Intelligence (AI), especially in Natural Language Processing (NLP), innovative approaches have been developed to "translate" buggy code into clean code, showing promising performance.
This work aimed to address the lack of effective solutions for low-level languages, such as C, which are common in on-board development. By creating an AI solution capable of automatically repairing code with minimal human intervention, we expect to surpass the limitations of previous commercial tools. Key objectives included developing an automated system for fixing code vulnerabilities in low-level languages, bridging the gap between learning-based automated fixing and on-board development, enhancing performance using advanced models like GPT-3 or CodeT5, and evaluating the impact of automation on development processes and resource efficiency.