Research Overview
Our research group aims to develop programming language technologies for addressing challenges in various computer science domains. We focus on designing domain-specific programming languages (DSLs) that can describe solutions to problems and developing program synthesis algorithms to automatically find these solutions.
Research Areas
🔧 PL4SE: Programming Languages for Software Engineering
We develop programming language technologies to solve software engineering challenges, including program analysis, debugging, testing, and verification. Our approach focuses on creating domain-specific languages and automated synthesis techniques to improve software quality and developer productivity.
Static Analysis
Fault Localization
Context Sensitivity
Key Projects:
• DSL-based project-specific fault localization using fault patterns
• DSL-based data-driven program analysis techniques
🤖 PL4ML: Programming Languages for Machine Learning
We explore programming language approaches to make machine learning more interpretable, reliable, and accessible. Our work includes developing domain-specific languages for explainable AI, particularly in graph learning and neural network analysis.
Explainable AI
Graph Learning
DSL Design
Neural Networks
Interpretability
Key Projects:
• DSL-based explainable machine learning
• Graph-based heuristics for program analysis
Current Funding
National Research Foundation of Korea
설명 가능한 그래프 기계학습 방법 개발을 위한 프로그래밍 언어 기술 연구
(Programming Language Technology for Explainable Graph Machine Learning)
Duration: May 2024 - April 2029
Role: Principal Investigator
Join Our Research!
We are actively recruiting motivated researchers at all levels who are interested in programming languages, program synthesis, and their applications to software engineering and machine learning.