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 条
  • [31] Formal verification of concurrent and distributed constraint-based Java']Java programs
    Ramirez, R
    Santosa, AE
    ICECCS 2005: 10TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS, PROCEEDINGS, 2005, : 76 - 84
  • [32] Solving the Dependency Conflict of Java']Java Components : A Comparative Empirical Analysis
    Wang, Yongzhi
    Xing, Chengli
    Sun, Jinan
    Zhang, Shikun
    Zhang, Long
    2020 IEEE 6TH INT CONFERENCE ON BIG DATA SECURITY ON CLOUD (BIGDATASECURITY) / 6TH IEEE INT CONFERENCE ON HIGH PERFORMANCE AND SMART COMPUTING, (HPSC) / 5TH IEEE INT CONFERENCE ON INTELLIGENT DATA AND SECURITY (IDS), 2020, : 109 - 114
  • [33] Comparing the cost-effectiveness of statically analysing and model checking concurrent Java']Java components for deadlocks
    Ngui, John
    Strooper, Paul
    Wildman, Luke
    Wojcicki, Margaret
    2007 AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2007, : 223 - +
  • [34] DynAlloy as a formal method for the analysis of Java']Java programs
    Galeotti, Juan P.
    Frias, Marcelo F.
    SOFTWARE ENGINEERING TECHNIQUES: DESIGN FOR QUALITY, 2006, 227 : 249 - +
  • [35] Extending a Java']Java based framework for scientific software-components
    Göbel, M
    Küchlin, W
    Müller, S
    Weber, A
    CASC'99: COMPUTER ALGEBRA IN SCIENTIFIC COMPUTING, 1999, : 207 - 222
  • [36] Codesign of embedded systems based on Java']Java and reconfigurable hardware components
    Fleischmann, J
    Buchenrieder, K
    Kress, R
    DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION 1999, PROCEEDINGS, 1999, : 768 - 769
  • [37] Dealing with non-determinism in testing concurrent java components
    Wildman, Luke
    Long, Brad
    Strooper, Paul
    Proc. Asia Pac. Softw. Eng. Conf. APSEC, (393-400):
  • [38] Synthesis of verifiable concurrent Java components from formal models
    Julio Mariño
    Raúl N. N. Alborodo
    Lars-Åke Fredlund
    Ángel Herranz
    Software & Systems Modeling, 2019, 18 : 71 - 105
  • [39] A JAVA']JAVA Code Generation Method based on XUML
    Wang, Zhenyu
    2019 INTERNATIONAL CONFERENCE ON ADVANCED ELECTRONIC MATERIALS, COMPUTERS AND MATERIALS ENGINEERING (AEMCME 2019), 2019, 563
  • [40] DPAC: An infrastructure for dynamic program analysis of concurrency Java programs
    Jiang, Yanyan
    Xu, Chang
    Ma, Xiaoxing
    Proceedings of the 2013 Middleware Doctoral Symposium, MDS 2013 - Co-located with ACM/IFIP/USENIX International Middleware Conference, Middleware 2013, 2013,