Testing abstract distributed programs and their implementations: A constraint-based approach

被引:2
作者
Carver, RH
机构
[1] Department of Computer Science, George Mason University, Fairfax, VA
[2] Department of Computer Science, George Mason University, Fairfax
关键词
D O I
10.1016/0164-1212(96)00024-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An abstract program is a formal specification that models the valid behavior of a concurrent program without describing particular implementation mechanisms that achieve this behavior. Valid behavior can be modeled as the possible sequences of events that may be observed of a conforming concrete implementation of the abstract program. In this article, we address the problem of how to select event sequences from an abstract program to test its concrete implementation. Sequencing constraints make explicit certain types of required properties that are expressed only implicitly by the abstract program itself. The sequencing constraints derived from an abstract program can be used to guide the selection of event sequences during testing: sequences are selected to check the implementation for conformance to the required properties. We describe a constraint notation called CSPE and formally define CSPE constraints in the propositional modal mu-calculus. CSPE constraints can be automatically derived from abstract CCS and Lotos programs, and test sequences can be generated to cover the constraints. We describe a test sequence generation tool that can be used to partially automate this process. The test sequence generator inputs an abstract program and a list of constraints, and outputs a list of test sequences. The test sequence generator was used in an experiment to measure the effectiveness of the test sequences. We created mutations of a nontrivial concurrent Ada program in order to determine the mutation adequacy of a set of test sequences generated from an abstract program. The abstract program was a specification of the Sliding Window Protocol. The results of the experiment are reported.
引用
收藏
页码:223 / 237
页数:15
相关论文
共 23 条
  • [1] ARVER R, 1995, P DISTR COMP SYST, P360
  • [2] BOCHMANN GV, 1993, IEEE T SOFTWARE ENG, V15, P1347
  • [3] BRINKSMA E, 1987, PROTOCOL SPECIFICATI, V6, P349
  • [4] Bruns G., 1994, Formal Aspects of Computing, V6, P92, DOI 10.1007/BF01211082
  • [5] CARVER R, 1993, INTERNATIONAL TEST CONFERENCE 1993 PROCEEDINGS, P845, DOI 10.1109/TEST.1993.470617
  • [6] CARVER R, 1991, P IEEE INT C DISTR C, P544
  • [7] CARVER RH, 1991, IEEE SOFTWARE MAR, P66
  • [8] CAVALLI A, 1992, PROTOCOL TEST SYSTEM, V5, P237
  • [9] AUTOMATIC VERIFICATION OF FINITE-STATE CONCURRENT SYSTEMS USING TEMPORAL LOGIC SPECIFICATIONS
    CLARKE, EM
    EMERSON, EA
    SISTLA, AP
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1986, 8 (02): : 244 - 263
  • [10] THE CONCURRENCY WORKBENCH - A SEMANTICS-BASED TOOL FOR THE VERIFICATION OF CONCURRENT SYSTEMS
    CLEAVELAND, R
    PARROW, J
    STEFFEN, B
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1993, 15 (01): : 36 - 72