skip to main content
research-article

Detecting conflicts among declarative UI extensions

Published:22 October 2012Publication History
Skip Abstract Section

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.

References

  1. V. M. Antimirov and P. D. Mosses. Rewriting extended regular expressions. Theoretical Computer Science, 143 (1): 51 -- 72, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Benedikt and C. Koch. XPath leashed. ACM Computing Surveys (CSUR), 41: 3:1--3:54, Jan. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Benedikt, W. Fan, and F. Geerts. XPath satisfiability in the presence of DTDs. Journal of the ACM (JACM), 55 (2): 1--79, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. A. Brzozowski. Derivatives of regular expressions. Journal of the ACM (JACM), 11: 481--494, Oct. 1964. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Calcagno, T. Dinsdale-Young, and P. Gardner. Adjunct elimination in context logic for trees. In Z. Shao, editor, Programming Languages and Systems, volume 4807 of Lecture Notes in Computer Science, pages 255--270. Springer Berlin / Heidelberg, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Cheney. Satisfiability algorithms for conjunctive queries over trees. In International Conference on Database Theory (ICDT), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Gardner and U. Zarfaty. An introduction to context logic. In D. Leivant and R. de Queiroz, editors, Logic, Language, Information and Computation, volume 4576 of Lecture Notes in Computer Science, pages 189--202. Springer Berlin / Heidelberg, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Jacobson. A formalization of darcs patch theory using inverse semigroups. Technical Report (09--83), UCLA Computational and Applied Mathematics, Oct. 2009. http://www.math.ucla.edu/ jjacobson/patch-theory/.Google ScholarGoogle Scholar
  9. B. S. Lerner. Designing for Extensibility and Planning for Conflict: Experiments in Web-Browser Design. PhD thesis, University of Washington Computer Science & Engineering, Aug. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. I. Lynagh. Darcs patch theory (more or less). Originally posted to darcs-users mailing list, Sept. 2008. http://lists.osuosl.org/pipermail/darcs-users/2008-August/013040.html.Google ScholarGoogle Scholar
  11. Mozilla. XUL overlays. Written Jan. 2010. https://developer.mozilla.org/en/XUL_Overlays.Google ScholarGoogle Scholar
  12. M.-J. Nederhof and G. Satta. The language intersection problem for non-recursive context-free grammars. Information and Computation, 192 (2): 172 -- 184, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Scott. How many Firefox users have add-ons installed? 85%! Written June 2011. http://blog.mozilla.com/addons/2011/06/21/firefox-4-add-on-users/.Google ScholarGoogle Scholar

Index Terms

  1. Detecting conflicts among declarative UI extensions

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 48, Issue 2
        DLS '12
        February 2013
        114 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2480360
        Issue’s Table of Contents
        • cover image ACM Conferences
          DLS '12: Proceedings of the 8th symposium on Dynamic languages
          October 2012
          128 pages
          ISBN:9781450315647
          DOI:10.1145/2384577

        Copyright © 2012 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 22 October 2012

        Check for updates

        Qualifiers

        • research-article
      • Article Metrics

        • Downloads (Last 12 months)2
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!