解锁全新 Rust 编程体验:运用 LLM 的快慢思考以克服未定义行为
软件工程
2025-03-05 v1 计算与语言
摘要
为了提供灵活性和底层交互能力,Rust 中的 unsafe 标签在许多项目中是必不可少的,但它破坏了内存安全性并引入了降低安全性的未定义行为。消除这些未定义行为需要对 Rust 的安全规则和强类型有深刻的理解。传统方法需要对代码进行深度分析,这既费力又依赖于知识设计。LLM 强大的语义理解能力为解决这一问题提供了新机遇。尽管现有的大模型调试框架在语义任务上表现出色,但受限于固定的流程,缺乏自适应和动态调整能力。受决策双过程理论(快思考与慢思考)启发,我们提出了一个名为 RustBrain 的基于 LLM 的框架,该框架能够自动且灵活地最小化 Rust 项目中的未定义行为。快思考提取特征以生成解决方案,而慢思考则对其进行抽象的分解、验证和泛化。为了将验证和泛化结果应用于解决方案生成,从而实现动态调整和精确输出,RustBrain 通过反馈机制整合了这两种思考。在 Miri 数据集上的实验结果显示了 94.3% 的通过率和 80.4% 的执行率,提高了灵活性以及 Rust 项目的安全性。
引用
@article{arxiv.2503.02335,
title = {Unlocking a New Rust Programming Experience: Fast and Slow Thinking with LLMs to Conquer Undefined Behaviors},
author = {Renshuang Jiang and Pan Dong and Zhenling Duan and Yu Shi and Xiaoxiang Fang and Yan Ding and Jun Ma and Shuai Zhao and Zhe Jiang},
journal= {arXiv preprint arXiv:2503.02335},
year = {2025}
}