Programming and Execution Models for Parallel Bounded Exhaustive Testing

被引:1
|
作者
Al Awar, Nader [1 ]
Jain, Kush [1 ]
Rossbach, Christopher J. [1 ,2 ]
Gligoric, Milos [1 ]
机构
[1] Univ Texas Austin, Austin, TX 78712 USA
[2] Katana Graph, Austin, TX 78712 USA
基金
美国国家科学基金会;
关键词
Bounded exhaustive testing; Test generation; Parallel programming;
D O I
10.1145/3485543
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:28
相关论文
共 50 条
  • [1] Parallel execution models for constraint programming over finite domains
    Ruiz-Andino, A
    Araujo, L
    Sáenz, F
    Ruz, J
    [J]. PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PROCEEDINGS, 1999, 1702 : 134 - 151
  • [2] Software assurance by bounded exhaustive testing
    Coppit, D
    Yang, JL
    Khurshid, S
    Le, W
    Sullivan, K
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2005, 31 (04) : 328 - 339
  • [3] Reducing the Costs of Bounded-Exhaustive Testing
    Jagannath, Vilas
    Lee, Yun Young
    Daniel, Brett
    Marinov, Darko
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2009, 5503 : 171 - 185
  • [4] RepOK-based reduction of bounded exhaustive testing
    Bengolea, Valeria
    Aguirre, Nazareno
    Marinov, Darko
    Frias, Marcelo
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2014, 24 (08): : 629 - 655
  • [5] Elusive bugs, Bounded Exhaustive Testing and incomplete oracles
    Howden, W. E.
    [J]. ICSOFT 2008: PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES, VOL SE/GSDCA/MUSE, 2008, : 115 - 121
  • [6] From Sequential Programming to Flexible Parallel Execution
    Raman, Arun
    Lee, Jae W.
    August, David I.
    [J]. CASES'12: PROCEEDINGS OF THE 2012 ACM INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURES AND SYNTHESIS FOR EMBEDDED SYSTEMS, 2012, : 37 - 40
  • [7] Bounded Exhaustive Testing with Certified and Optimized Data Enumeration Programs
    Erard, Clotilde
    Giorgetti, Alain
    [J]. TESTING SOFTWARE AND SYSTEMS (ICTSS 2019), 2019, 11812 : 159 - 175
  • [8] New trends in programming and execution models for parallel architectures, heterogeneously distributed systems and mobile computing
    Zima, H
    Di Martino, B
    [J]. JOURNAL OF SYSTEMS ARCHITECTURE, 1999, 45 (15) : 1259 - 1261
  • [9] OR-PARALLEL EXECUTION MODELS OF PROLOG
    WARREN, DHD
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1987, 250 : 243 - 259
  • [10] Parallel execution models for constraint propagation
    Ruiz-Andino, A
    Araujo, L
    Sáenz, F
    Ruz, J
    [J]. PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING - CP98, 1998, 1520 : 473 - 473