Testing feature-rich blockchains

被引:0
|
作者
Arts, Thomas [1 ]
Svensson, Hans [1 ]
Earle, Clara Benac [2 ,3 ]
Fredlund, Lars-Ake [2 ]
机构
[1] Quviq AB, Gothenburg, Sweden
[2] Univ Politecn Madrid, Babel Res Grp, Boadilla Del Monte 28660, Spain
[3] Univ Politecn Madrid, UPM Campus Montegancedo S-N, Boadilla Del Monte 28660, Spain
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2023年 / 53卷 / 05期
关键词
blockchain; property-based testing; QUICKCHECK;
D O I
10.1002/spe.3183
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Blockchain implementations have become more and more advanced, combining many different features in the same framework (e.g., oracles, names, and state channels). Since the cost of errors in reputation and represented value is high in the blockchain world, software quality is of the utmost importance. One of the main methods used to assure such high software quality is careful testing. However, the number of tests needed to achieve a high level of assurance grows quadratic with the pairs of features of the blockchain, and when testing triples features the growth is cubic. To manually craft the required large number of tests is an almost impossible undertaking in practice. In this article, we describe how property-based testing (PBT) techniques have been used to automate testing of the core part of the Aeternity blockchain, ensuring the high software quality of the blockchain. Even though PBT is a powerful testing technique, applying it to the task of testing a complex system such as a blockchain, is far from trivial. The structure of the Aeternity property-based test model follows the structure of the blockchain, that is, it cleanly separates different blockchain features (e.g., oracles, smart contracts) into different model parts, and moreover, reduces the amount of boilerplate test model code by focusing on the identification of valid blockchain transactions. The test model is evaluated through a careful instrumentation of test code which permits observations of which combinations of features have been tested during a test run, and with which frequency. This article documents the details of how these issues were addressed in the development of the Aeternity test model, providing insights into both the testing of other blockchains as well as the testing of other complex feature based systems.
引用
收藏
页码:1144 / 1173
页数:30
相关论文
共 50 条
  • [1] Testing feature-rich reactive systems
    Savor, Tony
    [J]. IEEE SOFTWARE, 2008, 25 (04) : 74 - 81
  • [2] Study on the feature-rich collocation translation
    MOE-MS Key Laboratory of Natural Language Processing and Speech, Harbin Institute of Technology, Harbin 150001, China
    不详
    [J]. Harbin Gongye Daxue Xuebao, 2007, 11 (1790-1795):
  • [3] Modeling and Mining Feature-Rich Networks
    Kanawati, Rushed
    Atzmueller, Martin
    [J]. COMPANION OF THE WORLD WIDE WEB CONFERENCE (WWW 2019 ), 2019, : 1306 - 1307
  • [4] Plan 9: Feature film to feature-rich OS
    Fillinich, P
    [J]. BYTE, 1996, 21 (03): : 143 - 144
  • [5] A framework for developing feature-rich software systems
    Tun, Thein Than
    Chapman, Rod
    Haley, Charles
    Laney, Robin
    Nuseibeh, Bashar
    [J]. 16TH ANNUAL IEEE INTERNATIONAL CONFERENCE AND WORKSHOP ON THE ENGINEERING OF COMPUTER BASED SYSTEMS, PROCEEDINGS, 2009, : 206 - 214
  • [6] Searchable Encryption over Feature-Rich Data
    Wang, Qian
    He, Meiqi
    Du, Minxin
    Chow, Sherman S. M.
    Lai, Russell W. F.
    Zou, Qin
    [J]. IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2018, 15 (03) : 496 - 510
  • [7] Proscene: A feature-rich framework for interactive environments
    Pierre Charalambos, Jean
    [J]. SOFTWAREX, 2017, 6 : 48 - 53
  • [8] Feature-rich electronic properties in graphene ripples
    Lin, Shih-Yang
    Chang, Shen-Lin
    Shyu, Feng-Lin
    Lu, Jian-Ming
    Lin, Ming-Fa
    [J]. CARBON, 2015, 86 : 207 - 216
  • [9] Feature-rich statistical translation of noun phrases
    Koehn, P
    Knight, K
    [J]. 41ST ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, PROCEEDINGS OF THE CONFERENCE, 2003, : 311 - 318
  • [10] Darjeeling, A Feature-Rich VM for the Resource Poor
    Brouwers, Niels
    Langendoen, Koen
    Corke, Peter
    [J]. SENSYS 09: PROCEEDINGS OF THE 7TH ACM CONFERENCE ON EMBEDDED NETWORKED SENSOR SYSTEMS, 2009, : 169 - 182