Thread safty verifier of simple programs.
verify.pl
- program runner,verifier.pl
- source code of the verifier,dekker.pl
- Dekker's algorithm example,hyman.pl
- Hyman's mutual exclusion algorithm example,peterson.pl
- Peterson's algorithm example,unsafe.pl
- thread-unsafe example,example.pl
- thread-safe if number of processors <= 2 example.
Exp ::= ExpVal | ExpVal ExpOper ExpVal
ExpVal ::= number | Variable
Variable ::= ident | arr(ident, Exp)
ExpOper ::= + | - | * | /
BoolExp ::= ExpVal BoolOper ExpVal
BoolOper ::= < | = | <>
./verify.pl 2 peterson.pl
- correct,./verify.pl 3 peterson.pl
- incorrect,