Browser View


Activating the Browser View

Before formally verifying an MPI C/C++ program, you need to set the number of processes for a particular run. Please refer to the Setting the Number of Processes Page.

When you formally verify an MPI C/C++ program, the Browser View and the Analyzer View will both be opened and depending on what is specified in preferences, either one may be brought to the foreground and given the active focus.



Browser Overview

This highly functional view summarizes and categorically groups all of the errors and warnings found by GEM on a particular verification run. The summary label (just above the tabs) gives the user a quick overview of problems found. Errors and warnings are mapped to the corresponding source code lines in the Eclipse editor. The Browser View's tabs help the user to quickly locate and fix MPI errors flagged by GEM in their source code.

Below are listings of the errors and warnings summarized by GEM's Browser View, along with a more detailed descriptions.

The image below shows what the Browser View should look like along with an explanation of its components.

Browser View Tabs

Below the summary is a section containing a tab for category of error or warning that was found in the code. By selecting a particular tab the user is given detailed information on each occurrence of that type of error or warning in their MPI code. Clicking on any of these occurrences takes the user to the offending line in the source code within the Eclipse editor.If there are no instances of the problem then there is a short message indicating as much. Furthermore, a user is shown which types of errors are presented via the icons of the tab (see icons directly below).

Deadlocks Tab

This tab allows the user to visit all of the calls that did not complete due to a detected deadlock.

Assertion Violations Tab

This tab list all local assertion violations found. CLicking any one of these will take the user to the line of source code with the failed assertion.

Leaks Tab

Clicking any of these will take the user to the line of source code where the corresponding un-freed MPI resource was allocated (these are usually MPI communicators and MPI DataTypes).

Irrelevant Barriers Tab

This tab is reserved for Functionally Irrelevant Barriers. Clicking any these will take the user to the corresponding MPI_Barrier call itself, which can then be safely removed without changing the runtime behavior of the program. This could potentially serve to speed the application of in the absence of unnecessary synchronization.

Type Mismatches Tab

These are warnings about the send type not matching the receive type.


Button Explanations

The first drop down combo-box shows the current number of processes and lets the user conveniently choose a new value for the next GEM run.

This will re-run GEM on the current MPI project. This is semantically equivalent to choosing "Formally Verify MPI Program" from the toolbar button drop-down and is provided for convenience.




Menu & Toolbar Options

Note: This same functionality can be obtained through the context and pull-down menus for the view.

 

Back to Top | Back to Table of Contents

 


School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT 84112 * isp-dev@cs.utah.edu
License