@@ -6,54 +6,22 @@ author_profile: false
66---
77
88## Research
9- ### AI-based program analysis framework
10- <p class =" main-text " >This project seeks to achieve a quantum leap in accuracy of static program analyses that target discovering deep semantic bugs
11- and security vulnearibilities in large C/C++/JAVA programs.
12- Even though a variety of techniques have significantly enhanced the performance of program analyzers,
13- traditional systems has been limited in their accuracy due to the fundamental reason, i.e., undecidability.
14- My research has tackled this limitation by incorporating external information such as user feedback.
15- The key insight is to rank analysis alarms by performing
16- inference on a conventional graphical model (e.g., a Bayesian network or a Markov
17- logic network) that quantifies the incompleteness in individual steps of reasoning
18- of the analysis.</p >
19- <img src =" {{ site.url }}{{ site.baseurl }}/assets/images/research/petablox-system.png " alt =" Petablox System Diagram " style =" width :70% ;" class =" center-block " >
20- <h5 >Papers:
21- [ <a href =" {{ site.url }}{{ site.baseurl }}/publications/icse22.pdf " >ICSE 2022</a >]
22- [ <a href =" {{ site.url }}{{ site.baseurl }}/publications/fse21.pdf " >FSE 2021</a >]
23- [ <a href =" {{ site.url }}{{ site.baseurl }}/publications/pldi19.pdf " >PLDI 2019</a >]
24- [ <a href =" {{ site.url }}{{ site.baseurl }}/publications/pldi18a.pdf " >PLDI 2018</a >]
25- </h5 >
26- <br >
27- ### EUPHONY: A data-driven program synthesizer
28- <p class =" main-text " >A key challenge in program synthesis concerns how to efficiently search for the desired program in the space of
29- possible programs. We propose a general approach to accelerate search-based program synthesis by biasing
30- the search towards likely programs. Our approach targets a standard formulation, syntax-guided synthesis (SyGuS),
31- by extending the grammar of possible programs with a probabilistic model dictating the likelihood of each program.
32- We develop a weighted search algorithm to efficiently enumerate programs in order of their likelihood.
33- We also propose a method based on transfer learning that enables to effectively learn a powerful model, called probabilistic higher order grammar,
34- from known solutions in a domain. We have implemented our approach in a tool called Euphony and evaluate it on SyGuS benchmark problems from a variety of domains.
35- </p >
36- <img src =" {{ site.url }}{{ site.baseurl }}/assets/images/research/euphony-system.png " alt =" Euphony System Diagram " style =" width :70% ;" class =" center-block " >
37- <h5 >Papers:
38- [ <a href =" {{ site.url }}{{ site.baseurl }}/publications/ijcai19.pdf " >IJCAI 2019</a >]
39- [ <a href =" {{ site.url }}{{ site.baseurl }}/publications/pldi18b.pdf " >PLDI 2018</a >]
40- </h5 >
41- <h5 >Links: [<a href =" https://github.com/wslee/euphony " >Tool</a >]</h5 >
42- <br >
9+ Our research aims to develop safe and smart programming systems using solid programming langauge theories
10+ and adaptive AI techniques.
4311
44- ### Program transformation for secure software
45- < p class = " main-text " >The size and complexity of modern software have been rapidly increasing, thereby causing security vulnerabilities as well as
46- performance degradation. The goal of this project is to build an automatic program debloating system to reverse this trend.
47- Unlike traditional approaches such as code optimization, our system aggressively removes undesired functionalities and customizes
48- the original program according to a given high-level specification. The project is addressing
49- a multitude of research problems such as how to specify the desired behavior,
50- how to efficiently debloat programs in language-specific and language-independent
51- ways, and what correctness guarantees to provide.</ p >< br >
52- < img src = " {{ site.url }}{{ site.baseurl }}/assets/images/research/chisel-system.png " alt = " Chisel System Diagram " style = " width : 70 % ; " class = " center-block " >
53- < h5 >Papers :
54- [ < a href = " {{ site.url }}{{ site.baseurl }}/publications/asiaccs22 .pdf " >ASIACCS 2022</ a > ]
55- [ < a href = " {{ site.url }}{{ site.baseurl }}/publications/ccs18 .pdf " >CCS 2018</ a > ]
56- </ h5 >
57- < h5 >Links: [< a href = " https://chisel.cis.upenn.edu/index.html " >Project Page</ a >]
58- [ < a href = " https://github.com/aspire-project/chisel " >System</ a > ]
59- [ < a href = " https://github.com/aspire-project/chisel-bench " >Benchmarks</ a > ] </ h5 >
12+ #### Program Analysis
13+ We develop static and dynamic program analysis techniques to discover deep semantic bugs and security vulnerabilities in real-world software systems:
14+ - [ Evaluating Directed Fuzzers: Are We Heading in the Right Direction? ] ({{ site.url }}{{ site.baseurl }}/publications/fse24.pdf), FSE 2024
15+ - [ DAFL: Directed Grey-box Fuzzing Guided by Data Dependency ] ({{ site.url }}{{ site.baseurl }}/publications/sec23.pdf), Security 2023
16+ - [ Tracer: Signature-based Static Analysis for Detecting Recurring Vulnerabilities ] ({{ site.url }}{{ site.baseurl }}/publications/ccs22.pdf), CCS 2022
17+ - [ Learning Probabilistic Models for Static Analysis Alarms ] ({{ site.url }}{{ site.baseurl }}/publications/icse22.pdf), ICSE 2022
18+ - [ Boosting Static Analysis Accuracy With Instrumented Test Executions ] ({{ site.url }}{{ site.baseurl }}/publications/fse21.pdf), FSE 2021
19+
20+ #### Compiler Correctness
21+ We develop a new approach to verify the correctness of compilers using a combination of translation validation and fuzzing techniques :
22+ - [ Optimization-Directed Compiler Fuzzing for Continuous Translation Validation ] ( {{ site.url }}{{ site.baseurl }}/publications/pldi25 .pdf), PLDI 2025
23+ - [ Translation Validation for JIT Compiler in the V8 JavaScript Engine ] ( {{ site.url }}{{ site.baseurl }}/publications/icse24 .pdf), ICSE 2024
24+
25+ #### Automatic Test Generation
26+ We develop a system to automatically generate unit tests for Java programs using a combination of static analysis and program synthesis techniques:
27+ - [ UnitCon: Synthesizing Targeted Unit Tests for Java Runtime Exceptions ] ({{ site.url }}{{ site.baseurl }}/publications/fse25.pdf), FSE 2025
0 commit comments