kirancodes.me
To Proof Maintenance & Beyond!

Rust-lancet: Automated Ownership-Rule-Violation Fixing with Behavior Preservation

Wenzhang Yang, Linhai Song, Yinxing Xue

Abstract

As a relatively new programming language, Rust is designed to provide both memory safety and runtime performance. To achieve this goal, Rust conducts rigorous static checks against its safety rules during compilation, effectively eliminating memory safety issues that plague C/C++ programs. Although useful, the safety rules pose programming challenges to Rust programmers, since programmers can easily violate safety rules when coding in Rust, leading their code to be rejected by the Rust compiler, a fact underscored by a recent user study. There exists a desire to automate the process of fixing safety-rule violations to enhance Rust's programmability.

BibTeX
@inproceedings{Yang-al:ICSE24,
  author    = {Wenzhang Yang and
               Linhai Song and
               Yinxing Xue},
  title     = {Rust-lancet: Automated {Ownership-Rule-Violation} Fixing with Behavior Preservation},
  booktitle = {ICSE},
  pages     = {85:1--85:13},
  publisher = {{ACM}},
  year      = {2024},
}

Related papers