TCSE logo 
 Sigsoft logo
Sustainability badge
Wed 30 Apr 2025 11:30 - 11:45 at 204 - Program Comprehension 1 Chair(s): Wing Lam

Rust provides an exciting combination of strong safety guarantees and high performance. Many new systems are being implemented in Rust. Nevertheless, there is a large body of existing C code that could greatly benefit from Rust’s safety guarantees. Unfortunately, the manual effort required to rewrite C code into Rust is often prohibitively expensive.

Researchers have explored tools to assist developers in translating legacy C code into Rust code. However, the mismatch between C abstractions and idiomatic Rust abstractions makes it challenging to automatically utilize Rust’s language features, resulting in non-idiomatic Rust code that requires extensive manual effort to further refactor. For example, existing tools often fail to map polymorphic uses of void pointers in C to Rust’s more idiomatic generic pointers. In this paper, we present a translation tool, GenC2Rust, that translates non-generic C code into generic Rust code. GenC2Rust statically analyzes the use of void pointers in the C program to compute the typing constraints and then retypes the void pointers into generic pointers. We conducted an evaluation of GenC2Rust across 42 C programs that vary in size and span multiple domains to demonstrate its scalability as well as correctness. We also present a detailed analysis of the limiting factors encountered in the translation process.

Wed 30 Apr

Displayed time zone: Eastern Time (US & Canada) change

11:00 - 12:30
Program Comprehension 1Research Track at 204
Chair(s): Wing Lam George Mason University
11:00
15m
Talk
An Empirical Study on Package-Level Deprecation in Python Ecosystem
Research Track
Zhiqing Zhong The Chinese University of Hong Kong, Shenzhen (CUHK-Shenzhen), Shilin He Microsoft Research, Haoxuan Wang The Chinese University of Hong Kong, Shenzhen (CUHK-Shenzhen), BoXi Yu The Chinese University of Hong Kong, Shenzhen, Haowen Yang The Chinese University of Hong Kong, Shenzhen (CUHK-Shenzhen), Pinjia He Chinese University of Hong Kong, Shenzhen
11:15
15m
Talk
Datalog-Based Language-Agnostic Change Impact Analysis for Microservices
Research Track
Qingkai Shi Nanjing University, Xiaoheng Xie Ant Group, Xianjin Fu Ant Group, Peng Di Ant Group & UNSW Sydney, Huawei Li Alibaba Inc., Ang Zhou Ant Group, Gang Fan Ant Group
11:30
15m
Talk
GenC2Rust: Towards Generating Generic Rust Code from CArtifact-FunctionalArtifact-AvailableArtifact-Reusable
Research Track
Xiafa Wu University of California, Irvine, Brian Demsky University of California at Irvine
11:45
15m
Talk
Instrumentation-Driven Evolution-Aware Runtime Verification
Research Track
Kevin Guan Cornell University, Owolabi Legunsen Cornell University
12:00
15m
Talk
Moye: A Wallbreaker for Monolithic Firmware
Research Track
Jintao Huang Institute of Information Engineering, Chinese Academy of Science & University of Chinese Academy of Sciences, Beijing, China, Kai Yang School of Computer, Electronics and Information, Guangxi University, Gaosheng Wang Institute of Information Engineering, Chinese Academy of Sciences & University of Chinese Academy of Sciences, Beijing, China, Zhiqiang Shi Institute of Information Engineering, Chinese Academy of Sciences & University of Chinese Academy of Sciences, Beijing, China, Zhiwen Pan Institute of Information Engineering, Chinese Academy of Sciences & University of Chinese Academy of Sciences, Beijing, China, Shichao Lv Institute of Information Engineering, Chinese Academy of Science, Limin Sun Institute of Information Engineering, Chinese Academy of Sciences & University of Chinese Academy of Sciences, Beijing, China
12:15
15m
Talk
Understanding and Detecting Peer Dependency Resolving Loop in npm Ecosystem
Research Track
Xingyu Wang Zhejiang University, MingSen Wang Zhejiang University, Wenbo Shen Zhejiang University, Rui Chang Zhejiang University
:
:
:
: