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 条
  • [21] Trace-driven debugging of message passing programs
    Frumkin, M
    Hood, R
    Lopez, L
    [J]. FIRST MERGED INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM & SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING, 1998, : 753 - 762
  • [22] Reversible debugging of concurrent Erlang programs: Supporting imperative primitives
    Lami, Pietro
    Lanese, Ivan
    Stefani, Jean -Bernard
    Coen, Claudio Sacerdoti
    Fabbretti, Giovanni
    [J]. JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2024, 138
  • [23] Precise slicing of concurrent programs An Evaluation of static slicing algorithms for concurrent programs
    Giffhorn, Dennis
    Hammer, Christian
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2009, 16 (02) : 197 - 234
  • [24] Interactive Debugging of Concurrent Programs under Relaxed Memory Models
    Verma, Aakanksha
    Kalita, Pankaj Kumar
    Pandey, Awanish
    Roy, Subhajit
    [J]. CGO'20: PROCEEDINGS OF THE18TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2020, : 68 - 80
  • [25] Concurrent Predicates: A Debugging Technique for Every Parallel Programmer
    Gottschlich, Justin
    Pokam, Gilles
    Pereira, Cristiano
    Wu, Youfeng
    [J]. 2013 22ND INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT), 2013, : 331 - 340
  • [26] Systematic Debugging of Concurrent Systems Using Coalesced Stack Trace Graphs
    de Oliveira, Diego Caminha B.
    Rakamaric, Zvonimir
    Gopalakrishnan, Ganesh
    Humphrey, Alan
    Meng, Qingyu
    Berzins, Martin
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING (LCPC 2014), 2015, 8967 : 317 - 331
  • [27] Effective fault localization and context-aware debugging for concurrent programs
    Chu, Justin
    Yu, Tingting
    Hayes, Jane Huffman
    Han, Xue
    Zhao, Yu
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2022, 32 (01):
  • [28] SELECTIVE INTERPRETATION AS A TECHNIQUE FOR DEBUGGING COMPUTATIONALLY INTENSIVE PROGRAMS
    CHASE, BB
    HOOD, RT
    [J]. SIGPLAN NOTICES, 1987, 22 (07): : 113 - 124
  • [29] Apportioning: A technique for efficient reachability analysis of concurrent object-oriented programs
    Iyer, S
    Ramesh, S
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (11) : 1037 - 1056
  • [30] Apportioning: A technique for efficient reachability analysis of concurrent object-oriented programs
    Iyer, S
    Ramesh, S
    [J]. FIFTH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, PROCEEDINGS, 1998, : 124 - 131