Testing Meets Static and Runtime Verification

被引:2
|
作者
Chimento, Jesus Mauricio [1 ]
Ahrendt, Wolfgang [1 ]
Schneider, Gerardo [2 ]
机构
[1] Chalmers Univ Technol, Gothenburg, Sweden
[2] Univ Gothenburg, Gothenburg, Sweden
关键词
Test driven development; Static Verification; Runtime Verification; !text type='Java']Java[!/text; GENERATION;
D O I
10.1145/3193992.3194000
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Test driven development (TDD) is a technique where test cases are used to guide the development of a system. This technique introduces several advantages at the time of developing a system, e.g. writing clean code, good coverage for the features of the system, and evolutionary development. In this paper we show how the capabilities of a testing focused development methodology based on TDD and model-based testing, can be enhanced by integrating static and runtime verification into its workflow. Considering that the desired system properties capture data- as well as control-oriented aspects, we integrate TDD with (static) deductive verification as an aid in the development of the data-oriented aspects, and we integrate model-based testing with runtime verification as an aid in the development of the control-oriented aspects. As a result of this integration, the proposed development methodology features the benefits of TDD and model-based testing, enhanced with, for instance, early detection of bugs which may be missed by TDD, regarding data aspects, and the validation of the overall system with respect to the model, regarding the control aspects.
引用
收藏
页码:30 / 39
页数:10
相关论文
共 50 条
  • [1] Interactive Runtime Verification - When Interactive Debugging meets Runtime Verification
    Jakse, Raphael
    Falcone, Ylies
    Mehaut, Jean-Francois
    Pouget, Kevin
    [J]. 2017 IEEE 28TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2017, : 182 - 193
  • [2] Integrated static code analysis and runtime verification
    Sozer, H.
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2015, 45 (10): : 1359 - 1373
  • [3] Reactive Control Meets Runtime Verification: A Case Study of Navigation
    Ulus, Dogan
    Belta, Cahn
    [J]. RUNTIME VERIFICATION, RV 2019, 2019, 11757 : 368 - 374
  • [4] Tainting in Smart Contracts: Combining Static and Runtime Verification
    Azzopardi, Shaun
    Ellul, Joshua
    Falzon, Ryan
    Pace, Gordon J.
    [J]. RUNTIME VERIFICATION (RV 2022), 2022, 13498 : 143 - 161
  • [5] Static and Runtime Verification, Competitors or Friends? (Track Summary)
    Gurov, Dilian
    Havelund, Klaus
    Huisman, Marieke
    Monahan, Rosemary
    [J]. LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: FOUNDATIONAL TECHNIQUES, PT I, 2016, 9952 : 397 - 401
  • [6] STARVOORS: A Tool for Combined Static and Runtime Verification of Java']Java
    Chimento, Jesus Mauricio
    Ahrendt, Wolfgang
    Pace, Gordon J.
    Schneider, Gerardo
    [J]. RUNTIME VERIFICATION, RV 2015, 2015, 9333 : 297 - 305
  • [7] A Specification Language for Static and Runtime Verification of Data and Control Properties
    Ahrendt, Wolfgang
    Chimento, Jesus Mauricio
    Pace, Gordon J.
    Schneider, Gerardo
    [J]. FM 2015: FORMAL METHODS, 2015, 9109 : 108 - 125
  • [8] A Method of Software Static Testing in the Presence of Runtime Exception
    Jin, Dahai
    Gong, Yunzhan
    Yang, Zhaohong
    Xiao, Qing
    Liu, Chuanchang
    [J]. ADVANCED RESEARCH ON MECHANICAL ENGINEERING, INDUSTRY AND MANUFACTURING ENGINEERING, PTS 1 AND 2, 2011, 63-64 : 789 - +
  • [9] Painless Support for Static and Runtime Verification of Component-Based Applications
    Gaspar, Nuno
    Henrio, Ludovic
    Madelaine, Eric
    [J]. FUNDAMENTALS OF SOFTWARE ENGINEERING, FSEN 2015, 2015, 9392 : 259 - 274
  • [10] Proxy-Monitor: An Integration of Runtime Verification with Passive Conformance Testing
    Salva, Sebastien
    Cao, Tien-Dung
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE INNOVATION, 2014, 2 (02) : 20 - 42