RulePad: interactive authoring of checkable design rules

RulePad: interactive authoring of checkable design rules
复制标题

DOI:
10.1145/3368089.3409751
复制
发表时间:
2020-07
期刊:
Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Sahar Mehrpour;Thomas D. Latoza;Hamed Sarvari
Sahar Mehrpour;Thomas D. Latoza;Hamed Sarvari
中科院分区:
其他
文献类型:
--
作者:
Sahar Mehrpour;Thomas D. Latoza;Hamed Sarvari

文献摘要

相似文献

好的文档保证了开发人员能够很容易地理解设计决策。不幸的是,在实践中,设计文档通常很少更新,变得不准确、不完整和不可信。一个更好的解决方案是让开发人员写下设计规则,并对照代码进行一致性检查。但是现有的规则检查器需要学习专门的查询语言或程序分析框架,这为编写特定于项目的规则创造了障碍。我们介绍了两种新的设计规则编写技术:基于代码段的编写和半自然语言的编写。在基于代码片段的创作中,开发人员通过编写部分代码片段来指定要匹配的元素的特征。在半自然语言创作中,文本表示为理解设计规则和解决歧义提供了一种表示。我们在《RulePad》中实现了这些方法。为了评估RulePad,我们进行了一项受试者之间的研究,有14名参与者将RulePad与PMD Designer进行比较,PMD Designer是一种用于在流行的规则检查器中编写规则的实用程序。我们发现那些使用RulePad的人能够在更短的时间内成功地编写13倍多的查询元素,并且报告说他们更愿意在日常工作中使用RulePad。
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.