Automatic test cases generation from formal contracts

被引:0
|
作者
Gil, Samuel Jimenez [1 ]
Capel, Manuel I. [2 ]
Olea, Gabriel [2 ]
机构
[1] SatixFy Space Syst UK, Trident Unit 2, Styal Rd, Manchester M22 5XB, England
[2] Univ Granada, Dept Software Engn, ETSIIT, Granada 18071, Spain
关键词
Automatic test cases generation; Software testing; Formal methods; Software verification;
D O I
10.1016/j.infsof.2024.107467
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Software verification for critical systems is facing an unprecedented cost increase due to the large amount of software packed in multicore platforms generally. A substantial amount of the verification efforts are dedicated to testing. Spark/Ada is a language often employed in safety -critical systems due to its high reliability. Formal contracts are often inserted in Spark's program specification to be used by a static theorem prover that checks whether the specification conforms with the implementation. However, this static analysis has its limitations as certain bugs can only be spotted through software testing. Objective: The main goal of our work is to use these formal contracts in Spark as input for a test oracle - whose method we describe - to generate test cases. Subsequent objectives consist of a) arguing about the traceability to comply with safety -critical software standards such as DO -178C for civil avionics and b) embracing the best -established software testing methods for these systems. Method: Our test generation method reads Spark formal contracts and applies Equivalence Class Partitioning with Boundary Analysis as a software testing method generating traceable test cases. Results: The evaluation, which uses an array of open -source examples of Spark contracts, shows a high level of passed test cases and statement coverage. The results are also compared against a random test generator. Conclusion: The proposed method is very effective at achieving a high number of passed test cases and coverage. We make the case that the effort to create formal specifications for Spark can be used both for proof and (automatic) testing. Lastly, we noticed that some formal contracts are more suitable than others for our test generation.
引用
收藏
页数:13
相关论文
共 50 条
  • [21] NaNofuzz: A Usable Tool for Automatic Test Generation
    Davis, Matthew C.
    Choi, Sangheon
    Estep, Sam
    Myers, Brad A.
    Sunshine, Joshua
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 1114 - 1126
  • [22] COMBINATORIAL DESIGN APPROACHES FOR AUTOMATIC TEST GENERATION
    Shi Liang Xu Baowen Nie Changhai (Dept of Computer Science & Eng.
    Journal of Electronics(China), 2005, (02) : 205 - 208
  • [23] Analysis of the Automatic Test Generation Tool: CREST
    Chen, Ruidong
    Luo, Yu
    Li, Ruixing
    Zhang, Xiaosong
    Ying, Lingyun
    2016 INTERNATIONAL CONFERENCE ON INTELLIGENT TRANSPORTATION, BIG DATA & SMART CITY (ICITBS), 2017, : 68 - 72
  • [24] MoFQA: An Approach for Automatic TDD Test Case Generation from MDD Models
    Riquelme, Linda
    Gonzalez, Magali
    Aquino, Nathalie
    Cernuzzi, Luca
    2018 XLIV LATIN AMERICAN COMPUTER CONFERENCE (CLEI 2018), 2018, : 11 - 20
  • [25] Study on Automatic Software Test Case Generation
    Mulla, Nilofar
    Jayakumar, Naveenkumar
    Joshi, Shashank
    Godse, Deepali
    PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON DATA SCIENCE, MACHINE LEARNING AND APPLICATIONS, VOL 1, ICDSMLA 2023, 2025, 1273 : 251 - 258
  • [26] Automatic synthesis of controllers from formal specifications
    Tronci, E
    SECOND INTERNATIONAL CONFERENCE ON FORMAL ENGINEERING METHODS, PROCEEDINGS, 1998, : 134 - 143
  • [27] Formal Modeling and Verification of Smart Contracts
    Bai, Xiaomin
    Cheng, Zijing
    Duan, Zhangbo
    Hu, Kai
    PROCEEDINGS OF 2018 7TH INTERNATIONAL CONFERENCE ON SOFTWARE AND COMPUTER APPLICATIONS (ICSCA 2018), 2018, : 322 - 326
  • [28] Interactivity in the Generation of Test Cases with Evolutionary Computation
    Ramirez, Aurora
    Delgado-Perez, Pedro
    Valle-Gomez, Kevin J.
    Medina-Bulo, Inmaculada
    Raul Romero, Jose
    2021 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC 2021), 2021, : 2395 - 2402
  • [29] Automated Generation of Performance Test Cases from Functional Tests for Web Applications
    Toledo Rodriguez, Federo
    Reina, Matias
    Baptista, Fabian
    Polo Usaola, Macario
    Perez Lamancha, Beatriz
    EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2013, 2013, 417 : 164 - 173
  • [30] Generation of Test Cases from Software Requirements Using Natural Language Processing
    Verma, Ravi Prakash
    Beg, Md. Rizwan
    2013 SIXTH INTERNATIONAL CONFERENCE ON EMERGING TRENDS IN ENGINEERING AND TECHNOLOGY (ICETET 2013), 2013, : 140 - 147