Property-Based Test Case Generators for Free

被引:5
作者
De Angelis, Emanuele [1 ]
Fioravanti, Fabio [1 ]
Palacios, Adrian [2 ]
Pettorossi, Alberto [3 ]
Proietti, Maurizio [4 ]
机构
[1] Univ G dAnnunzio, DEC, Pescara, Italy
[2] Univ Politecn Valencia, DSIC, MiST, Valencia, Spain
[3] Univ Roma Tor Vergata, Rome, Italy
[4] CNR IASI, Rome, Italy
来源
TESTS AND PROOFS (TAP 2019) | 2019年 / 11823卷
关键词
FRAMEWORK; JML;
D O I
10.1007/978-3-030-31157-5_12
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Property-Based Testing requires the programmer to write suitable generators, i.e., programs that generate (possibly in a random way) input values for which the program under test should be run. However, the process of writing generators is quite a costly, error-prone activity. In the context of Property-Based Testing of Erlang programs, we propose an approach to relieve the programmer from the task of writing generators. Our approach allows the automatic, efficient generation of input test values that satisfy a given specification. In particular, we have considered the case when the input values are data structures satisfying complex constraints. That generation is performed via the symbolic execution of the specification using constraint logic programming.
引用
收藏
页码:186 / 206
页数:21
相关论文
共 39 条
[1]  
Amaral C, 2014, LECT NOTES COMPUT SC, V8475, P1, DOI 10.1007/978-3-319-07151-0_1
[2]  
[Anonymous], 2006, P 2006 ACM SIGPLAN W
[3]  
[Anonymous], 2009, Introduction to Algorithms
[4]  
Armstrong Joe, 1996, Concurrent Programming in Erlang
[5]  
Bouquet F, 2006, LECT NOTES COMPUT SC, V4085, P428
[6]  
Boyapati C., 2002, Software Engineering Notes, V27, P123, DOI 10.1145/566171.566191
[7]  
Carlier Matthieu, 2012, Tests and Proofs. Proceedings 6th International Conference, TAP 2012, P35, DOI 10.1007/978-3-642-30473-6_5
[8]  
Carlier M., 2013, CCIS, V170, P140, DOI [10.1007/978-3-642-29578-29, DOI 10.1007/978-3-642-29578-29]
[9]  
Carlsson R., 2004, Technical report
[10]   αCheck: A mechanized metatheory model checker [J].
Cheney, James ;
Momigliano, Alberto .
THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2017, 17 (03) :311-352