Combining test case generation and runtime verification

被引:43
|
作者
Artho, C
Barringer, H
Goldberg, A
Havelund, K
Khurshid, S
Lowry, M
Pasareanu, C
Rosu, G
Sen, K
Visser, W
Washington, R
机构
[1] ETH, Inst Comp Syst, CH-8092 Zurich, Switzerland
[2] Univ Manchester, Sch Comp Sci, Manchester M13 9PL, Lancs, England
[3] Univ Texas, UT ARISE, Austin, TX 78712 USA
[4] NASA, Ames Res Ctr, Kestrel Technol, Moffett Field, CA 94035 USA
[5] Univ Illinois, Dept Comp Sci, Urbana, IL 61801 USA
[6] NASA, Ames Res Ctr, RIACS, Moffett Field, CA 94035 USA
关键词
automated testing; test case generation; model checking; symbolic execution; runtime verification; temporal logic; concurrency analysis; NASA rover controller;
D O I
10.1016/j.tcs.2004.11.007
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Software testing is typically an ad hoe process where human testers manually write test inputs and descriptions of expected test results, perhaps automating their execution in a regression suite. This process is cumbersome and costly. This paper reports results on a framework to further automate this process. The framework consists of combining automated test case generation based on systematically exploring the input domain of the program with runtime verification, where execution traces are monitored and verified against properties expressed in temporal logic. Capabilities also exist for analyzing traces for concurrency errors, such as deadlocks and data races. The input domain of the program is explored using a model checker extended with symbolic execution. Properties are formulated in an expressive temporal logic. A methodology is advocated that automatically generates properties specific to each input rather than formulating properties uniformly true for all inputs. The paper describes an application of the technology to a NASA rover controller. 2004 Published by Elsevier B.V.
引用
收藏
页码:209 / 234
页数:26
相关论文
共 50 条
  • [21] VeriAbs: Verification by Abstraction and Test Generation
    Darke, Priyanka
    Prabhu, Sumanth
    Chimdyalwar, Bharti
    Chauhan, Avriti
    Kumar, Shrawan
    Basakchowdhury, Animesh
    Venkatesh, R.
    Datar, Advaita
    Medicherla, Raveendra Kumar
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2018, PT II, 2018, 10806 : 457 - 462
  • [22] Functional test-case generation by a control transaction graph for TLM verification
    Kakoee, Mohammad Reza
    Neishaburi, M. H.
    Mohanimadi, Siamak
    [J]. DSD 2007: 10TH EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN ARCHITECTURES, METHODS AND TOOLS, PROCEEDINGS, 2007, : 157 - 164
  • [23] Verification-based Test Case Generation for Information-Flow Properties
    Herda, Mihai
    Tyszberowicz, Shmuel
    Muessig, Joachim
    Beckert, Bernhard
    [J]. SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 2231 - 2238
  • [24] Scheduling-based test-case generation for verification of multimedia SoCs
    Nahir, Amir
    Ziv, Avi
    Emek, Roy
    Keidar, Tal
    Ronen, Nir
    [J]. 43RD DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2006, 2006, : 348 - +
  • [25] Verification-based Test Case Generation for Full Feasible Branch Coverage
    Gladisch, Christoph
    [J]. SEFM 2008: SIXTH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, PROCEEDINGS, 2008, : 159 - 168
  • [26] Specification-based verification of embedded systems by automated test case generation
    Kirchsteiger, Christoph M.
    Trummer, Christoph
    Steger, Christian
    Weiss, Reinhold
    Pistauer, Markus
    [J]. DISTRIBUTED EMBEDDED SYSTEMS: DESIGN, MIDDLEWARE AND RESOURCES, 2008, : 35 - +
  • [27] Checking and Enforcing Safety: Runtime Verification and Runtime Reflection
    Leucker, Martin
    [J]. ERCIM NEWS, 2008, (75): : 35 - 36
  • [28] ROSRV: Runtime Verification for Robots
    Huang, Jeff
    Erdogan, Cansu
    Zhang, Yi
    Moore, Brandon
    Luo, Qingzhou
    Sundaresan, Aravind
    Rosu, Grigore
    [J]. RUNTIME VERIFICATION, RV 2014, 2014, 8734 : 247 - 254
  • [29] Runtime verification of .NET contracts
    Barnett, M
    Schulte, W
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2003, 65 (03) : 199 - 208
  • [30] Runtime verification of C programs
    Havelund, Klaus
    [J]. TESTING OF SOFTWARE AND COMMUNICATING SYSTEMS, PROCEEDINGS, 2008, 5047 : 7 - 22