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] Automatic generation of formal specification from requirements definition
    Jin, LZ
    Zhu, H
    FIRST IEEE INTERNATIONAL CONFERENCE ON FORMAL ENGINEERING METHODS, PROCEEDINGS, 1997, : 243 - 251
  • [22] Test generation games from formal specifications
    Banerjee, Ansuman
    Pal, Bhaskar
    Das, Sayantan
    Kumar, Abhijeet
    Dasgupta, Pallab
    43RD DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2006, 2006, : 827 - +
  • [23] A Transformation-Based Method for Test Case Automatic Generation from Use Cases
    Chu Thi Minh Hue
    Dang Duc Hanh
    Nguyen Ngoc Binh
    PROCEEDINGS OF 2018 10TH INTERNATIONAL CONFERENCE ON KNOWLEDGE AND SYSTEMS ENGINEERING (KSE), 2018, : 252 - 257
  • [24] AUTOMATIC GENERATION OF TEST CASES FROM ACTIVITY DIAGRAMS FOR UML BASED TESTING (UBT)
    Oluwagbemi, Oluwatolani
    Asmuni, Hishammuddin
    JURNAL TEKNOLOGI, 2015, 77 (13): : 37 - 48
  • [25] Testing Semantics and Automatic Test Cases Generation for Statechart Specification
    Yang Xinmin
    Wang Weiwei
    Mo Yuchang
    PROCEEDINGS OF 2009 CONFERENCE ON COMMUNICATION FACULTY, 2009, : 242 - +
  • [26] Automatic generation of SCTP test cases in multiservice switching system
    Lee, HJ
    Uhm, NK
    Choi, YI
    Lee, BS
    Jun, KP
    INTEGRATED COMPUTER-AIDED ENGINEERING, 2002, 9 (02) : 175 - 183
  • [27] Progress of Software Vulnerability Identification and Automatic Test Cases Generation
    Huang, Zhao
    Huang, Shuguang
    Deng, Zhaokun
    2018 EIGHTH INTERNATIONAL CONFERENCE ON INSTRUMENTATION AND MEASUREMENT, COMPUTER, COMMUNICATION AND CONTROL (IMCCC 2018), 2018, : 1107 - 1111
  • [28] USLTG: Test Case Automatic Generation by Transforming Use Cases
    Chu Thi Minh Hue
    Duc-Hanh Dang
    Nguyen Ngoc Binh
    Anh-Hoang Truong
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2019, 29 (09) : 1313 - 1345
  • [29] Automatic Requirement Extraction from Test Cases
    Ackermann, Chris
    Cleaveland, Rance
    Huang, Samuel
    Ray, Arnab
    Shelton, Charles
    Latronico, Elizabeth
    RUNTIME VERIFICATION, 2010, 6418 : 1 - +
  • [30] Code Generation from Formal Models for Automatic RTOS Portability
    Gomes, Renata Martins
    Baunach, Marcel
    PROCEEDINGS OF THE 2019 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO '19), 2019, : 271 - 272