Efficient Data-Race Detection with Dynamic Symbolic Execution

被引:1
|
作者
Ibing, Andreas [1 ]
机构
[1] Tech Univ Munich, Chair IT Secur, Bollzmannstr 3, D-85748 Garching, Germany
关键词
race detection; symbolic execution; interpolation; branch coverage;
D O I
10.15439/2016F117
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
This paper presents data race detection using dynamic symbolic execution and hybrid lockset / happens-before analysis. Symbolic execution is used to explore the execution tree of multi-threaded software for FIFO scheduling on a single CPU core. Compared to exploring the joint scheduling and execution tree, the combinatorial explosion is drastically reduced. An SMT solver is used to control a debugger's machine interface for adaptive dynamic instrumentation to drive program execution into desired paths. Data races are detected in concrete execution with available static binary instrumentation using hybrid analysis. State interpolation using unsatisfiable cores is employed for path pruning, to avoid exploration of paths that do not contribute to increasing branch coverage. An implementation in Eclipse CDT is described and evaluated with data race test cases from the Juliet C/C++ test suite for program analyzers.
引用
收藏
页码:1719 / 1726
页数:8
相关论文
共 50 条
  • [21] Efficient State Merging in Symbolic Execution
    Kuznetsov, Volodymyr
    Kinder, Johannes
    Bucur, Stefan
    Candea, George
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (06) : 193 - 204
  • [22] Efficient Loop Navigation for Symbolic Execution
    Obdrzalek, Jan
    Trtik, Marek
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, 2011, 6996 : 453 - 462
  • [23] Data-race and concurrent-write freedom are undecidable
    Campos, AE
    Suazo, DA
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2003, 29 (1-2) : 1 - 13
  • [24] Efficient symbolic execution for software testing
    Kinder, Johannes
    [J]. 2014 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), 2014, : 5 - 5
  • [25] Efficient and formal generalized symbolic execution
    Xianghua Deng
    Jooyong Lee
    [J]. Automated Software Engineering, 2012, 19 : 233 - 301
  • [26] Efficient and formal generalized symbolic execution
    Deng, Xianghua
    Lee, Jooyong
    Robby
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2012, 19 (03) : 233 - 301
  • [27] TracerX: Dynamic symbolic execution with interpolation
    Jaffar, Joxan
    Maghareh, Rasool
    Godboley, Sangharatna
    Ha, Xuan-Linh
    [J]. arXiv, 2020,
  • [28] Dynamic Path Pruning in Symbolic Execution
    Chen, Ying-Shen
    Chen, Wei-Ning
    Wu, Che-Yu
    Hsiao, Hsu-Chun
    Huang, Shih-Kun
    [J]. 2018 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING (DSC), 2018, : 123 - 130
  • [29] Anxiety: a dynamic symbolic execution framework
    Gerasimov, Alexander
    Vartanov, Sergey
    Ermakov, Mikhail
    Kruglov, Leonid
    Kutz, Daniil
    Novikov, Alexander
    Asryan, Seryozha
    [J]. 2017 IVANNIKOV ISPRAS OPEN CONFERENCE (ISPRAS), 2017, : 16 - 21
  • [30] DATA RACE DETECTION BASED ON EXECUTION REPLAY FOR PARALLEL APPLICATIONS
    BERANEK, A
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1992, 634 : 109 - 114