RulePad: Interactive Authoring of Checkable Design Rules
This addresses the issue of inaccurate design documentation for software developers, offering an incremental improvement over existing rule checkers.
The paper tackles the problem of design documentation becoming outdated by enabling developers to write checkable design rules, introducing snippet-based and semi-natural-language authoring in RulePad, which allowed users to author 13 times more query elements in less time and increased willingness to use it compared to an existing tool.
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.