I am most interested in reasoning about computer programs for practical purposes. Among many practical applications of program reasoning, I am currently focusing on program repair whereby correct program behavior is inferred from specifications (e.g., reference programs, test cases, and documents), based on which the buggy program is automatically fixed through various techniques such as program synthesis and deep learning.
The dual of program repair is program verification, which checks whether the program satisfies available specifications. In our lab, we use various automated verification techniques, from lightweight ones such as fuzzing to more systematic ones such as symbolic execution.
Below are the research areas I have been working on:
Program repair [ISSTA23, TOSEM22, IST22, EMSE18, FSE17, ICSE16, ICSE15]
May 2023: Our paper Automated Program Repair from Fuzzing Perspective has been accepted to ISSTA 2023. Congratulations to YoungJae Kim, Seungheon Han, and Khamit Askar.
April 2023: Our research proposal on Large-Language-Model-Based Low-Code Platform Development has been accepted for funding by MSIT.
Feb 2023: Our research proposal on Patch Validation Technique for Automated Program Repair has been accepted for funding by MSIT.