This folder contains supplementary materials for the paper titled
"CIVL: The Concurrency Intermediate Verification Language" for SC15.

The structure of this folder is:
  ./Makefile         /* The make file for reruning the experiments in the paper. */
  ./BUGS               /* Summary of bugs found by CIVL */
  ./cuda               /* CUDA programs that can be verified by CIVL */
  ./mpi                 /* MPI (Message-Passing Interface Library) programs that
                                can be verified by CIVL */
  ./omp                /* OpenMP programs that can be verified by CIVL */
  ./pthread           /* Pthreads (POSIX Threads Programming) programs that can
                                be verified by CIVL */
  ./mpi-omp        /* MPI and OpenMP hybrid programs that can be verified by
                                CIVL */
  ./mpi-pthread   /* MPI and Ptrheads hybrid programs that can be verified
                               by CIVL */
  ./concurrency    /* CIVL-C concurrent examples */
  ./comparison     /* Programs that compared to each other by CIVL to prove
                                 their functional equivalence */
  ./transformation /* Sample programs for generating the
                                  transformation figure of the paper */
  ./CIVL-1.4_2531 /* The CIVL v1.4 distribution with installation instruction */
  ./lazyseq	     /* Comparison of CIVL and lazyseq on some Pthreads
                                 examples */
  ./TASS	             /* Comparison of CIVL and TASS on some MPI examples */

To run the programs:
1. install CIVL v1.4 following instructions in CIVL-1.4_2531/README;
2. type "make" under each parallel language category;
    or using CIVL commands to run programs.
