Automatic Formal Verification of MPI-Based Parallel Programs

被引:20
|
作者
Siegel, Stephen F. [1 ]
Zirkel, Timothy K. [1 ]
机构
[1] Univ Delaware, Verified Software Lab, Dept Comp & Informat Sci, Newark, DE 19716 USA
关键词
Verification; Symbolic execution; MPI; message-passing; debugging; verification; SYMBOLIC EXECUTION; HALTING PROPERTIES;
D O I
10.1145/2038037.1941603
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Toolkit for Accurate Scientific Software (TASS) is a suite of tools for the formal verification of MPI-based parallel programs used in computational science. TASS can verify various safety properties as well as compare two programs for functional equivalence. The TASS front end takes an integer n >= 1 and a C/MPI program, and constructs an abstract model of the program with n processes. Procedures, structs, (multi-dimensional) arrays, heap-allocated data, pointers, and pointer arithmetic are all representable in a TASS model. The model is then explored using symbolic execution and explicit state space enumeration. A number of techniques are used to reduce the time and memory consumed. A variety of realistic MPI programs have been verified with TASS, including Jacobi iteration and manager-worker type programs, and some subtle defects have been discovered. TASS is written in Java and is available from http://vs1.cis.ude1.edu/tass under the Gnu Public License.
引用
收藏
页码:309 / 310
页数:2
相关论文
共 50 条
  • [1] Automatic formal verification of MPI-based parallel programs
    Siegel, Stephen F.
    Zirkel, Timothy K.
    [J]. Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, 2011, : 309 - 310
  • [2] Formal Analysis of MPI-based Parallel Programs
    Gopalakrishnan, Ganesh
    Kirby, Robert M.
    Siegel, Stephen
    Thakur, Rajeev
    Gropp, William
    Lusk, Ewing
    De Supinski, Bronis R.
    Schulz, Martin
    Bronevetsky, Greg
    [J]. COMMUNICATIONS OF THE ACM, 2011, 54 (12) : 82 - 91
  • [3] Formal Verification of Practical MPI Programs
    Vo, Anh
    Vakkalanka, Sarvani
    DeLisi, Michael
    Gopalakrishnan, Ganesh
    Kirby, Robert M.
    Thakur, Rajeev
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (04) : 261 - 269
  • [4] Verification of MPI-based software for scientific computation
    Siegel, SF
    Avrunin, GS
    [J]. MODEL CHECKING SOFTWARE, 2004, 2989 : 286 - 303
  • [5] Static Analysis Techniques for Fixing Software Defects in MPI-Based Parallel Programs
    Al-Johany, Norah Abdullah
    Sharaf, Sanaa Abdullah
    Eassa, Fathy Elbouraey
    Alnanih, Reem Abdulaziz
    [J]. CMC-COMPUTERS MATERIALS & CONTINUA, 2024, 79 (02): : 3139 - 3173
  • [6] FORMAL VERIFICATION OF PARALLEL PROGRAMS
    KELLER, RM
    [J]. COMMUNICATIONS OF THE ACM, 1976, 19 (07) : 371 - 384
  • [7] ACCTEST: Hybrid Testing Techniques for MPI-Based Programs
    Alghamdi, Abdullah S. Almalaise
    Alghamdi, Ahmed Mohammed
    Eassa, Fathy Elbouraey
    Khemakhem, Maher Ali
    [J]. IEEE ACCESS, 2020, 8 (08): : 91488 - 91500
  • [8] Implementation and evaluation of MPI-based parallel MD program
    Trobec, R
    Sterk, M
    Praprotnik, M
    Janezic, D
    [J]. INTERNATIONAL JOURNAL OF QUANTUM CHEMISTRY, 2001, 84 (01) : 23 - 31
  • [9] MPI-Based Parallel Method for Bees Optimization Algorithm
    Damghani, Najmeh
    Rezamand, Mona
    Naeini, Vahid Sattari
    [J]. 2014 IRANIAN CONFERENCE ON INTELLIGENT SYSTEMS (ICIS), 2014,
  • [10] Design and implementation of a MPI-based parallel file system
    Tsai, Yung-Yu
    Hsieh, Te-Ching
    Lee, Guo-Hua
    Chang, Ming-Feng
    [J]. Proceedings of the National Science Council, Republic of China, Part A: Physical Science and Engineering, 1999, 23 (01): : 50 - 59