Contact Us

+Overview:

Software almost always has bugs. Many of these bugs cause serious problems such as software crash and leaking sensitive user information. To fix these bugs, software engineers have been fighting an endless battle with bugs. The cost of this battle is enormous—$312 billion per year globally as of 2012 according to Cambridge University research (in comparison, the GDP of Singapore is $308 billion as of 2014). This high cost is due to that software developers spend about 50% of their time debugging. To reduce this high cost, debugging needs to be automated. In this regard, we are conducting research on automated program repair.

The main innovation of our automated program repair lies in our semantic approach. Instead of randomly mutating the buggy program to find a repair, our tools analyze the semantics of the buggy program to extract repair constraints. A repair that satisfies these repair constraints is guaranteed to fix the bug (this repair passes the failing test that manifested the bug of the buggy program). Our repair tools automatically synthesize such a repair that satisfies the repair constraints that are also automatically extracted. Apart from this semantics-based program repair, our research also involves other useful repair and repair-related techniques such as repairing regression errors and reproducing crashes of code so that developers can repair the bug. We envision that in the future, automatic bug fix will be integrated into a software development toolset. Similar to that automatic spelling correction is widely used nowadays, we believe that automatic bug fix will be widespread in the future.

 

News:   Released the Angelix tool (ICSE 2016) and the Semfix tool (ICSE 2013) together (Feb 2016).



+Publications:

[CACM]

Formula-based Software Debugging

Abhik Roychoudhury and Satish Chandra

Communications of the ACM, 59(7), July 2016.

 

[FSE]

Anti-patterns in Search-based Program Repair (pdf )

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

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

 

[ICSE]

Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis (pdf)

Sergey Mechtaev, Jooyong Yi, Abhik Roychoudhury

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

 

[ICSE]

relifix: Automated Repair of Software Regressions ( PDF )

Shin Hwei Tan, Abhik Roychoudhury

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

 

[ICSE]

DirectFix: Looking for Simple Program Repairs ( PDF )

Sergey Mechtaev, Jooyong Yi, Abhik Roychoudhury

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

 

[ICSE]

SemFix: Program Repair via Semantic Analysis ( PDF )

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

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

 


 

 

+Current Members:

+Acknowledgements:

This project is part of an umbrella project, TSUNAMi, funded by a substantial research grant from NRF (National Research Foundation, Singapore). This support is gratefully acknowledged.


Contact Us
National University of Singapore   |   School of Computing   |   National Research Foundation