This thesis presents a set of verification techniques based on permission-based separation logic to reason about the data race freedom and functional correctness of program parallelizations. Our reasoning techniques address different forms of high-level and low-level parallelization. For high-level parallel programs, we first define the Parallel Programming Language (PPL), a simple core language that captures the main features of deterministic parallel programming; then we discuss how PPL programs and consequently, real-world deterministic parallel programs (e.g. OpenMP programs) are verified. For low-level parallel programs, we specifically focus on reasoning about GPGPU kernels. At the end we discuss how the presented verification techniq...
This thesis presents the first formalization of the Owicki-Gries method and its compositional versio...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approa...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our ap-pro...
A simple but general parallel programming language is considered. The semantics of programs is defin...
Abstract As the multi-core processor is widely used and advanced high-trusted software is required, ...
This thesis is about scalable formal verification techniques for software. A verification technique ...
Abstract. Graphics Processing Units (GPUs) are increasingly used for general-purpose applications be...
Graphics Processing Units (GPUs) are increasingly used for general-purpose applications because of t...
This thesis presents an axiomatic method for proving certain correctness properties of parallel pro...
Graphics Processing Units (GPUs) are increasingly used for general-purpose applications because of t...
Graphics Processing Units (GPUs) are increasingly used for general-purpose applications because of t...
Abstract Graphics Processing Units (GPUs) are increasingly used for general-purpose applications bec...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
A commonly used approach to develop deterministic parallel programs is to augment a sequential progr...
This thesis presents the first formalization of the Owicki-Gries method and its compositional versio...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approa...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our ap-pro...
A simple but general parallel programming language is considered. The semantics of programs is defin...
Abstract As the multi-core processor is widely used and advanced high-trusted software is required, ...
This thesis is about scalable formal verification techniques for software. A verification technique ...
Abstract. Graphics Processing Units (GPUs) are increasingly used for general-purpose applications be...
Graphics Processing Units (GPUs) are increasingly used for general-purpose applications because of t...
This thesis presents an axiomatic method for proving certain correctness properties of parallel pro...
Graphics Processing Units (GPUs) are increasingly used for general-purpose applications because of t...
Graphics Processing Units (GPUs) are increasingly used for general-purpose applications because of t...
Abstract Graphics Processing Units (GPUs) are increasingly used for general-purpose applications bec...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
A commonly used approach to develop deterministic parallel programs is to augment a sequential progr...
This thesis presents the first formalization of the Owicki-Gries method and its compositional versio...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approa...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our ap-pro...