Programming Languages Research Group
PLRG develops theories and tools that make software safer, more reliable, and easier to evolve. We combine programming language theory with practical software engineering to tackle real-world problems: migrating legacy codebases to modern safe languages, building static analyses that find bugs before they ship, and designing language abstractions that prevent entire classes of errors by construction.
Our work has been published at top venues including POPL, PLDI, ICSE, ASE, and CACM, and has advanced the state of the art in automatic C-to-Rust translation, cross-language analysis, and type system design.
Prospective Students
We are looking for motivated graduate students interested in programming languages, software engineering, and related areas. If you enjoy building tools, proving properties about programs, or thinking deeply about how software is written and transformed, PLRG may be a great fit. Please reach out to Jaemin Hong with your CV and a brief description of your research interests.
Research Areas
Safe Language Migration
Automatically translating legacy code into modern safe languages. Our flagship effort targets C-to-Rust translation, enabling large-scale systems codebases to gain memory safety without costly manual rewrites.
Static Analysis
Building precise, scalable analyses that reason about complex program behaviors to find bugs, enable transformations, and verify correctness across diverse languages and systems.
Type Systems & Language Design
Designing expressive type systems and language abstractions that prevent entire classes of errors at compile time while keeping programs flexible and concise.
News
- Mar 2026 PLRG is established at UNIST.
- Mar 2026 Jaemin Hong joins UNIST as an assistant professor.