simpleMPTypeBad Trace summary:

Step 1: State 0 -- simpleMPBufferBad.c line 5 proc 0 [main@0->main@1] "a[0] = 0;" -> State 1
Step 2: State 1 -- simpleMPBufferBad.c line 6 proc 0 [main@1->main@2] "a[1] = 1;" -> State 2
Step 3: State 2 -- simpleMPBufferBad.c line 7 proc 0 [main@2->main@3] "if (PID == 0)" [true] -> State 3
Step 4: State 3 -- simpleMPBufferBad.c line 8 proc 0 [main@3->main@5] "send(a, 1, 0);" -> State 4
Step 5: State 4 -- simpleMPBufferBad.c line 12 proc 0 [main@5->main@6] "" -> State 5
Step 6: State 5 -- simpleMPBufferBad.c line 5 proc 1 [main@0->main@1] "a[0] = 0;" -> State 6
Step 7: State 6 -- simpleMPBufferBad.c line 6 proc 1 [main@1->main@2] "a[1] = 1;" -> State 7
Step 8: State 7 -- simpleMPBufferBad.c line 7 proc 1 [main@2->main@4] "if (PID == 0)" [false] -> State 8
Step 9: State 8 -- simpleMPBufferBad.c line 10 proc 1 [main@4->main@5] "recv(b, 0, 0);"

simpleMPTypeBad Trace details:

begin State 0
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin stack frame 0
        function : main;
        location : 0;
        a = m0p0s0f0v0 (int[2]);
        b = m0p0s0f0v1 (int[1]);
      end stack frame 0;
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 0;
        a = m0p1s0f0v0 (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
  end model state
end State 0

Step 1: State 0 -- simpleMPBufferBad.c line 5 proc 0 [main@0->main@1] "a[0] = 0;" -> State 1

begin State 1
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin stack frame 0
        function : main;
        location : 1;
        a = m0p0s0f0v0<0,0> (int[2]);
        b = m0p0s0f0v1 (int[1]);
      end stack frame 0;
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 0;
        a = m0p1s0f0v0 (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
  end model state
end State 1

Step 2: State 1 -- simpleMPBufferBad.c line 6 proc 0 [main@1->main@2] "a[1] = 1;" -> State 2

begin State 2
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin stack frame 0
        function : main;
        location : 2;
        a = m0p0s0f0v0<0,0><1,1> (int[2]);
        b = m0p0s0f0v1 (int[1]);
      end stack frame 0;
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 0;
        a = m0p1s0f0v0 (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
  end model state
end State 2

Step 3: State 2 -- simpleMPBufferBad.c line 7 proc 0 [main@2->main@3] "if (PID == 0)" [true] -> State 3

begin State 3
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin stack frame 0
        function : main;
        location : 3;
        a = m0p0s0f0v0<0,0><1,1> (int[2]);
        b = m0p0s0f0v1 (int[1]);
      end stack frame 0;
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 0;
        a = m0p1s0f0v0 (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
  end model state
end State 3

Step 4: State 3 -- simpleMPBufferBad.c line 8 proc 0 [main@3->main@5] "send(a, 1, 0);" -> State 4

begin State 4
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin stack frame 0
        function : main;
        location : 5;
        a = m0p0s0f0v0<0,0><1,1> (int[2]);
        b = m0p0s0f0v1 (int[1]);
      end stack frame 0;
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 0;
        a = m0p1s0f0v0 (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
    begin buffer
      begin message 0
        source      = 0;
        destination = 1;
        tag         = 0;
        data        = m0p0s0f0v0<0,0><1,1>;
      end message 0;
    end buffer;
  end model state
end State 4

Step 5: State 4 -- simpleMPBufferBad.c line 12 proc 0 [main@5->main@6] "" -> State 5

begin State 5
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 0;
        a = m0p1s0f0v0 (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
    begin buffer
      begin message 0
        source      = 0;
        destination = 1;
        tag         = 0;
        data        = m0p0s0f0v0<0,0><1,1>;
      end message 0;
    end buffer;
  end model state
end State 5

Step 6: State 5 -- simpleMPBufferBad.c line 5 proc 1 [main@0->main@1] "a[0] = 0;" -> State 6

begin State 6
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 1;
        a = m0p1s0f0v0<0,0> (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
    begin buffer
      begin message 0
        source      = 0;
        destination = 1;
        tag         = 0;
        data        = m0p0s0f0v0<0,0><1,1>;
      end message 0;
    end buffer;
  end model state
end State 6

Step 7: State 6 -- simpleMPBufferBad.c line 6 proc 1 [main@1->main@2] "a[1] = 1;" -> State 7

begin State 7
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 2;
        a = m0p1s0f0v0<0,0><1,1> (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
    begin buffer
      begin message 0
        source      = 0;
        destination = 1;
        tag         = 0;
        data        = m0p0s0f0v0<0,0><1,1>;
      end message 0;
    end buffer;
  end model state
end State 7

Step 8: State 7 -- simpleMPBufferBad.c line 7 proc 1 [main@2->main@4] "if (PID == 0)" [false] -> State 8

begin State 8
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
    end process 0;
    begin process 1
      begin stack frame 0
        function : main;
        location : 4;
        a = m0p1s0f0v0<0,0><1,1> (int[2]);
        b = m0p1s0f0v1 (int[1]);
      end stack frame 0;
    end process 1;
    begin buffer
      begin message 0
        source      = 0;
        destination = 1;
        tag         = 0;
        data        = m0p0s0f0v0<0,0><1,1>;
      end message 0;
    end buffer;
  end model state
end State 8

Step 9: State 8 -- simpleMPBufferBad.c line 10 proc 1 [main@4->main@5] "recv(b, 0, 0);"
