HomeProjects

AI for Software Maintenance

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 | Automated Program Repair | Code Generation |




Publications

Workshop Papers

Extended Abstracts

Preprints

Team

External Collaborators: | Ridwan Shariffdeen | Srinath Perera | Adeesha Wijayasiri |


Faculty

Nisansa de Silva

Senior Lecturer
University of Moratuwa

Undergraduates

Danuka Lakshan

Student
University of Moratuwa

Gimhan Sandeeptha

Student
University of Moratuwa

Himindu Kularathne

Student
University of Moratuwa

Kaushal Kahapola

Student
University of Moratuwa

Methmini Madhushika

Student
University of Moratuwa

Mineth Weerasinghe

Student
University of Moratuwa

Ruwan Ranasingha

Student
University of Moratuwa

Suwan Sankaja

Student
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