Software Engineering Lab., Seoul Tech.

The aim of our research is developing techniques to help software development.
Our research interests include but not limited to Automatic Program Repair(APR), Fault Localization (FL), Source Code Differencing (SCD) and Mining Software Repositories (MSR).
In order to fix a given defect automatically, we first need to identify the location which is responsible for the defect. Once the location is found, we can generate a patch to fix the defect, by learning from past bug-fix history. Hence source code differencing and mining software repositories are all connected to our goal.

We are currently working on source code differencing techniques.
In particular, we are making a benchmark to evaluate the quality of edit scripts generated by SCD techniques. This is important since mining code changes forms the foundation of many techniques leveraging software history. However, SCD techniques often generate inappropriate edit scripts which cannot properly describe the actual changes happened in source code. Such noises affect the performance of the developed techniques. Therefore it is necessary to develop a method to evaluate SCD techniques properly.
Once the benchmark is prepared, we can continue our journey to improve SCD techniques for better understanding of code changes.

We also started on a research project to develop a new way of fault localization using logic programming. The core idea of this technique is using logical inferences with information collected from code and test execution to locate faults in source code. With pre-defined rules, the technique decides to output the fault location or initiate further actions to collect more information which is required to find the location.

Once we achieve improvements in SCD and FL, we will start to develop a new APR technique on top of the improvements.
If you have any interests, inquiries, or suggestions and want to discuss with us, please contact us at anytime.