Affiliation:
1. University of Pennsylvania, USA
2. University of Maryland, College Park, USA
Abstract
Property-based testing is a mainstay of functional programming, boasting a rich literature, an enthusiastic user community, and an abundance of tools — so many, indeed, that new users may have difficulty choosing. Moreover, any given framework may support a variety of strategies for generating test inputs; even experienced users may wonder which are better in a given situation. Sadly, the PBT literature, though long on creativity, is short on rigorous comparisons to help answer such questions.
We present Etna, a platform for empirical evaluation and comparison of PBT techniques. Etna incorporates a number of popular PBT frameworks and testing workloads from the literature, and its extensible architecture makes adding new ones easy, while handling the technical drudgery of performance measurement. To illustrate its benefits, we use Etna to carry out several experiments with popular PBT approaches in both Coq and Haskell, allowing users to more clearly understand best practices and tradeoffs.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference51 articles.
1. Alexandr Andoni Dumitru Daniliuc Sarfraz Khurshid and Darko Marinov. 2002. Evaluating the "Small Scope Hypothesis". Oct.
2. Testing Erlang data types with quviq quickcheck
3. The New Quickcheck for Isabelle
4. Lukas Bulwahn. 2012. Smart Testing of Functional Programs in Isabelle. In 18th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning (Lecture Notes in Computer Science, Vol. 7180). Springer, 153–167. isbn:978-3-642-28716-9
5. Generating Constrained Random Data with Uniform Distribution
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Property-Based Testing in Practice;Proceedings of the IEEE/ACM 46th International Conference on Software Engineering;2024-04-12
2. Don’t Go Down the Rabbit Hole: Reprioritizing Enumeration for Property-Based Testing;Proceedings of the 16th ACM SIGPLAN International Haskell Symposium;2023-08-30
3. QuickerCheck: Implementing and Evaluating a Parallel Run-Time for QuickCheck;The 35th Symposium on Implementation and Application of Functional Languages;2023-08-29