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 条
  • [41] Study of common pitfalls in simple multi-threaded programs
    Choi, Sung-Eun
    Lewis, E. Christopher
    [J]. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 2000, : 325 - 329
  • [42] Proposal of a Testing Method Using Similarity of Interleaving for Java']Java Multi-threaded Programs
    Kitano, Shoichiro
    Katayama, Tetsuro
    Kita, Yoshihiro
    Yamaba, Hisaaki
    Aburada, Kentaro
    Okazaki, Naonobu
    [J]. PROCEEDINGS OF INTERNATIONAL CONFERENCE ON ARTIFICIAL LIFE AND ROBOTICS (ICAROB2015), 2015, : 380 - 383
  • [43] Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs
    Gupta, Ashutosh
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (01) : 331 - 344
  • [44] AggrePlay: Efficient Record and Replay of Multi-threaded Programs
    Pobee, Ernest
    Chan, W. K.
    [J]. ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 567 - 577
  • [45] Thread-specific heaps for multi-threaded programs
    Steensgaard, B
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (01) : 18 - 24
  • [46] A study of common pitfalls in simple multi-threaded programs
    Choi, SE
    Lewis, EC
    [J]. SIGCSE 2000: PROCEEDINGS OF THE THIRTY-FIRST SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2000, 32 (01): : 325 - 329
  • [47] Deterministic Synchronization of Multi-Threaded Programs with Operational Transformation
    Boelmann, Christopher
    Schwittmann, Lorenz
    Weis, Torben
    [J]. PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2014, : 381 - 390
  • [48] Threader: A Verifier for Multi-threaded Programs (Competition Contribution)
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2013, 2013, 7795 : 633 - 636
  • [49] Handling information release and erasure in multi-threaded programs
    Jiang, Li
    Ping, Lingdi
    Pan, Xuezeng
    [J]. CIS: 2007 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY, PROCEEDINGS, 2007, : 824 - 828
  • [50] Interactive visualization environment of multi-threaded parallel programs
    Stein, B
    de Kergommeaux, JC
    [J]. PARALLEL COMPUTING: FUNDAMENTALS, APPLICATIONS AND NEW DIRECTIONS, 1998, 12 : 311 - 318