Verification of MPI Java']Java Programs using Software Model Checking

被引:1
|
作者
Rehman, Waqas Ur [1 ]
Ayub, Muhammad Sohaib [1 ]
Siddiqui, Junaid Haroon [1 ]
机构
[1] LUMS Sch Sci & Engn, Dept Comp Sci, Lahore, Pakistan
关键词
Message Passing Interface in [!text type='Java']Java[!/text] (MPJ); Model Checking; !text type='Java']Java[!/text] PathFinder(JPF);
D O I
10.1145/2851141.2851192
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Development of concurrent software requires the programmer to be aware of non-determinism, data races, and deadlocks. MPI (message passing interface) is a popular standard for writing message oriented distributed applications. Some messages in MPI systems can be processed by one of the many machines and in many possible orders. This non-determinism can affect the result of an MPI application. The alternate results may or may not be correct. To verify MPI applications, we need to check all these possible orderings and use an application specific oracle to decide if these orderings give correct output. MPJ Express is an open source Java implementation of the MPI standard. We developed a Java based model of MPJ Express, where processes are modeled as threads, and which can run unmodified MPI Java programs on a single system. This enabled us to adapt the Java PathFinder explicit state software model checker (JPF) using a custom listener to verify our model running real MPI Java programs. We evaluated our approach using small examples where model checking revealed message orders that would result in incorrect system behavior.
引用
收藏
页码:413 / 414
页数:2
相关论文
共 50 条
  • [31] Using abstract interpretation to add type checking for interfaces in Java']Java bytecode verification
    De Francesco, Nicoletta
    Lettieri, Giuseppe
    Martini, Luca
    [J]. THEORETICAL COMPUTER SCIENCE, 2010, 411 (22-24) : 2174 - 2201
  • [32] Towards Model-Checking Security of Real-Time Java']Java Software
    Spalazzi, Luca
    Spegni, Francesco
    Liva, Giovanni
    Pinzger, Martin
    [J]. PROCEEDINGS 2018 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS), 2018, : 642 - 649
  • [33] CoffeeStrainer - Statically checking structural constraints on Java']Java programs
    Bokowski, B
    [J]. OBJECT-ORIENTED TECHNOLOGY: ECOOP'98 WORKSHOP READER, 1998, 1543 : 380 - 381
  • [34] Specifying and checking method call sequences of Java']Java programs
    Cheon, Yoonsik
    Perumandla, Ashaveena
    [J]. SOFTWARE QUALITY JOURNAL, 2007, 15 (01) : 7 - 25
  • [35] Automatic verification of Java']Java programs with dynamic frames
    Smans, Jan
    Jacobs, Bart
    Piessens, Frank
    Schulte, Wolfram
    [J]. FORMAL ASPECTS OF COMPUTING, 2010, 22 (3-4) : 423 - 457
  • [36] Verification of Java']Java Programs with Interacting Analysis Plugins
    Charlton, Nathaniel
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 145 : 131 - 150
  • [37] Towards the automated verification of multithreaded Java']Java programs
    Delzanno, G
    Raskin, JF
    Van Begin, L
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANAYLSIS OF SYSTEMS, PROCEEDINGS, 2002, 2280 : 173 - 187
  • [38] Specification and Runtime Verification of Java']Java Card Programs
    da Costa, Umberto Souza
    Moreira, Anamaria Martins
    Musicante, Martin A.
    Souza Neto, Placido A.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 240 : 61 - 78
  • [39] Model checking the Java']Java metalocking algorithm
    Basu, Samik
    Smolka, Scott A.
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2007, 16 (03) : C1 - C35
  • [40] Verification of Java programs in Coq
    Department of Computer Science, Royal Holloway University of London, Surrey, United Kingdom
    [J]. Comput. Sci. Electron. Eng. Conf., CEEC,