An Interactive Debugger for Rust Trait Errors
Gavin Gray, Will Crichton, Shriram Krishnamurthi
摘要
Compiler diagnostics for type inference failures are notoriously bad, and type classes only make the problem worse. By introducing a complex search process during inference, type classes can lead to wholly inscrutable or useless errors. We describe a system, Argus , for interactively visualizing type class inferences to help programmers debug inference failures, applied specifically to Rust’s trait system. The core insight of Argus is to avoid the traditional model of compiler diagnostics as one-size-fits-all, instead providing the programmer with different views on the search tree corresponding to different debugging goals. Argus carefully uses defaults to improve debugging productivity, including interface design (e.g., not showing full paths of types by default) and heuristics (e.g., sorting obligations based on the expected complexity of fixing them). We evaluated Argus in a user study where N = 25 participants debugged type inference failures in realistic Rust programs, finding that participants using Argus correctly localized 2.2× as many faults and localized 3.3× faster compared to not using Argus .
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper2
- A Grounded Conceptual Model for Ownership Types in RustWill Crichton, Gavin Gray, Shriram KrishnamurthiOOPSLA 2023 · 被引用 25 次
- Getting into the Flow: Towards Better Type Error Messages for Constraint-Based Type InferenceIshan Bhanuka, Lionel Parreaux, David Binder, Jonathan Immanuel BrachthäuserOOPSLA 2023 · 被引用 12 次
相关 Paper
- Validating Rust Compilers with Trait-Type Constraint GraphXin Lai, Ming Wen, Xiaofei Liao, Hai JinSOSP 2026
- Argus: Debugging Performance Issues in Modern Desktop Applications with Annotated Causal TracingLingmei Weng, Peng Huang, Jason Nieh, Junfeng YangUSENIX ATC 2021 · 被引用 16 次
- Adventure of a Lifetime: Extract Method Refactoring for RustSewen Thy, Andreea Costea, Kiran Gopinathan, Ilya SergeyOOPSLA 2023 · 被引用 6 次
- RustAssistant: Using LLMs to Fix Compilation Errors in Rust CodePantazis Deligiannis, Akash Lal, Nikita Mehrotra, Rishi Poddar 等ICSE 2025 · 被引用 6 次
- Detecting Bugs in Rust Compiler Fix Suggestions via Constraint-Violation-Guided MutationZixi Liu, Yang Feng, Jialiang Jiang, Baowen XuFSE 2026
