Systematic black-box analysis of collaborative web applications

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

Documents

  • 9,1

    Accepted manuscript, 1.55 MB, PDF document

DOI

  • Marina Billes, Technische Universität Darmstadt
  • ,
  • Anders Møller
  • Michael Pradel, Technische Universität Darmstadt

Web applications, such as collaborative editors that allow multiple clients to concurrently interact on a shared resource, are difficult to implement correctly. Existing techniques for analyzing concurrent software do not scale to such complex systems or do not consider multiple interacting clients. This paper presents Simian, the first fully automated technique for systematically analyzing multi-client web applications. Naively exploring all possible interactions between a set of clients of such applications is practically infeasible. Simian scales to real-world applications by using a twophase black-box approach. The first phase systematically explores the application with a single client to infer potential conflicts between client events. The second phase synthesizes multi-client interactions targeted at triggering misbehavior that may result from the potential conflicts, and reports an inconsistency if the clients do not converge to a consistent state. We evaluate the analysis on three widely used systems, Google Docs, Firepad, and ownCloud Documents, where it reports a variety of inconsistencies, such as incorrect formatting and misplaced text fragments. Moreover, we find that the two-phase approach runs 10x faster than exhaustive exploration, making systematic analysis feasible. Copyright is held by the owner/author(s).

Original languageEnglish
Title of host publicationPLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation
Number of pages14
VolumePart F128414
PublisherAssociation for Computing Machinery
Publication year14 Jun 2017
Pages171-184
ISBN (Electronic)9781450349888
DOIs
Publication statusPublished - 14 Jun 2017
Event38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017 - Barcelona, Spain
Duration: 18 Jun 201723 Jun 2017

Conference

Conference38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017
LandSpain
ByBarcelona
Periode18/06/201723/06/2017
SponsorACM SIGPLAN

    Research areas

  • Collaborative editing, Dynamic analysis, Testing

See relations at Aarhus University Citationformats

Download statistics

No data available

ID: 118424581