Detecting conflicts among declarative UI extensions

  • Authors:
  • Benjamin S. Lerner;Dan Grossman

  • Affiliations:
  • Brown University, Providence, RI, USA;University of Washington, Seattle, WA, USA

  • Venue:
  • Proceedings of the 8th symposium on Dynamic languages
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We examine overlays, a flexible aspect-like mechanism for third-party declarative extensions of declarative UIs. Overlays can be defined for any markup language and permit extensions to define new content that is dynamically woven into a base UI document. While powerful, overlays are inherently non-modular and may conflict with each other, by defining duplicate or contradictory UI components. We construct an abstract language to capture core overlay semantics, and design an automatic analysis to detect inter-extension conflicts. We apply the analysis to a case study of Firefox extensions, finding several real-world bugs. Our analysis provides low-level feedback to extension developers and high-level reports to end users. Finally, we show how variants of overlays more expressive than those of Firefox complicate conflict detection.