Automated Program Repair (2022-27)
MoE Tier 3
Abhik Roychoudhury
WN Chin, Ilya Sergey
8 Feb 2024
MoE Tier 3 APR – Launch with FSE2022
2
NUS APR Workshop � February 2024
MoE Tier 3: Automated Program Repair
Mission (2022-27): programming of tomorrow
“… provide foundations and tools for developing and maintaining trustworthy software systems, by detecting potential errors in them and by constructing correct fixes in a fully automated manner. As changes are introduced into programs in the course of their life cycle, the programs are being checked and “healed”, if needed, by applying automated repairs. Instead of treating a software system as a passive entity and validating it once and for all, we view it as a “living thing”, which can (provably) protect itself from pernicious changes, via APR.”
PRODUCTIVITY
EDUCATION
SECURITY
3
NUS APR Workshop � February 2024
MoE Tier 3: Automated Program Repair
4
NUS APR Workshop � February 2024
Mission (2022-27)
Combine research from program analysis, verification, and test generation to achieve the the vision of self-healing software.
�Achievements (2022-23)
PRODUCTIVITY
SECURITY
EDUCATION
5
NUS APR Workshop � February 2024
Static Analysis driven Program Repair (FSE23)
6
NUS APR Workshop � February 2024
Temporal Property guided Program Repair (FSE24)
Yahui Song1, Xiang Gao2, Wenhua Li1, Wei-Ngan Chin1, Abhik Roychoudhury1
1National University of Singapore, 2Beihang University
protocol applications, e.g., OpenSSL.
7
NUS APR Workshop � February 2024
Trustworthy Automated Programming (ICSE23)
Understanding the task description is still difficult
Automated Repair of Programs from Large Language Models
Z Fan, X Gao, M Mirchev, A Roychoudhury, SH Tan
2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)
8
NUS APR Workshop � February 2024
Intelligent Tutoring System (ICSE24)
9
NUS APR Workshop � February 2024
First International APR Competition
https://apr-comp.github.io
10
NUS APR Workshop � February 2024
Student Assignments
02
Functionality Errors
01
AI Code Errors
03
11
NUS APR Workshop � February 2024
Competition Insights
1
Fix Localization is still a Challenge
Repair tools cannot identify fix locations that would lead to a plausible repair
2
Impact of Bit Rot is High
Dependencies used by the state of the art repair tools are outdated and does not work on newer software programs
3
Fine-Tuned LLM outperforms GPT4
Fine-tuned models for repair based on CodeLLAMA and StarCoder outperforms GPT4
4
Patch Validation is Overlooked
Test execution prioritization, test case selection and test case reduction can be used to improve patch validation
12
NUS APR Workshop � February 2024