RulePad: Interactive Authoring of Checkable Design Rules

07/09/2020
by   Sahar Mehrpour, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/19/2021

"Do this! Do that!, And nothing will happen" Do specifications lead to securely stored passwords?

Does the act of writing a specification (how the code should behave) for...
research
02/08/2020

Learning from, Understanding, and Supporting DevOps Artifacts for Docker

With the growing use of DevOps tools and frameworks, there is an increas...
research
03/28/2019

Crowd Sourced Data Analysis: Mapping of Programming Concepts to Syntactical Patterns

Since programming concepts do not match their syntactic representations,...
research
10/20/2022

Forest: Structural Code Editing with Multiple Cursors

Software developers frequently refactor code. Often, a single logical re...
research
09/02/2022

How Developers Extract Functions: An Experiment

Creating functions is at the center of writing computer programs. But th...
research
07/12/2020

Editable AI: Mixed Human-AI Authoring of Code Patterns

Developers authoring HTML documents define elements following patterns w...
research
08/11/2022

CORNET: Learning Table Formatting Rules By Example

Spreadsheets are widely used for table manipulation and presentation. St...

Please sign up or login with your details

Forgot password? Click here to reset