Developer Experience Design Laboratory
  • HOME
  • PUBLICATIONS
  • PEOPLE
  • NEWS
  • GALLERY

RulePad

RulePad is a part of Active Documentation project.

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 may be checked against code for consistency. But existing rule checkers require learning specialized query languages or program analysis frameworks, offering a barrier to writing project-specific rules. We introduce two new authoring techniques for 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, which is bidirectionally synchronized.
We implemented these approaches in RulePad.

Our paper is published and presented in ESEC/FSE 2020.

2-Minute Teaser

Full Presentation

Tool Demo

RulePad is implemented as a plugin for IntelliJ IDE. The following demo is a partial implementation of RulePad. Some of RulePad features require IDE APIs, and thus is not available in the online Demo. You can checkout the complete behavior of RulePad here.

Project Members

Sahar Mehrpour
Sahar Mehrpour

Publications

  1. "RulePad: Interactive Authoring of Checkable Design Rules", Sahar Mehrpour, Thomas D. LaToza, Hamed Sarvari, ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), 2020
    DOI Pre-Print
  • devuxd