Self-Healing Software (or Automated Program Repair)

Research on practical automated program repair techniques and their applications at National University of Singapore

 

Seeking to recruit one post-doctoral research fellow, position available immediately. Send enquiries to Abhik Roychoudhury.

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. As more and more of our daily functionalities become software controlled, and with the impending arrival of technology like personalized drones, the need for self-healing software has never been greater. 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.

News

Jan 2017: Dagstuhl seminar on Automated Program Repair held, see website

2016:  Angelix and SemFix tool released, see website

Projects

Anti-patterns

Enforce anti-patterns in repair tools to repair faster, localize better & delete less.

Visit website

Angelix

Test-driven semantics-based program repair tool for C programs.

Visit website

relifix

Search-based approach for repairing software regressions.

Publication

Publications

  • PDF
    Correlation of Test-suite Metrics with Patch Quality in Program Repair

    Jooyong Yi, Shin Hwei Tan, Sergey Mechtaev, Marcel Boehme, Abhik Roychoudhury

    Empirical Software Engineering Journal, To appear subject to minor revisions.

  • PDF
    Automated Program Repair

    Sunghun Kim, Claire Le Goues, Michael Pradel, Abhik Roychoudhury

    Dagstuhl Seminar 17022, Dagstuhl Reports 7(1), January 2017.

  • PDF
    A Feasibility Study of Using Automated Program Repair for Introductory Programming Assignments

    Jooyong Yi, Umair Z. Ahmed, Amey Karkare, Shin Hwei Tan, Abhik Roychoudhury

    ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE) 2017

  • WWW
    CodeFlaws: A Programming Competition Benchmark for Evaluating Automated Program Repair Tools

    Shin Hwei Tan, Jooyong Yi, Yulis, Sergey Mechtaev, Abhik Roychoudhury

    ACM/IEEE International Conference on Software Engineering (ICSE) 2017, Short Paper

  • PDF
    Anti-patterns in Search-based Program Repair

    Shin Hwei Tan, Hiroaki Yoshida, Mukul Prasad, Abhik Roychoudhury

    ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE) 2016

  • PDF
    Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis

    Sergey Mechtaev, Jooyong Yi, Abhik Roychoudhury

    ACM/IEEE International Conference on Software Engineering (ICSE) 2016

  • PDF
    relifix: Automated Repair of Software Regressions

    Shin Hwei Tan, Abhik Roychoudhury

    ACM/IEEE International Conference on Software Engineering (ICSE) 2015

  • PDF
    DirectFix: Looking for Simple Program Repairs

    Sergey Mechtaev, Jooyong Yi, Abhik Roychoudhury

    ACM/IEEE International Conference on Software Engineering (ICSE) 2015

  • PDF
    SemFix: Program Repair via Semantic Analysis

    Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, Satish Chandra

    ACM/IEEE International Conference on Software Engineering (ICSE) 2013

  • Current People

    Abhik Roychoudhury

    Professor
    Visit website

    Shin Hwei Tan

    PhD student
    Visit website

    Sergey Mechtaev

    PhD student
    Visit website

    Gao Xiang

    PhD student

    Former Member

    Jooyong Yi

    Senior Research Fellow
    Visit website

    Back to top

    This project is part of an umbrella project, TSUNAMi, funded by a substantial research grant from NRF.
    This support is gratefully acknowledged.