Publications
2025
Forcrat: Automatic I/O API Translation from C to Rust via Origin and Capability Analysis
The 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Exact Inference for Quantum Circuits: A Testing Oracle for Quantum Software Stacks
The 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Type-Migrating C-to-Rust Translation Using a Large Language Model
Empirical Software Engineering (EMSE), Volume 30
2024
Taming Shared Mutable States of Operating Systems in Rust
Science of Computer Programming (SCICO), Volume 238
To Tag, or Not to Tag: Translating C's Unions to Rust's Tagged Unions
The 39th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Don't Write, but Return: Replacing Output Parameters with Algebraic Data Types in C-to-Rust Translation
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue PLDI
2023
Improving Automatic C-to-Rust Translation with Static Analysis
The 45th ACM/IEEE International Conference on Software Engineering, Doctoral Symposium (ICSE DS)
Concrat: An Automatic C-to-Rust Lock API Translator for Concurrent Programs
The 45th ACM/IEEE International Conference on Software Engineering (ICSE)
Static Analysis of JNI Programs via Binary Decompilation
IEEE Transactions on Software Engineering (TSE), Volume 49, Issue 5
Semantic Transformation Framework for Rewriting Rules
The 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation (PEPM)
2019
Polymorphic Symmetric Multiple Dispatch with Variance
Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue POPL
2018