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 条
  • [21] Towards Verification and Testing of Java']Java Programs
    de Melo, Ana C. V.
    Nunes, Paulo R. F.
    Xavier, Kleber S.
    [J]. APPLIED COMPUTING 2008, VOLS 1-3, 2008, : 730 - 734
  • [22] Specification and verification of encapsulation in Java']Java programs
    Roth, A
    [J]. FORMAL METHODS FOR OPEN OBJECT-BASED DISTRIBUTED SYSTEMS, PROCEEDINGS, 2005, 3535 : 195 - 210
  • [23] Checking and Correcting Behaviors of Java']Java Programs at Runtime with Java']Java-MOP
    Chen, Feng
    d'Amorim, Marcelo
    Rosu, Grigore
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 144 (04) : 3 - 20
  • [24] Towards Verification of Java']Java Programs in √erICS
    Zbrzezny, Andrzej
    Wozna, Bozena
    [J]. FUNDAMENTA INFORMATICAE, 2008, 85 (1-4) : 533 - 548
  • [25] API Conformance Verification for Java']Java Programs
    Li, Xin
    Hoover, H. James
    Rudnicki, Piotr
    [J]. FORMAL METHODS AND SOFTWARE ENGINEERING, 2010, 6447 : 188 - 203
  • [26] Verification of Java']Java programs using symbolic execution and invariant generation
    Pasareanu, CS
    Visser, W
    [J]. MODEL CHECKING SOFTWARE, 2004, 2989 : 164 - 181
  • [27] Verification of Java']Java bytecode using analysis and transformation of logic programs
    Albert, E.
    Gomez-Zamalloa, M.
    Hubert, L.
    Puebla, G.
    [J]. PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, 2007, 4354 : 124 - +
  • [28] Model checking real time Java using Java PathFinder
    Lindstrom, Gary
    Mehlitz, Peter C.
    Visser, Willem
    [J]. Lect. Notes Comput. Sci., (444-456):
  • [29] Model checking of software components: Combining Java']Java PathFinder and behavior protocol model checker
    Parizek, Pavel
    Plasil, Frantisek
    Kofron, Jan
    [J]. 30TH ANNUAL IEEE/NASA SOFTWARE ENGINEERING WORKSHOP, PROCEEDINGS, 2006, : 133 - +
  • [30] UML interaction model-driven runtime verification of Java']Java programs
    Li, X.
    Qiu, X.
    Wang, L.
    Chen, X.
    Zhou, Z.
    Yu, L.
    Zhao, J.
    [J]. IET SOFTWARE, 2011, 5 (02) : 142 - 156