An Efficient Static Trace Simplification Technique for Debugging Concurrent Programs

被引:0
|
作者
Huang, Jeff [1 ]
Zhang, Charles [1 ]
机构
[1] Hong Kong Univ Sci & Technol, Dept Comp Sci & Engn, Hong Kong, Hong Kong, Peoples R China
来源
STATIC ANALYSIS | 2011年 / 6887卷
关键词
Trace simplification; Debugging; Concurrent program; ATOMICITY VIOLATIONS;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
One of the major difficulties in debugging concurrent programs is that the programmer usually experiences frequent thread context switches, which perplexes the reasoning process. This problem can be alleviated by trace simplification techniques, which produce the same computation process but with much fewer number of context switches. The state of the art trace simplification technique takes a dynamic approach and does not scale well to large traces, hampering its practicality. We present a static trace simplification approach, SimTrace, that dramatically improves the efficiency of trace simplification through reasoning about the computation equivalence of traces offline. By constructing a dependence graph model of events, our trace simplification algorithm scales linearly to the trace size and quadratic to the number of nodes in the dependence graph. Underpinned by a trace equivalence theorem, we guarantee that the results generated by SimTrace are sound and no dynamic program re-execution is required to validate the trace equivalence. Our experiments show that SimTrace scales well to traces with more than 1M events, making it attractive to practical use.
引用
收藏
页码:163 / 179
页数:17
相关论文
共 50 条
  • [1] An Efficient Binary Technique for Trace Simplifications of Concurrent Programs
    El-Zawawy, Mohamed A.
    Alanazi, Mohammad N.
    [J]. PROCEEDINGS OF THE 2014 IEEE 6TH INTERNATIONAL CONFERENCE ON ADAPTIVE SCIENCE AND TECHNOLOGY (ICAST 2014), 2014,
  • [2] DEBUGGING CONCURRENT PROGRAMS
    MCDOWELL, CE
    HELMBOLD, DP
    [J]. COMPUTING SURVEYS, 1989, 21 (04) : 593 - 622
  • [3] Declarative debugging of concurrent Erlang programs
    Caballero, Rafael
    Martin-Martin, Enrique
    Riesco, Adrian
    Tamarit, Salvador
    [J]. JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2018, 101 : 22 - 41
  • [4] STATIC ANALYSIS OF PROGRAMS AS AN AID TO DEBUGGING
    TISCHLER, R
    SCHAUFLER, R
    PAYNE, C
    [J]. SIGPLAN NOTICES, 1983, 18 (08): : 155 - 158
  • [5] A bidirectional trace simplification approach based on a context switch linked list for concurrent programs
    Bo, Lili
    Jiang, Shujuan
    Wang, Rongcun
    Yu, Qiao
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2020, 32 (02):
  • [6] DEBUGGING CONCURRENT ADA PROGRAMS BY DETERMINISTIC EXECUTION
    TAI, KC
    CARVER, RH
    OBAID, EE
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (01) : 45 - 63
  • [7] INTERACTIVE DEBUGGING OF CONCURRENT PROGRAMS (EXTENDED ABSTRACT)
    WEBER, JC
    [J]. SIGPLAN NOTICES, 1983, 18 (08): : 112 - 113
  • [8] Visual debugging of data and operations for concurrent programs
    Erbacher, RF
    [J]. VISUAL DATA EXPLORATION AND ANALYSIS IV, 1997, 3017 : 120 - 128
  • [9] DETERMINISTIC EXECUTION DEBUGGING OF CONCURRENT ADA PROGRAMS
    TAI, KC
    CARVER, RH
    OBAID, EE
    [J]. PROCEEDINGS : THE THIRTEENTH ANNUAL INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE, 1989, : 102 - 109
  • [10] Instant replay debugging of concurrent logic programs
    Shen, K
    Gregory, S
    [J]. NEW GENERATION COMPUTING, 1996, 14 (01) : 79 - 107