Testing Multi-Threaded Applications Using Answer Set Programming

被引:1
|
作者
Xue, Xiaozhen [1 ]
Siami-Namini, Sima [2 ]
Namin, Akbar Siami [1 ]
机构
[1] Texas Tech Univ, Dept Comp Sci, Lubbock, TX 79409 USA
[2] Texas Tech Univ, Dept Appl Econ, Lubbock, TX 79409 USA
关键词
Answer set programming; interleaving; concurrent programs; MODEL CHECKING; FRAMEWORK;
D O I
10.1142/S021819401850033X
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We introduce a technique to formally represent and specify race conditions in multithreaded applications. Answer set programming (ASP) is a logic-based knowledge representation paradigm to formally express belief acquired through reasoning in an application domain. The transparent and expressiveness representation of problems along with powerful non-monotonic reasoning power enable ASP to abstractly represent and solve some certain classes of NP hard problems in polynomial times. We use ASP to formally express race conditions and thus represent potential data races often occurred in multithreaded applications with shared memory models. We then use ASP to generate all possible test inputs and thread interleaving, i.e. scheduling, whose executions would result in deterministically exposing thread interleaving failures. We evaluated the proposed technique with some moderate sized Java programs, and our experimental results confirm that the proposed technique can practically expose common data races in multithreaded programs with low false positive rates. We conjecture that, in addition to generating threads scheduling whose execution order leads to the exposition of data races, ASP has several other applications in constraint-based software testing research and can be utilized to express and solve similar test case generation problems where constraints play a key role in determining the complexity of searches.
引用
收藏
页码:1151 / 1175
页数:25
相关论文
共 50 条
  • [1] A Framework for Systematic Testing of Multi-threaded Applications
    Florian, Mihai
    [J]. 2011 IEEE 17TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING (PRDC), 2011, : 278 - 279
  • [2] 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 - +
  • [3] Analysing Dataflow Multi-Threaded Applications at Runtime
    Mazumdar, Somnath
    Scionti, Alberto
    [J]. 2017 7TH IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE (IACC), 2017, : 744 - 749
  • [4] BarrierPoint: Sampled Simulation of Multi-Threaded Applications
    Carlson, Trevor E.
    Heirman, Wim
    Van Craeynest, Kenzo
    Eeckhout, Lieven
    [J]. 2014 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS), 2014, : 2 - 12
  • [5] A SIMT Analyzer for Multi-Threaded CPU Applications
    Alawneh, Ahmad
    Khairy, Mahmoud
    Rogers, Timothy G.
    [J]. 2022 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS 2022), 2022, : 248 - 250
  • [6] Estimating Computational Requirements in Multi-Threaded Applications
    Perez, Juan F.
    Casale, Giuliano
    Pacheco-Sanchez, Sergio
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (03) : 264 - 278
  • [7] Workshop on Multi-Threaded Architectures and Applications - MTAAP
    DeRose, Luiz
    [J]. 2012 IEEE 26TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS & PHD FORUM (IPDPSW), 2012, : 1571 - 1571
  • [8] NVthreads: Practical Persistence for Multi-threaded Applications
    Hsu, Terry Ching-Hsiang
    Bruegner, Helge
    Roy, Indrajit
    Keeton, Kimberly
    Eugster, Patrick
    [J]. PROCEEDINGS OF THE TWELFTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS 2017), 2017, : 468 - 482
  • [9] Workshop on multi-threaded architectures and applications - MTAAP
    [J]. IPDPS 2009 - Proceedings of the 2009 IEEE International Parallel and Distributed Processing Symposium, 2009,
  • [10] Classifying Performance Bottlenecks in Multi-Threaded Applications
    Dutta, Sourav
    Manakkadu, Sheheeda
    Kagaris, Dimitri
    [J]. 2014 IEEE 8TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANYCORE SOCS (MCSOC), 2014, : 341 - 345