-
Notifications
You must be signed in to change notification settings - Fork 42
ConcurrentBoogieAndPthreads
- Boogie specification (noch kein Support für Nebenläufigkeit)This is Boogie 2
- Microsoft's tool for Boogie verificationBoogie @ rise4fun
- A Boogie interpreter Boogaloo
- Some extension of Boogie for concurrency (maybe not what we want)CIVL
- Web interface of Ultimate Automizer
- Installation instructions
- Our workaround for verification of concurrent programs
- Our Boogie extensions
Example programs that we would like to handle are in the pthreads* subfolders of the SV-COMP C benchmarks
- Erweitere Boogie in Ultimate um Support für Nebenläufigkeit.
- Erweitere unseren Boogie AST um neue Sprachkonstrukte.
- Erweitere unseren Boogie Parser.
- Erweitere unsere Boogie-zu-Boogie Transformationen um Support für neue Sprachkonstrukte.
- Erweitere unsere Boogie-zu-Kontrollflußgraph um Support für neue Sprachkonstrukte.
- Erweitere unsere C-zu-Boogie Übersetzung um Support für pthread.
- Create a document or wikipage that documents our extension
Add two new statements
Syntax: fork Expr Id ( Expr* )
Semantics: Call procedure Id
as a new thread. First argument: thread identifier, Second argument: name of called procedure, Other arguments: arguments of called procedure
Note that analogously to the Boogie specification we use Id^{,+}
to denote a comma-separated list of identifiers.
Syntax: join Expr
join Id^{,+} := Expr
Semantics: Wait until thread with thread identifier Expr
has been finished.
Implement algorithms that solve the mutual exclusion problem and implement them in our (extended) Boogie language. Take e.g., the algorithms that have already been implemented in our webinterface. We will use these examples as regression tests.
- Home
- Ultimate Development
- Ultimate Build System
- Documentation
- Project Topics