DEBUGGING CONCURRENT ADA PROGRAMS BY DETERMINISTIC EXECUTION

被引:61
|
作者
TAI, KC
CARVER, RH
OBAID, EE
机构
[1] NATL SCI FDN, SOFTWARE ENGN PROGRAM, WASHINGTON, DC 20550 USA
[2] GEORGE MASON UNIV, DEPT COMP SCI, FAIRFAX, VA 22030 USA
[3] SAN JOSE STATE UNIV, DEPT MATH & COMP SCI, SAN JOSE, CA 95192 USA
关键词
ADA LANGUAGE; CONCURRENT PROGRAMS; DETERMINISTIC EXECUTION; SOFTWARE DEBUGGING;
D O I
10.1109/32.67578
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An execution of a concurrent program P with input X nondeterministically exercises a sequence of synchronization events, called a synchronization sequence (or SYN-sequence). Thus, multiple executions of P with the same input X may exercise different SYN-sequences and produce different results. When debugging an erroneous execution of P with input X, it is often necessary to repeat this execution in order to collect more debugging information. However, there is no guarantee that this execution will be repeated by executing P with input X. To solve this problem requires deterministic execution debugging, which is to force a deterministic execution of a concurrent program according to the SYN-sequence of a previous execution of this program. In this paper, we present a language-based approach to deterministic execution debugging of concurrent Ada programs. Our approach is to define SYN-sequences of a concurrent Ada program in terms of Ada language constructs and to replay such SYN-sequences without the need of system-dependent debugging tools. We first show how to define a SYN-sequence of a concurrent Ada program in order to provide sufficient information for deterministic execution. Then we show how to transform a concurrent Ada program P so that the SYN-sequences of previous executions of P can be replayed. This transformation adds an Ada task to P that controls program execution by synchronizing with the original tasks in P. We also briefly describe the implementation of tools supporting deterministic execution debugging of concurrent Ada programs.
引用
收藏
页码:45 / 63
页数:19
相关论文
共 50 条
  • [21] Instant replay debugging of concurrent logic programs
    Shen, K
    Gregory, S
    NEW GENERATION COMPUTING, 1996, 14 (01) : 79 - 107
  • [22] Visual debugging concurrent programs with event structure
    Wu, Xiao-Quan
    Wei, Jun
    Ruan Jian Xue Bao/Journal of Software, 2014, 25 (03): : 457 - 471
  • [23] Visual debugging of data and operations for concurrent programs
    Erbacher, RF
    VISUAL DATA EXPLORATION AND ANALYSIS IV, 1997, 3017 : 120 - 128
  • [24] RESTRUCTURING LISP PROGRAMS FOR CONCURRENT EXECUTION
    LARUS, JR
    HILFINGER, PN
    SIGPLAN NOTICES, 1988, 23 (09): : 100 - 110
  • [25] PETRI NET MODELS OF CONCURRENT ADA PROGRAMS
    STANSIFER, R
    MARINESCU, D
    MICROELECTRONICS AND RELIABILITY, 1991, 31 (04): : 577 - 594
  • [26] CONCURRENT RUNTIME CHECKING OF ANNOTATED ADA PROGRAMS
    ROSENBLUM, DS
    SANKAR, S
    LUCKHAM, DC
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 241 : 10 - 35
  • [27] SOFTWARE FAULT TOLERANCE IN CONCURRENT ADA PROGRAMS
    CLEMATIS, A
    GIANUZZI, V
    MICROPROCESSING AND MICROPROGRAMMING, 1991, 32 (1-5): : 365 - 372
  • [28] DISTRIBUTING CONCURRENT ADA PROGRAMS BY SOURCE TRANSLATION
    BISHOP, JM
    ADAMS, SR
    PRITCHARD, DJ
    SOFTWARE-PRACTICE & EXPERIENCE, 1987, 17 (12): : 859 - 884
  • [29] USING SYMBOLIC EXECUTION FOR VERIFICATION OF ADA TASKING PROGRAMS
    DILLON, LK
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1990, 12 (04): : 643 - 669
  • [30] TIMING ISSUES IN THE DISTRIBUTED EXECUTION OF ADA PROGRAMS.
    Volz, Richard A.
    Mudge, Trevor N.
    IEEE Transactions on Computers, 1987, C-36 (04) : 449 - 459