Systematic black-box analysis of collaborative web applications

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

Standard

Systematic black-box analysis of collaborative web applications. / Billes, Marina; Møller, Anders; Pradel, Michael.

PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. Vol. Part F128414 Association for Computing Machinery, 2017. p. 171-184.

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

Harvard

Billes, M, Møller, A & Pradel, M 2017, Systematic black-box analysis of collaborative web applications. in PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. vol. Part F128414, Association for Computing Machinery, pp. 171-184, 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, Barcelona, Spain, 18/06/2017. https://doi.org/10.1145/3062341.3062364

APA

Billes, M., Møller, A., & Pradel, M. (2017). Systematic black-box analysis of collaborative web applications. In PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (Vol. Part F128414, pp. 171-184). Association for Computing Machinery. https://doi.org/10.1145/3062341.3062364

CBE

Billes M, Møller A, Pradel M. 2017. Systematic black-box analysis of collaborative web applications. In PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery. pp. 171-184. https://doi.org/10.1145/3062341.3062364

MLA

Billes, Marina, Anders Møller and Michael Pradel "Systematic black-box analysis of collaborative web applications". PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery. 2017, 171-184. https://doi.org/10.1145/3062341.3062364

Vancouver

Billes M, Møller A, Pradel M. Systematic black-box analysis of collaborative web applications. In PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. Vol. Part F128414. Association for Computing Machinery. 2017. p. 171-184 https://doi.org/10.1145/3062341.3062364

Author

Billes, Marina ; Møller, Anders ; Pradel, Michael. / Systematic black-box analysis of collaborative web applications. PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. Vol. Part F128414 Association for Computing Machinery, 2017. pp. 171-184

Bibtex

@inproceedings{84cf5083058144c1a52b14f3a891afc2,
title = "Systematic black-box analysis of collaborative web applications",
abstract = "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).",
keywords = "Collaborative editing, Dynamic analysis, Testing",
author = "Marina Billes and Anders M{\o}ller and Michael Pradel",
year = "2017",
month = jun,
day = "14",
doi = "10.1145/3062341.3062364",
language = "English",
volume = "Part F128414",
pages = "171--184",
booktitle = "PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation",
publisher = "Association for Computing Machinery",
note = "38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017 ; Conference date: 18-06-2017 Through 23-06-2017",

}

RIS

TY - GEN

T1 - Systematic black-box analysis of collaborative web applications

AU - Billes, Marina

AU - Møller, Anders

AU - Pradel, Michael

PY - 2017/6/14

Y1 - 2017/6/14

N2 - 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).

AB - 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).

KW - Collaborative editing

KW - Dynamic analysis

KW - Testing

U2 - 10.1145/3062341.3062364

DO - 10.1145/3062341.3062364

M3 - Article in proceedings

AN - SCOPUS:85025114219

VL - Part F128414

SP - 171

EP - 184

BT - PLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation

PB - Association for Computing Machinery

T2 - 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017

Y2 - 18 June 2017 through 23 June 2017

ER -