-
ArgError-MPISend-Buffer.c
-
ArgError-MPIIRecv-Buffer-1.c
-
ArgError-MPIISend-Buffer.c
-
ArgError-MPIRecv-Buffer.c
-
ArgError-MPIAllgather-SendBuffer.c
-
ArgError-MPIGather-SendBuffer.c
-
ArgError-MPIReduce-SendBuffer.c
-
ArgError-MPIScatter-SendBuffer.c
- ArgError-MPIReduce-RecvBuffer.c
- ArgError-MPITest-Flag-duplicate.c
- ArgError-MPITest-Flag.c
- ArgError-MPITest-Status.c
- ArgError-MPIAllgather-RecvBuffer-2.c
- ArgError-MPIGather-RecvBuffer-2.c
- ArgError-MPIScatter-RecvBuffer.c
- ArgError-MPIIRecv-Communicator-1.c
- ArgError-MPIISend-Communicator-2.c
- ArgError-MPIRecv-Communicator-2.c
- ArgError-MPISend-Communicator-1.c
- ArgError-MPIAllgather-Communicator-1.c
- ArgError-MPIReduce-Communicator-2.c
- ArgError-MPIGather-Communicator-1.c
- ArgError-MPIScatter-Communicator-1.c
- ArgError-MPIIRecv-Communicator-2.c
- ArgError-MPIISend-Communicator-1.c
- ArgError-MPIRecv-Communicator-1.c
- ArgError-MPISend-Communicator-2.c
- ArgError-MPIAllgather-Communicator-2.c
- ArgError-MPIReduce-Communicator-1.c
- ArgError-MPIGather-Communicator-2.c
- ArgError-MPIScatter-Communicator-2.c
We might think about an optimal value to increase the specified count. Currently we are only doubling to make sure to produce an error, but we could also just increment the count by one to try to produce off-by-one errors, but less reliably.
-
ArgError-MPIIRecv-Count-1.c
-
ArgError-MPIISend-Count-2.c (kind of)
-
ArgError-MPIRecv-Count-2.c
-
ArgError-MPISend-Count-1.c
-
ArgError-MPISend-Count-3.c (kind of)
-
ArgError-MPIAllgather-Count-1.c
-
ArgError-MPIGather-Count-2.c
-
ArgError-MPIScatter-Count-1.c
-
ArgError-MPIIRecv-Count-2.c
-
ArgError-MPIISend-Count-1.c
-
ArgError-MPIRecv-Count-1.c
-
ArgError-MPISend-Count-2.c
-
ArgError-MPIAllgather-Count-3.c
-
ArgError-MPIGather-Count-3.c
-
ArgError-MPIScatter-Count-3.c
- ArgError-MPIReduce-Count-2.c
- ArgError-MPIReduce-Count-3.c
- ArgError-MPIReduce-Count-1.c
We might think about a compound mutations that performs both Arg2 and Arg5 mutations at the same time
- ArgError-MPIAllgather-Count-2.c
- ArgError-MPIGather-Count-1.c
- ArgError-MPIScatter-Count-2.c
The following two are kinda the same in the sense that the actual error that happens with the count mutations is that the buffer runs over (most of the time)
- ArgError-MPIAllgather-RecvBuffer-1.c
- ArgError-MPIGather-RecvBuffer-1.c
- ArgError-MPIAllgather-Count-4.c
- ArgError-MPIScatter-Count-4.c
- ArgError-MPIIRecv-Rank-1.c
- ArgError-MPIISend-Rank-2.c
- ArgError-MPIRecv-Rank-2.c
- ArgError-MPISend-Rank-1.c
- ArgError-MPIIRecv-Rank-2.c
- ArgError-MPIISend-Rank-1.c
- ArgError-MPIRecv-Rank-1.c
- ArgError-MPISend-Rank-2.c
- ArgError-MPIIRecv-Request.c
- ArgError-MPIISend-Request-1.c
- ArgError-MPIIRecv-Tag.c
- ArgError-MPIISend-Tag-1.c
- ArgError-MPIRecv-Tag.c
- ArgError-MPISend-Tag-1.c
- ArgError-MPIISend-Tag-2.c
- ArgError-MPISend-Tag-2.c
-
ArgError-MPIIRecv-Type-1.c
-
ArgError-MPIIRecv-Type-3.c
-
ArgError-MPIISend-Type-1.c
-
ArgError-MPIISend-Type-3.c
-
ArgError-MPIRecv-Type-2.c
-
ArgError-MPIRecv-Type-3.c
-
ArgError-MPISend-Type-3.c
-
ArgError-MPIAllgather-Type-1.c
-
ArgError-MPIAllgather-Type-4.c
-
ArgError-MPIGather-Type-1.c
-
ArgError-MPIGather-Type-4.c
-
ArgError-MPIScatter-Type-1.c
-
ArgError-MPIScatter-Type-3.c
-
ArgMismatch-MPIGather-Type-1.c
- ArgError-MPIIRecv-Type-2.c
- ArgError-MPIISend-Type-2.c
- ArgMismatch-MPIISend-Type.c (equivalent with above)
- ArgError-MPIRecv-Type-1.c
- ArgMismatch-MPIRecv-Type-1.c (equivalent with above)
- ArgError-MPISend-Type-2.c
- ArgError-MPIReduce-Type-1.c
- ArgError-MPIReduce-Type-3.c
- ArgError-MPIReduce-Type-2.c
- ArgError-MPIAllgather-Type-2.c
- ArgError-MPIGather-Type-2.c
- ArgError-MPIScatter-Type-2.c
- ArgMismatch-MPIGather-Type-2.c
No CorrBench Errors did this but we are doing it anyway.
There might be others we have skipped but really should put here
- ArgError-MPIAllgather-Type-3.c
- ArgError-MPIGather-Type-3.c
We cannot really do the first one, because as we do this in a static way we would need to add additional program logic to build this in, which is not really in the spirit of mutation testing. We might think about doing it anyway maybe.
- ArgMismatch-MPIIRecv-Tag-1.c (not really)
- ArgMismatch-MPIIRecv-Tag-2.c
- ArgMismatch-MPIRecv-Tag-1.c
- ArgMismatch-MPIRecv-Tag-2.c (not really)
- ArgMismatch-MPIRecv-Tag-3.c
- ArgMismatch-MPIISend-Communicator-3.c
- ArgMismatch-MPISend-Communicator-1.c
- ArgMismatch-MPISend-Communicator-2.c
- ArgMismatch-MPIRecv-Type-2.c
- ArgMismatch-MPIRecv-Type-7.c
This does not quite implement the exact CorrBench errors, as this is not really feasible. The second one ist actually a tag mismatch and therefore already covered by another mutation. The other ones require knowledge about the actual program flow which we do not have.
- MisplacedCall-MPIRecv-Deadlock-1.c
- MisplacedCall-MPIRecv-Deadlock-2.c
- MisplacedCall-MPIRecv-Deadlock-4.c
- MisplacedCall-MPISend.c
- MisplacedCall-MPIWait.c
- MissingCall-MPIFinalize.c
- MissingCall-MPIRecv.c
- MissingCall-MPISend-Deadlock.c
- MissingCall-MPIWait.c
- MissingCall-MPIIBcast.c
- ArgError-MPIGather-Dest-1.c
- ArgError-MPIScatter-Rank.c
- ArgError-MPIGather-Dest-2.c
- ArgError-MPIReduce-Root.c
No CorrBench errors exist for this one
- ArgError-MPIReduce-Op-1.c
- ArgError-MPIReduce-Op-2.c
- MissingCall-MPIGather-Deadlock.c
- MissingCall-MPIReduce-Deadlock.c
- ArgMismatch-MPIReduce-root.c
- ArgMismatch-MPIReduce-Count.c
- ArgMismatch-MPIReduce-Op.c
- MisplacedCall-MPIBarrier-Deadlock-1.c
- MisplacedCall-MPIBarrier-Deadlock-2.c
- ArgMismatch-MPIIrecv-buffer-overlap.c