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 条
  • [31] Automatic Test Case Generation for UML Collaboration Diagrams
    Prasanna, M.
    Chandran, K. R.
    Thiruvenkadam, K.
    IETE JOURNAL OF RESEARCH, 2011, 57 (01) : 77 - 81
  • [32] Automatic Test Data Generation Using Particle Systems
    Bueno, Paulo M. S.
    Wong, W. Eric
    Jino, Mario
    APPLIED COMPUTING 2008, VOLS 1-3, 2008, : 809 - +
  • [33] Automatic Test Image Generation using Procedural Noise
    Patrick, Matthew
    Castle, Matthew D.
    Stutt, Richard O. J. H.
    Gilligan, Christopher A.
    2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, : 654 - 659
  • [34] Systematic Mapping Study in Automatic Test Case Generation
    Mohi-Aldeen, Shayma Mustafa
    Deris, Safaai
    Mohamad, Radziah
    NEW TRENDS IN SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2014, 265 : 703 - 720
  • [35] Automatic Generation of Cost-Effective Test Oracles
    Goffi, Alberto
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 678 - 681
  • [36] Automatic Generation of DO-178 Test Procedures
    Escudero, Cesar Ochoa
    Delmas, Remi
    Bochot, Thomas
    David, Matthieu
    Wiels, Virginie
    NASA FORMAL METHODS, NFM 2018, 2018, 10811 : 399 - 415
  • [37] CONSTRAINT-BASED AUTOMATIC TEST DATA GENERATION
    DEMILLO, RA
    OFFUTT, AJ
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (09) : 900 - 910
  • [38] Test data generation based on automatic division of path
    Liao W.-Z.
    Liao, Wei-Zhi (weizhiliao2002@aliyun.com), 1600, Chinese Institute of Electronics (44): : 2254 - 2261
  • [39] SynTest-Solidity: Automated Test Case Generation and Fuzzing for Smart Contracts
    Olsthoorn, Mitchell
    Stallenberg, Dimitri
    Van Deursen, Arie
    Panichella, Annibale
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2022), 2022, : 202 - 206
  • [40] RAMBUTANS: automatic AOP-specific test generation tool
    Parizi, Reza Meimandi
    Ghani, Abdul Azim Abdul
    Lee, Sai Peck
    Khan, Saif Ur Rehman
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2017, 19 (06) : 743 - 761