HomeProjects

NLP for Automated Program Repair

Principal Investigator: Sandareka Wickramanayake

We propose to advance automated program repair by leveraging natural language processing techniques, iterative repair strategies, and explainable AI frameworks to enhance accuracy, robustness, and interpretability of repair systems.

Automated program repair (APR) seeks to reduce the effort required to identify and fix errors in source code by developing systems capable of suggesting or applying corrections automatically. While significant progress has been made, challenges remain in handling complex, multi-line bugs and in ensuring that repair systems are both accurate and interpretable.
This project investigates how natural language processing methods can be applied to model source code for automated repair tasks. Iterative and multi-line repair strategies are explored to better capture the context and dependencies within code, improving the quality of generated fixes. Fusion-based approaches are designed to integrate multiple repair techniques, enabling complementary strengths to be leveraged within a single framework.
In addition, explainable AI (XAI) methods are incorporated to improve the transparency and trustworthiness of repair recommendations. Evaluation frameworks and benchmarks are proposed to systematically measure the effectiveness, robustness, and interpretability of APR systems. By combining NLP-driven modeling, iterative strategies, and explainability, this research contributes toward the development of more powerful and reliable automated program repair systems.

Objectives:

  • Develop natural language processing methods to model and understand source code for automated repair tasks.
  • Investigate iterative and multi-line repair strategies that improve the accuracy and robustness of automated fixes.
  • Explore explainable AI (XAI) frameworks to enhance the interpretability and transparency of repair suggestions.
  • Integrate fusion-based and hybrid approaches to combine multiple repair strategies effectively.
  • Establish evaluation methods and benchmarks to assess performance, interpretability, and generalizability of automated program repair systems.


Keywords: Machine Learning / Deep Learning | Natural Language Processing |




Publications

Workshop Papers

Team

External Collaborators: | Ridwan Shariffdeen |


Faculty

Nisansa de Silva

Senior Lecturer
University of Moratuwa

Alumni-Undergraduates

Ayesh Vininda

Software Engineer
KAST

Jayanath Senevirathna

Software Engineer
WSO2

Nethum Lamahewage

Software Engineer
MillenniumIT ESP

Nimantha Cooray

Software Engineer
Sysco LABS

Prasad Sandaruwan

Software Engineer
Yaala Labs