Rewriting extended regular expressions
Theoretical Computer Science
Derivatives of Regular Expressions
Journal of the ACM (JACM)
The language intersection problem for non-recursive context-free grammars
Information and Computation
XPath satisfiability in the presence of DTDs
Journal of the ACM (JACM)
ACM Computing Surveys (CSUR)
An introduction to context logic
WoLLIC'07 Proceedings of the 14th international conference on Logic, language, information and computation
Adjunct elimination in context logic for trees
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Satisfiability algorithms for conjunctive queries over trees
Proceedings of the 14th International Conference on Database Theory
Designing for extensibility and planning for conflict: experiments in web-browser design
Designing for extensibility and planning for conflict: experiments in web-browser design
Hi-index | 0.00 |
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.