Title
NoFAQ: Synthesizing Command Repairs from Examples.
Abstract
Command-line tools are confusing and hard to use 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 NoFAQ, a tool 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 corresponding error message, and uses these inputs to produce a possible fixed command. NoFAQ automatically learns FIXIT rules from examples of buggy and repaired commands. We evaluate NoFAQ on two fronts. First, we use 92 benchmark problems drawn from an existing tool and show that NoFAQ is able to synthesize rules for 81 benchmark problems in real time using just 2 to 5 input-output examples for each rule. Second, we run our learning algorithm on the examples obtained through a crowd-sourcing interface and show that the learning algorithm scales to large sets of examples.
Year
DOI
Venue
2017
10.1145/3106237.3106241
ESEC/SIGSOFT FSE
Keywords
DocType
Citations 
Domain Specific Languages,Programming by Example,Program Synthesis,Program Repair,Command Line Interface
Conference
7
PageRank 
References 
Authors
0.41
23
3
Name
Order
Citations
PageRank
Loris D'Antoni137725.00
Rishabh Singh268448.19
Michael Vaughn3863.51