Combining Symbolic Execution and Model Checking for Data Flow Testing

被引:27
|
作者
Su, Ting [1 ]
Fu, Zhoulai [2 ]
Pu, Geguang [1 ]
He, Jifeng [1 ]
Su, Zhendong [2 ]
机构
[1] East China Normal Univ, Shanghai Key Lab Trustworthy Comp, Shanghai, Peoples R China
[2] Univ Calif Davis, Dept Comp Sci, Davis, CA 95616 USA
关键词
COVERAGE; COST;
D O I
10.1109/ICSE.2015.81
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Data flow testing (DFT) focuses on the flow of data through a program. Despite its higher fault- detection ability over other structural testing techniques, practical DFT remains a significant challenge. This paper tackles this challenge by introducing a hybrid DFT framework: (1) The core of our framework is based on dynamic symbolic execution (DSE), enhanced with a novel guided path search to improve testing performance; and (2) we systematically cast the DFT problem as reachability checking in software model checking to complement our DSE-based approach, yielding a practical hybrid DFT technique that combines the two approaches' respective strengths. Evaluated on both open source and industrial programs, our DSE-ased approach improves DFT performance by 60 similar to 80% in terms of testing time compared with state-of-the-art search strategies, while our combined technique further reduces 40% testing time and improves data-flow coverage by 20% by eliminating infeasible test objectives. This combined approach also enables the cross-checking of each component for reliable and robust testing results.
引用
收藏
页码:654 / 665
页数:12
相关论文
共 50 条
  • [1] Symbolic execution and model checking for testing
    Pasareanu, Corina S.
    Visser, Willem
    [J]. HARDWARE AND SOFTWARE: VERIFICATION AND TESTING, 2008, 4899 : 17 - +
  • [2] Automated coverage-driven testing: combining symbolic execution and model checking
    Su, Ting
    Pu, Geguang
    Miao, Weikai
    He, Jifeng
    Su, Zhendong
    [J]. SCIENCE CHINA-INFORMATION SCIENCES, 2016, 59 (09)
  • [3] Automated coverage-driven testing: combining symbolic execution and model checking
    Ting SU
    Geguang PU
    Weikai MIAO
    Jifeng HE
    Zhendong SU
    [J]. Science China(Information Sciences), 2016, 59 (09) : 242 - 243
  • [4] Generalized symbolic execution for model checking and testing
    Khurshid, S
    Pasareanu, CS
    Visser, W
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2003, 2619 : 553 - 568
  • [5] Combining Symbolic Execution and Model Checking to Verify MPI Programs
    Yu, Hengbiao
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 527 - 529
  • [6] Combining symbolic execution with model checking to verify parallel numerical programs
    Siegel, Stephen F.
    Mironova, Anastasia
    Avrunin, George S.
    Clarke, Lori A.
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2008, 17 (02)
  • [7] Data flow testing as model checking
    Hong, HS
    Cha, SD
    Lee, I
    Sokolsky, O
    Ural, H
    [J]. 25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 232 - 242
  • [8] Combining Explicit and Symbolic LTL Model Checking Using Generalized Testing Automata
    Ben Salem, Ala Eddine
    Graiet, Mohamed
    [J]. 2015 15TH INTERNATIONAL CONFERENCE ON APPLICATIONS OF CONCURRENCY TO SYSTEM DESIGN (ACSD), 2015, : 20 - 29
  • [9] Data Flow Testing for PLC Programs via Dynamic Symbolic Execution
    He, Weigang
    Mao, Xia
    Su, Ting
    Huang, Yanhong
    Shi, Jianqi
    [J]. 2021 28TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2021), 2021, : 152 - 160
  • [10] Towards Symbolic Model-Based Mutation Testing: Combining Reachability and Refinement Checking
    Aichernig, Bernhard K.
    Joebstl, Elisabeth
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2012, (80): : 88 - 102