"RulePad: Interactive Authoring of Checkable Design Rules (Video, ESEC/FSE 2020)
Sahar Mehrpour, Thomas D. LaToza, and Hamed Sarvari
(George Mason University, USA; George Mason University, USA; George Mason University, USA)
Abstract: Good documentation offers the promise of enabling developers to easily understand design decisions. Unfortunately, in practice, design documents are often rarely updated, becoming inaccurate, incomplete, and untrustworthy. A better solution is to enable developers to write down design rules which are checked against code for consistency. But existing rule checkers require learning specialized query languages or program analysis frameworks, creating a barrier to writing project-specific rules. We introduce two new techniques for authoring design rules: snippet-based authoring and semi-natural-language authoring. In snippet-based authoring, developers specify characteristics of elements to match by writing partial code snippets. In semi-natural language authoring, a textual representation offers a representation for understanding design rules and resolving ambiguities. We implemented these approaches in RulePad. To evaluate RulePad, we conducted a between-subjects study with 14 participants comparing RulePad to the PMD Designer, a utility for writing rules in a popular rule checker. We found that those with RulePad were able to successfully author 13 times more query elements in significantly less time and reported being significantly more willing to use RulePad in their everyday work.
Article: https://doi.org/10.1145/3368089.3409751
Supplementary web page: https://github.com/devuxd/RulePad
Submitted to the conference by Sahar Mehrpour on 2020-10-30
Video Tags: design rules, documentation, programming tools, bug finding, static analysis, fse20main-p624-p, DOI: 10.1145/3368089.3409751
Presentation at the ESEC/FSE 2020 conference, November 8–13, 2020, https://2020.esec-fse.org/
Sponsored by ACM SIGSOFT, https://www.sigsoft.org/
Twitter: / fseconf
Reddit: / esecfse "