Abstract
Formal dynamic verification can complement MPI
program testing by detecting hard-to-find concurrency bugs. In
previous work, we described our dynamic verifier called In-situ
Partial Order (ISP) that can parsimoniously search the execution
space of an MPI program while detecting important classes of
bugs. One major limitation of ISP, when used by itself, is the
lack of a powerful and widely usable graphical front-end. We
now present a new tool called Graphical Explorer of MPI Pro-
grams (GEM) that overcomes this limitation. GEM is a plug-in
architecture that greatly enhances the usability of ISP, and serves
to bring ISP within reach of a wide array of programmers with its
original release as part of the Eclipse Foundation's Parallel Tools
Platform (PTP) Version 3.0 in December, 2009. GEM is now a
part of the PTP End-User Runtime. This paper describes GEM's
features, its architecture, and usage experience summary of the
ISP/GEM combination. Recently, we applied this combination on
a widely used parallel hypergraph partitioner. Even with modest
amounts of computational resources, the ISP/GEM combination
finished quickly and intuitively displayed a previously unknown
resource leak in this code-base. Here, we also describe the process
and benefits of using GEM throughout the development cycle of
our own test case, an MPI implementation of the A* search. We
conclude with a summary of our future plans.