Affiliation:
1. University of Texas at Austin, USA
2. University of Texas at Austin, USA / Katana Graph, USA
Abstract
Bounded-exhaustive testing (BET), which exercises a program under test for all inputs up to some bounds, is an effective method for detecting software bugs. Systematic property-based testing is a BET approach where developers write test generation programs that describe properties of test inputs. Hybrid test generation programs offer the most expressive way to write desired properties by freely combining declarative filters and imperative generators. However, exploring hybrid test generation programs, to obtain test inputs, is both computationally demanding and challenging to parallelize. We present the first programming and execution models, dubbed Tempo, for parallel exploration of hybrid test generation programs. We describe two different strategies for mapping the computation to parallel hardware and implement them both for GPUs and CPUs. We evaluated Tempo by generating instances of various data structures commonly used for benchmarking in the BET domain. Additionally, we generated CUDA programs to stress test CUDA compilers, finding four bugs confirmed by the developers.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference47 articles.
1. Legion: Expressing locality and independence with logical regions
2. Design, Implementation, and Application of GPU-based Java Bytecode Interpreters. In Conference on Object-Oriented Programming;Celik Ahmet;Systems, Languages, and Applications.,2019
3. Bounded Exhaustive Test-Input Generation on GPUs. In Conference on Object-Oriented Programming;Celik Ahmet;Systems, Languages, and Applications.,2017
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. BEAPI: A tool for bounded exhaustive input generation from APIs;Science of Computer Programming;2024-12
2. Learning Deep Semantics for Test Completion;2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE);2023-05