News



Aug, 2024 – Our “Intelligent Tutoring System” for computing education has been advanced with program repair and GenAI.

We are excited to share that the “Intelligent Tutoring System” (ITS) for Programming and Algorithms Education of Abhik Roychoudhury and his team is maturely developed and ready to be adapted and use for various computer science course!

This ITS aims to provide on-time, personalized, precise, conceptual feedback to students and grading support to tutors/instructors for programming assignments in Computer Science (CS) courses. It is a language-independent system that can be used with any programming language (e.g., Python, Java, C, etc.). It supports various essential functionalities, including syntax error fixing, logical error localization / repairing, and programming conceptual automated grading.

Notably, the ITS is now tightly coupled with the advanced Generative AI techniques (i.e. large language models) to provide high-level natural language feedback to students. The ITS has been used in CS1010S and CS2040S at NUS.

Check the system details and experience at https://nus-its.github.io/




May, 2024 – Abhik Roychoudhury has co-chaired ICSE 2024 in Lisbon, the premier International Conference on Software Engineering.

ITS ITS

ICSE 2024, the 46th International Conference on Software Engineering, was held in Lisbon after about three years of discussions and planning led by Abhik and Margaret-Anne Storey.

~1050 submissions, 234 accepted papers, 200+ PC members. 12 area chairs spanning software engineering, 2 PC chairs (Abhik Roychoudhury and Margaret-Anne Storey)




Apr, 2024 – Our recent innovation on an agent-based autonomous system “AutoCodeRover” achieves the new state of the art results on the SWE bench.

ITS

Our recent innovation on an agent-based autonomous system “AutoCodeRover” achieves the new state of the art results on the SWE bench. We are excited to announce the open-source release of our agent-system that achieves state of the art results compared to Devin and SWE-Agent.

AutoCodeRover is a fully automated approach to fix software defects and add new features to existing software. It leverages the state of the art capabilities of LLMs combined with program analysis and debugging capabilities to prioritize patch locations leading to higher efficacy.

This is the first agent-based system to incorporate code structure by traversing the codebase using abstract syntax tree.It can further take advantage of test cases to achieve an even higher repair rate, by performing statistical fault localization.

AutoCodeRover resolves ~16% of issues of SWE-bench (total 2294 GitHub issues) and ~22% issues of SWE-bench lite (total 300 GitHub issues), improving over the current state-of-the-art efficacy of AI software engineers.

Link to Arxiv Paper

Link to Github




Dec, 2023 – One accepted paper at CPP’2024. Update: We’ve also got a Distinguished Paper Award!

Ilya Sergey and his team will have one paper to appear at CPP’2024:




July, 2023 to Oct, 2023 – Our Intelligent Tutoring System has been licensed! Checkout our paper experience in arXiv

ITS

We are excited to announce that the Intelligent Tutoring System (ITS) of Abhik Roychoudhury and his team has been licensed to be used for teaching foundations of software engineering at NUS. It envisions a high degree of realism for the teaching of software engineering.

This technology enables the teaching of software engineering via a real-life software engineering project. The students make improvements to the codebase in one offering of the course, and the better projects are integrated into the code base for offering in the next year. This gives the students focus not on large scale programming, but the engineering discipline needed to make smaller changes to the codebase.

Automated program repair is used to derive the effort involved in repairing the student’s program to a reference program. This repair or patch is processed to either construct feedback for struggling students or to automatically grade assignments.

ITS can also be used in schools and departments which may not have teaching support for computing, and has support for online learning of programming for a wider audience.




July, 2023 – One year’s achievements!

APR Mission (2023-2027)

In 2022, we started with the following 5-year mission:

  1. Symbolic program analysis for trustworthy (evolving) software systems.
  2. Test-suite guided program repair which generalizes to other tests.
  3. Last mile repair for greater automation in code generation.

We approach this mission by combining our research strengths from program analysis, verification, and test generation to achieve the the vision of self-healing software.

MIP ICSE 2023

In 2023, after one year, we are happy to present the following achievements:

  1. Most Influential Paper (10yr Test-of-time) at Intl Conf on Software Engineering (ICSE) 23 for ICSE13 paper “SemFix: Program Repair via Semantic Analysis”
  2. Repair of Large Language Model -generated code [ICSE’2023]
    → Repairing auto-generate code.
  3. (Mostly) Automated Proof Repair [PLDI’2023] (Distinguished Paper Award)
    → Maintaining proofs for evolving systems.
  4. Intelligent tutoring system at NUS to support programming education.




PLDI 2023

April, 2023 – Two accepted papers at PLDI’2023

Ilya Sergey and his team will have two papers to appear at PLDI’23:




ICSE 2023

February, 2023 – Three papers to be presented at ICSE’2023

Abhik Roychoudhury and his team will have three papers to present at ICSE’23:




January, 2023 – 2023 ICSE MIP Award for Professor Abhik Roychoudhury

SemFix: Program Repair via Semantic Analysis

For a paper written in 2013, Abhik Roychoudhury is awarded the 2023 ICSE Most Influential Paper Award. The paper, titled “SemFix: Program Repair via Semantic Analysis” was written in collaboration with Hoang Duong Thien Nguyen, Dawei Qi, and Satish Chandra.

In the paper, the authors present an automated program repair method based on symbolic execution, constraint solving, and program synthesis. The requirement on the repaired code to pass a given set of tests is formulated as a constraint. The work explored the usage of symbolic execution for specification inference, when only tests are available to describe programmer intent. With this work, the authors coined the area of semantic-based program repair. The work on SemFix significantly inspired the ideas explored in our MoE Tier 3 project on Automated Program Repair!




APR Launch Event: November 11

APR Logo

November, 2022 – APR Program Launch Event and Logo introduced

On November 11, we had a launch event of our MoE Tier 3 program on Automated Program Repair. The event hosted several researchers from PL & SE, who gave talks specifically focusing on testing, analysis, and repair. Further, we organized a poster session for students, followed by lunch.

Check our Event Page for more information, photos, and some of the recordings!




Embedded Systems Week

October, 2022 – Professor Abhik Roychoudhury @ Embedded Systems Week

The Embedded Systems Week (ESWEEK) is organizing an education track for its 2022 edition, where top researchers worldwide will teach 2-hour topical classes on the theme Security, Privacy, and Trust. Abhik Roychoudhury will contribute his tutorial on greybox fuzzing and whitebox fuzzing (also known as symbolic execution) technologies and talk about forward-looking techniques for automated program repair. Check out his abstract and join live!




Sung Yong Kim Martin Mirchev

August, 2022 – Welcome to Martin Mirchev and Sung Yong Kim

With the new academic year, we are welcoming Martin Mirchev and Sung Yong Kim! Martin is a PhD student at SoC and interested in static analysis, automated program repair, and type systems. Sung is a Master student in the NUS French Double Degree Programme and interested in security and automated program repair.




August, 2022 – Oracle supports our research on program repair

Oracle Labs

Thanks to Oracle for their generous donation to further our research on program repair, specifically on enhancing software security! The goal is to investigate the transition of program repair technology into more widespread usage and build corresponding prototype techniques.




July, 2022 – Professor Ilya Sergey received Amazon Research Award

Amazon Research Award

Ilya Sergey has received an Amazon Research Award for his proposal about Scaling Automated Verification of Distributed Protocols with Specification Transformation and Synthesis. The Amazon Research Awards program provides unrestricted funds and AWS Promotional Credits to academic researchers investigating research topics across several disciplines. For the Fall 2021 call, Amazon awarded 74 recipients representing 51 universities in 17 countries. The recipients get access to more than 300 Amazon public datasets and can utilize AWS AI/ML services and tools.

Read more about it in the official announcement by Amazon.




April, 2022 – Professor Abhik Roychoudhury recognised with IEEE New Directions Award

IEEE New Directions Award

Abhik Roychoudhury has won the IEEE Computer Society Technical Committee on Software Engineering (TCSE) New Directions Award for 2022. He received this award jointly with Professor Cristian Cadar (Imperial College London), in recognition of their contributions to symbolic execution for test generation and program repair.

Read more here:




February, 2022 – Ministry of Education (MoE) Tier 3 research program at NUS on Program Repair

The Ministry of Education (MoE) accepted our Tier 3 grant proposal and will fund our five year research project on program repair (2022-27)! → Post-docs being recruited.