In this thesis, we address the problem of verifying the functional correctness of concurrent programs, with emphasis on fine-grained concurrent data structures. Reasoning about such programs is challenging since data can be concurrently accessed by multiple threads: the reasoning must account for the interference between threads, which is often subtle. To reason about interference, concurrent operations should either be at distinct times or on distinct data. We present TaDA, a sound program logic for verifying clients and implementations that use abstract specifications that incorporate both abstract atomicity—the abstraction that operations take effect at a single, discrete instant in time—and abstract disjointness—the abstraction that op...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
This thesis explores two kinds of program logics that have become important for modern program verif...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
To avoid data races, concurrent operations should either be at distinct times or on distinct data. A...
Abstract. To avoid data races, concurrent operations should either be at distinct times or on distin...
We present Total-TaDA, a program logic for verifying the total correctness of concurrent programs: t...
© Springer-Verlag Berlin Heidelberg 2016.We present Total-TaDA, a program logic for verifying the to...
We present Total-TaDA, a program logic for verifying the total correctness of concurrent programs: t...
Abstract. We look at approaches to specifying concurrent program modules based on disjointness (the ...
We present Total-TaDA, a program logic for verifying the to-tal correctness of concurrent programs: ...
This dissertation addresses the problem of automated reasoning about multi-threaded programs. Multi...
We present TaDA Live, a concurrent separation logic for reasoning compositionally about the terminat...
Most proof methods for reasoning about concurrent programs are based upon the interleaving semantics...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
A logic for reasoning about timing properties of concurrent programs is presented. The logic is ba...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
This thesis explores two kinds of program logics that have become important for modern program verif...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
To avoid data races, concurrent operations should either be at distinct times or on distinct data. A...
Abstract. To avoid data races, concurrent operations should either be at distinct times or on distin...
We present Total-TaDA, a program logic for verifying the total correctness of concurrent programs: t...
© Springer-Verlag Berlin Heidelberg 2016.We present Total-TaDA, a program logic for verifying the to...
We present Total-TaDA, a program logic for verifying the total correctness of concurrent programs: t...
Abstract. We look at approaches to specifying concurrent program modules based on disjointness (the ...
We present Total-TaDA, a program logic for verifying the to-tal correctness of concurrent programs: ...
This dissertation addresses the problem of automated reasoning about multi-threaded programs. Multi...
We present TaDA Live, a concurrent separation logic for reasoning compositionally about the terminat...
Most proof methods for reasoning about concurrent programs are based upon the interleaving semantics...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
A logic for reasoning about timing properties of concurrent programs is presented. The logic is ba...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
This thesis explores two kinds of program logics that have become important for modern program verif...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...