Input-driven Active Testing of Multi-threaded Programs

被引:5
|
作者
Yue, Han [1 ]
Wu, Peng [1 ]
Chen, Tsong-Yueh [2 ]
Lv, Yi [1 ]
机构
[1] Chinese Acad Sci, Inst Software, State Key Lab Comp Sci, Beijing 100190, Peoples R China
[2] Swinburne Univ Technol, Dept Comp Sci & Software Engn, Hawthorn, Vic 3122, Australia
基金
中国国家自然科学基金;
关键词
D O I
10.1109/APSEC.2015.34
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
It is still a challenge to select "good" test inputs for concurrent programs within limited testing resources. We present in this paper a test case diversity metric for multi-threaded programs, which evaluates a test input with its effect in exposing concurrent thread interactions. We then propose an input-driven active testing approach with two test input selection strategies based on our test case diversity metric. We implement our testing approach based on Maple, an interleaving coverage-driven active testing tool. The effectiveness and efficiency of our testing approach are compared closely with Maple, which on its own is supplied with random test inputs. Experimental results show that our testing approach can outperform the original active testing approach in the number of test inputs executed and the time usage for fulfilling the interleaving coverage criterion of Maple. The selected test inputs based on our test case diversity metric are very cost-effective in exposing concurrent thread interactions and hence can help detect concurrency bugs with less cost and effort.
引用
收藏
页码:246 / 253
页数:8
相关论文
共 50 条
  • [1] On testing multi-threaded Java']Java programs
    Gong, Xufang
    Wang, Yanchen
    Zhou, Ying
    Li, Bixin
    [J]. SNPD 2007: EIGHTH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING, AND PARALLEL/DISTRIBUTED COMPUTING, VOL 1, PROCEEDINGS, 2007, : 702 - +
  • [2] Framework for testing multi-threaded Java']Java programs
    Edelstein, O
    Farchi, E
    Goldin, E
    Nir, Y
    Ratsaby, G
    Ur, S
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2003, 15 (3-5): : 485 - 499
  • [3] Towards a framework and a benchmark for testing tools for multi-threaded programs
    Eytani, Yaniv
    Havelund, Klaus
    Stoller, Scott D.
    Ur, Shmuel
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2007, 19 (03): : 267 - 279
  • [4] Security Check for Multi-threaded Programs
    Tri Minh Ngo
    Tuan Van Nguyen
    [J]. 2016 IEEE SIXTH INTERNATIONAL CONFERENCE ON COMMUNICATIONS AND ELECTRONICS (ICCE), 2016, : 465 - 470
  • [5] Multi-threaded Active Objects
    Henrio, Ludovic
    Huet, Fabrice
    Istvan, Zsolt
    [J]. COORDINATION MODELS AND LANGUAGES, COORDINATION 2013, 2013, 7890 : 90 - 104
  • [6] Information Declassification for Multi-Threaded Programs
    Zhu, Hao
    Zhuang, Yi
    Chen, Xiang
    [J]. APPLIED MATHEMATICS & INFORMATION SCIENCES, 2014, 8 (04): : 1911 - 1916
  • [7] A Basis for Verifying Multi-threaded Programs
    Rustan, K.
    Leino, M.
    Mueller, Peter
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5502 : 378 - 393
  • [8] Probabilistic noninterference for multi-threaded programs
    Sabelfeld, A
    Sands, D
    [J]. 13TH IEEE COMPUTER SECURITY FOUNDATIONS WORKSHOP, PROCEEDINGS, 2000, : 200 - 214
  • [9] Information leakage of multi-threaded programs
    Noroozi, Ali A.
    Karimpour, Jaber
    Isazadeh, Ayaz
    [J]. COMPUTERS & ELECTRICAL ENGINEERING, 2019, 78 : 400 - 419
  • [10] Regression Verification for Multi-threaded Programs
    Chaki, Sagar
    Gurfinkel, Arie
    Strichman, Ofer
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2012, 7148 : 119 - 135