PROGVIS(1) | General Commands Manual | PROGVIS(1) |
progvis - visualization tool for concurrent C/C++ programs
progvis
Progvis is a program visualization tool aimed at concurrent C/C++ programs. It allows loading arbitrary programs and stepping through them. The tool also informs about a number of concurrency issues, such as race conditions. Only a subset of C/C++ is supported. For C, most notably void pointers are not supported (for type safety). For C++, only fundamental language constructs are implemented (e.g. no templates). Much of the standard libraries both for C and C++ are not implemented either.
The system provides C-style synchronization primitives as implemented in Pintos, see: http://www.scs.stanford.edu/07au-cs140/pintos/pintos_6.html#SEC97 In summary, they are as follows:
A number of atomic operations are also supported. Most of these are generic, meaning that they are overloaded to work for more than one type. Here, we use P to mean any pointer type, I to mean any integer type (i.e. signed and unsigned integers, as well as booleans), and P/I to mean any pointer or integer type.
storm(1) - the language in which Progvis is implemented.
June 24 2021 |