A method for verifying concurrent Java']Java components based on an analysis of concurrency failures

被引:6
|
作者
Long, Brad
Strooper, Paul [1 ]
Wildman, Luke
机构
[1] Univ Queensland, Sch Informat Technol & Elect Engn, Brisbane, Qld 4072, Australia
[2] Oracle Corp, Australian Dev Ctr, Brisbane, Qld 4000, Australia
来源
关键词
concurrency; verification; testing; component; !text type='Java']Java[!/text;
D O I
10.1002/cpe.1063
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent non-determinism and a number of specific concurrency problems, such as interference and deadlock. In previous work, we have developed the ConAn testing tool for the testing of concurrent Java components. ConAn has been found to be effective at testing a large number of components, but there are certain classes of failures that are hard to detect using ConAn. Although a variety of other verification tools and techniques have been proposed for the verification of concurrent software, they each have their strengths and weaknesses. In this paper, we propose a method for verifying concurrent Java components that includes ConAn and complements it with other static and dynamic verification tools and techniques. The proposal is based on an analysis of common concurrency problems and concurrency failures in Java components. As a starting point for determining the concurrency failures in Java components, a Petri-net model of Java concurrency is used. By systematically analysing the model, we come up with a complete classification of concurrency failures. The classification and analysis are then used to determine suitable tools and techniques for detecting each of the failures. Finally, we propose to combine these tools and techniques into a method for verifying concurrent Java components. Copyright (c) 2006 John Wiley & Sons, Ltd.
引用
收藏
页码:281 / 294
页数:14
相关论文
共 50 条
  • [41] Detecting Vulnerable Java']Java Classes Based on the Analysis of Java']Java Library Call Graph
    Park, Hyosung
    Park, Chulwoo
    Yoo, SangBong
    Kim, Kichang
    IEEE 2018 INTERNATIONAL CONGRESS ON CYBERMATICS / 2018 IEEE CONFERENCES ON INTERNET OF THINGS, GREEN COMPUTING AND COMMUNICATIONS, CYBER, PHYSICAL AND SOCIAL COMPUTING, SMART DATA, BLOCKCHAIN, COMPUTER AND INFORMATION TECHNOLOGY, 2018, : 1872 - 1879
  • [42] An Empirical Analysis of Build Failures in the Continuous Integration Workflows of Java']Java-Based Open-Source Software
    Rausch, Thomas
    Hummer, Waldemar
    Leitner, Philipp
    Schulte, Stefan
    2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017), 2017, : 345 - 355
  • [43] A framework of concurrent mechanism based on java multithread
    Jiang, Wuxue
    Li, Qi
    Wang, Zhiming
    Luo, Jianfeng
    Telkomnika - Indonesian Journal of Electrical Engineering, 2013, 11 (09): : 5395 - 5401
  • [44] Anomaly detection in concurrent Java']Java programs using dynamic data flow analysis
    Saleh, K
    Boujarwah, AA
    Al-Dallal, J
    INFORMATION AND SOFTWARE TECHNOLOGY, 2001, 43 (15) : 973 - 981
  • [45] JaVis: A UML-based visualization and debugging environment for concurrent Java']Java programs
    Mehner, K
    SOFTWARE VISUALIZATION, 2002, 2269 : 163 - 175
  • [46] A UML approach to the generation of test sequences for Java']Java-based concurrent systems
    Kim, SK
    Wildman, L
    Duke, R
    2005 AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2005, : 100 - 109
  • [47] Java']Java-based parallel skeleton model for concurrent programming on multicore platform
    Wu, Huabei
    Sun, Jizhou
    Yu, Ce
    Xu, Guangquan
    2008 PROCEEDINGS OF INFORMATION TECHNOLOGY AND ENVIRONMENTAL SYSTEM SCIENCES: ITESS 2008, VOL 4, 2008, : 362 - 365
  • [48] AST Based JAVA']JAVA Software Evolution Analysis
    Jiang, Lu
    Zhang, Zhiyi
    Zhao, Zhihong
    2013 10TH WEB INFORMATION SYSTEM AND APPLICATION CONFERENCE (WISA 2013), 2013, : 180 - 183
  • [49] Recommendation Based on Java']Java Code Analysis and Search
    Fu, Shanqing
    Li, Bing
    Cai, Yi
    Liu, Zhuang
    Guo, Junxia
    FUZZY SYSTEMS AND DATA MINING VI, 2020, 331 : 514 - 521
  • [50] Java']Java based LCD reconstruction and analysis tools
    Bower, G
    Cassell, R
    Graf, N
    Johnson, T
    Ronan, M
    PHYSICS AND EXPERIMENTS WITH FUTURE LINEAR E(PLUS) E(MINUS) COLLIDERS, 2001, 578 : 662 - 665