News
- Aug, 2024: Our “Intelligent Tutoring System” for computing education has been advanced with program repair and GenAI.
- May, 2024: Abhik Roychoudhury has co-chaired ICSE 2024 in Lisbon, the premier International Conference on Software Engineering.
- Apr, 2024: Our recent innovation on an agent-based autonomous system “AutoCodeRover” achieves the new state of the art results on the SWE bench.
- Dec, 2023: One accepted paper at CPP’2024. Update: We’ve also got a Distinguished Paper Award!
- July, 2023 to Oct, 2023: Our Intelligent Tutoring System has been licensed! Checkout our experience paper in arXiv
- July, 2023: One year’s achievements!
- April, 2023: Two papers will appear at PLDI’2023
- February, 2023: Three papers will be presented at ICSE’2023
- January, 2023: 2023 ICSE MIP Award for Abhik Roychoudhury
- November, 2022: APR Program Launch Event and Logo introduced
- October, 2022: Professor Abhik Roychoudhury @ Embedded Systems Week
- August, 2022: Welcome to Martin Mirchev and Sung Yong Kim
- August, 2022: Oracle supports our research on program repair
- July, 2022: Professor Ilya Sergey received Amazon Research Award
- April, 2022: Professor Abhik Roychoudhury recognised with IEEE New Directions Award
- February, 2022: MoE Tier3 research program at NUS on Program Repair
Summary
Computing systems, specifically software systems, are prone to vulnerabilities which can be exploited. One of the key difficulties in building trustworthy software systems - is the lack of specifications, or intended behavior, or a description of how the software system is supposed to behave. In our work, we have developed semantic analysis techniques to extract or discover specifications from an erroneous or vulnerable program. Such a specification discovery process helps in automatically generating repairs, thereby moving closer to the goal of self-healing software systems. We have focused on specification inference from tests, and we are also looking into specification inference from other program artifacts. There exist exciting possibilities for combining semantics based repair approaches with search-based repair, and this is under investigation in our research team. We envision that automated repair capabilities should be integrated into programming environments in the future. Instead of treating the software as a passive entity which is validate, we view it as an active entity which heals itself thereby delivering higher trust and assurance.