Model-based API Testing of Apache ZooKeeper

被引:18
作者
Artho, Cyrille [1 ,2 ]
Gros, Quentin [3 ]
Rousset, Guillaume [3 ]
Banzai, Kazuaki [4 ]
Ma, Lei [5 ,6 ]
Kitamura, Takashi [2 ]
Hagiya, Masami [4 ]
Tanabe, Yoshinori [7 ]
Yamamoto, Mitsuharu [6 ]
机构
[1] KTH Royal Inst Technol, Sch Comp Sci & Commun, Stockholm, Sweden
[2] Natl Inst Adv Ind Sci & Technol, Inst Informat Technol Res, Osaka, Japan
[3] Univ Nantes, Polytech Nantes, Nantes, France
[4] Univ Tokyo, Dept Comp Sci, Tokyo, Japan
[5] Harbin Inst Technol, Dept Comp Sci, Harbin, Peoples R China
[6] Chiba Univ, Dept Math & Informat, Chiba, Japan
[7] Tsurumi Univ, Dept Lib Archival & Informat Studies, Yokohama, Kanagawa, Japan
来源
2017 10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST) | 2017年
关键词
D O I
10.1109/ICST.2017.33
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Apache ZooKeeper is a distributed data storage that is highly concurrent and asynchronous due to network communication; testing such a system is very challenging. Our solution using the tool "Modbat" generates test cases for concurrent client sessions, and processes results from synchronous and asynchronous callbacks. We use an embedded model checker to compute the test oracle for non-deterministic outcomes; the oracle model evolves dynamically with each new test step. Our work has detected multiple previously unknown defects in ZooKeeper. Finally, a thorough coverage evaluation of the core classes show how code and branch coverage strongly relate to feature coverage in the model, and hence modeling effort.
引用
收藏
页码:288 / 298
页数:11
相关论文
共 36 条
[1]  
[Anonymous], 2013, ZooKeeper: distributed process coordination
[2]  
Artho Cyrille Valentin, 2013, Hardware and Software: Verification and Testing. 9th International Haifa Verification Conference, HVC 2013. Proceedings: LNCS 8244, P112, DOI 10.1007/978-3-319-03077-7_8
[3]  
Artho C, 2013, IEEE INT CONF AUTOM, P169, DOI 10.1109/ASE.2013.6693077
[4]  
Balyo T., 2015, SAT RACE 2015
[5]  
Binder R., 2000, AW OBJ TECHNOL S
[6]   Active learning for extended finite state machines [J].
Cassel, Sofia ;
Howar, Falk ;
Jonsson, Bengt ;
Steffen, Bernhard .
FORMAL ASPECTS OF COMPUTING, 2016, 28 (02) :233-263
[7]  
CHENG KT, 1993, ACM IEEE D, P86
[8]  
Ciobanu G, 2013, SYNASC, P440
[9]   QuickCheck: A lightweight tool for random testing of Haskell programs [J].
Claessen, K ;
Hughes, J .
ACM SIGPLAN NOTICES, 2000, 35 (09) :268-279
[10]  
Forrester JE, 2000, USENIX ASSOCIATION PROCEEDINGS OF THE 4TH UNSENIX WINDOWS SYSTEMS SYMPOSIUM, P59