NoFAQ: Synthesizing Command Repairs from Examples
Loris D'Antoni, Rishabh Singh, Michael Vaughn

TL;DR
NoFAQ is a tool that automatically synthesizes command repair rules from examples, helping users fix buggy commands efficiently by learning from minimal input-output pairs.
Contribution
It introduces a lazy VSA-based algorithm to synthesize FixIt rules from examples, enabling automatic rule creation without manual encoding.
Findings
Successfully synthesized rules for 81 out of 92 benchmark problems
Operates in real time with 2 to 5 examples per rule
Enhances command-line usability for novices
Abstract
Command-line tools are confusing and hard to use for novice programmers due to their cryptic error messages and lack of documentation. Novice users often resort to online help-forums for finding corrections to their buggy commands, but have a hard time in searching precisely for posts that are relevant to their problem and then applying the suggested solutions to their buggy command. We present a tool, NoFAQ, that uses a set of rules to suggest possible fixes when users write buggy commands that trigger commonly occurring errors. The rules are expressed in a language called FixIt and each rule pattern-matches against the user's buggy command and the corresponding error message, and uses these inputs to produce a possible fixed command. Our main contribution is an algorithm based on lazy VSA for synthesizing FixIt rules from examples of buggy and repaired commands. The algorithm allows…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
