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 条
  • [1] Experience Report: Verifying MPI Java']Java Programs using Software Model Checking
    Ayub, Muhammad Sohaib
    Rehman, Waqas Ur
    Siddiqui, Junaid Haroon
    [J]. 2017 IEEE 28TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2017, : 294 - 304
  • [2] Experience Report: Verifying MPI Java Programs Using Software Model Checking
    [J]. 2017, IEEE Computer Society (2017-October):
  • [3] Model checking JAVA programs using JAVA PathFinder
    Havelund K.
    Pressburger T.
    [J]. International Journal on Software Tools for Technology Transfer, 2000, 2 (4) : 366 - 381
  • [4] Applying model checking in Java']Java verification
    Havelund, K
    Skakkebæk, JU
    [J]. THEORETICAL AND PRACTICAL ASPECTS OF SPIN MODEL CHECKING, 1999, 1680 : 216 - 231
  • [5] Model checking programs with Java']Java PathFinder
    Visser, W
    Mehlitz, P
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2005, 3639 : 27 - 27
  • [6] Heuristic model checking for Java']Java programs
    Groce, A
    Visser, W
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2002, 2318 : 242 - 245
  • [7] Using runtime analysis to guide model checking of Java']Java programs
    Havelund, K
    [J]. SPIN MODEL CHECKING AND SOFTWARE VERIFICATON, 2000, 1885 : 245 - 264
  • [8] A JPSL Based Model Checking Approach for Java']Java Programs
    Shu, XinFeng
    Li, YanLin
    Gao, WeiRan
    [J]. STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD, SOFL+MSVL 2022, 2023, 13854 : 30 - 49
  • [9] Heuristics for model checking Java programs
    Groce A.
    Visser W.
    [J]. International Journal on Software Tools for Technology Transfer, 2004, 6 (4) : 260 - 276
  • [10] Software model checking for Internet Protocols with Java']Java Pathfinder
    Martinez, Jesss
    Jimenez, Cristobal
    [J]. MSVVEIS 2008: MODELLING, SIMULATION, VERIFICATION AND VALIDATION OF ENTERPRISE INFORMATION SYSTEMS, 2008, : 91 - 100