Faculty Research Profile

컴퓨터공학과

홍재민

조교수Jaemin Hong

홍재민

Jaemin Hong

Biography

학력

· 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

Research

프로그래밍 언어 연구실

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. 프로그래밍 언어/자연어 처리

Outputs

논문

· 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