Rust-twins: Automatic Rust Compiler Testing through Program Mutation and Dual Macros Generation

Rust is a relatively new programming language known for its memory safety and numerous advanced features. It has been widely used in system software in recent years. Thus, ensuring the reliability and robustness of the only implementation of the Rust compiler, rustc, is critical. However, compiler testing, as one of the most effective techniques to detect bugs, faces difficulties in generating valid Rust programs with sufficient diversity due to its stringent memory safety mechanisms. Furthermore, existing research primarily focuses on testing rustc to trigger crash errors, neglecting incorrect compilation results - miscompilation. Detecting miscompilation remains a challenge in the absence of multiple implementations of the Rust compiler to serve as a test oracle.

Authors

Institutions

Publication Details

Published
2024-10-18
DOI
https://doi.org/10.1145/3691620.3695059
Citations
5
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
2.43
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Rust-twins: Automatic Rust Compiler Testing through Program Mutation and Dual Macros Generation

Yuekang Li, Yinxing Xue, Wenzhang Yang, Cuifeng Gao et al.
5 citations
Software Testing and Debugging Techniques
2.43
article

Rust-twins: Automatic Rust Compiler Testing through Program Mutation and Dual Macros Generation

Yuekang Li, Yinxing Xue, Wenzhang Yang, Cuifeng Gao, X. Liu
article en
5 citations

Abstract

Rust is a relatively new programming language known for its memory safety and numerous advanced features. It has been widely used in system software in recent years. Thus, ensuring the reliability and robustness of the only implementation of the Rust compiler, rustc, is critical. However, compiler testing, as one of the most effective techniques to detect bugs, faces difficulties in generating valid Rust programs with sufficient diversity due to its stringent memory safety mechanisms. Furthermore, existing research primarily focuses on testing rustc to trigger crash errors, neglecting incorrect compilation results - miscompilation. Detecting miscompilation remains a challenge in the absence of multiple implementations of the Rust compiler to serve as a test oracle.

University of Science and Technology of China (CN), UNSW Sydney (AU)
Openalex Percentile: Top 9%
Software Testing and Debugging Techniques
2.43
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Rust-twins: Automatic Rust Compiler Testing through Program Mutation and Dual Macros Generation — Yuekang Li, Yinxing Xue, et al. · (2024) | TGRS Research Map | TGRS