Skip to main navigation Skip to search Skip to main content

Quickstrom: property-based acceptance testing with LTL specifications

Liam O'Connor, Oskar Wickström

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present Quickstrom, a property-based testing system for acceptance testing of interactive applications. Using Quickstrom, programmers can specify the behaviour of web applications as properties in our testing-oriented dialect of Linear Temporal Logic (LTL) called QuickLTL, and then automatically test their application against the given specification with hundreds of automatically generated interactions. QuickLTL extends existing finite variants of LTL for the testing use-case, determining likely outcomes from partial traces whose minimum length is itself determined by the LTL formula. This temporal logic is embedded in our specification language, Specstrom, which is designed to be approachable to web programmers, expressive for writing specifications, and easy to analyse. Because Quickstrom tests only user-facing behaviour, it is agnostic to the implementation language of the system under test. We therefore formally specify and test many implementations of the popular TodoMVC benchmark, used for evaluation and comparison across various web frontend frameworks and languages. Our tests uncovered bugs in almost half of the available implementations.
Original languageEnglish
Title of host publicationProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
EditorsRanjit Jhala, Işil Dillig
Place of PublicationNew York, NY, USA
PublisherACM Association for Computing Machinery
Pages1025-1038
Number of pages14
ISBN (Electronic)978-1-4503-9265-5
DOIs
Publication statusPublished - 9 Jun 2022
Event 43rd ACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, United States
Duration: 15 Jun 202217 Jun 2022
Conference number: 43
https://pldi22.sigplan.org/

Conference

Conference 43rd ACM SIGPLAN Conference on Programming Language Design and Implementation
Abbreviated titlePLDI 2022
Country/TerritoryUnited States
CitySan Diego
Period15/06/2217/06/22
Internet address

Keywords / Materials (for Non-textual outputs)

  • property-based testing
  • linear temporal logic
  • web fronted programming
  • semantics

Fingerprint

Dive into the research topics of 'Quickstrom: property-based acceptance testing with LTL specifications'. Together they form a unique fingerprint.

Cite this