Jaemin Hong
· PhD in Computer Science, KAIST, South Korea (March 2020–February 2025)
· BS in Computer Science, KAIST, South Korea (March 2016–February 2020)
· Assistant Professor, Department of Computer Science and Engineering, UNIST, South Korea (March 2026–Present)
· Research Affiliate, Department of Computer Science, Yale University, USA (May 2025–Present)
· Research Fellow, Institute of Information and Electronics, KAIST, South Korea (February 2025–February 2026)
· Best PhD Dissertation Award, College of Engineering, KAIST, February 2025
· Outstanding PhD Thesis Award, School of Computing, KAIST, February 2025
Programming Languages Research Group
본 연구실의 주요 연구 분야는 프로그래밍 언어와 소프트웨어 공학으로, 특히 정적 분석과 프로그램 변환에 초점을 두고 있다. 최근에는 C-러스트 자동 번역을 개선하는 기술을 주로 연구했다. 러스트는 유망한 시스템 프로그래밍 언어로, 컴파일 시점에 타입 검사를 통해 안전성을 보장한다. 그러나, 기존 번역기는 C의 특정 기능을 러스트의 안전한 기능으로 변환하는 데 어려움을 겪는다. 본 연구실에서는 락, 출력 매개변수, 유니언, 입출력 등 다양한 C의 기능을 러스트의 안전한 기능으로 대체하는 데 성공했다. 향후 연구에서는 다른 C 기능을 처리할 수 있도록 기법을 확장하고 정형 검증 기술을 활용해 번역의 올바름을 보장할 계획이다.
Our research focuses on programming languages and software engineering, with a particular interest in program transformation and static analysis. Recently, we have been working on improving the automatic translation from C to Rust. Rust is a promising systems programming language that ensures safety at compile time through type checking. However, existing translators struggle to map certain C features to Rust's safe counterparts. Our recent studies have successfully replaced various features in C, such as locks, output parameters, unions, and I/O operations, with safe Rust features. We plan to extend this work to other C features and apply formal verification techniques to ensure the correctness of the translation.
Our research focuses on programming languages and software engineering, with a particular interest in program transformation and static analysis. Recently, we have been working on improving the automatic translation from C to Rust. Rust is a promising systems programming language that ensures safety at compile time through type checking. However, existing translators struggle to map certain C features to Rust's safe counterparts. Our recent studies have successfully replaced various features in C, such as locks, output parameters, unions, and I/O operations, with safe Rust features. We plan to extend this work to other C features and apply formal verification techniques to ensure the correctness of the translation.
프로그래밍 언어, 소프트웨어 공학, 정적 분석, 프로그램 변환 / Programming Languages, Software Engineering, Static Analysis, Program Transformation
Programming Languages, Software Engineering, Static Analysis, Program Transformation
프로그래밍 언어, 소프트웨어 공학, 정적 분석, 프로그램 변환
Programming Languages, Software Engineering, Static Analysis, Program Transformation
Programming Languages, Software Engineering, Static Analysis, Program Transformation
국가과학기술표준분류
EE. 정보/통신 > EE01. 정보이론 > EE0104. 프로그래밍 언어/자연어 처리
· Communications of the ACM (CACM), Automatically Translating C to Rust, Jaemin Hong and Sukyoung Ryu, 2025
· Proceedings of the ACM on Programming Languages (PACMPL): Issue PLDI, Don’t Write, but Return: Replacing Output Parameters with Algebraic Data Types in C-to-Rust Translation, Jaemin Hong and Sukyoung Ryu, 2024
· ACM/IEEE International Conference on Software Engineering (ICSE), Concrat: An Automatic C-to-Rust Lock API Translator for Concurrent Programs, Jaemin Hong and Sukyoung Ryu, 2023