Portrait of David Castro-Perez

David Castro-Perez



David's research is on applying programming language-based techniques to the development of safe and predictable systems, with a strong emphasis on concurrent and distributed systems. In these areas, I develop and apply techniques based on behavioural types for reasoning about functional (e.g. correctness) and extra-functional (e.g. cost) of concurrent and distributed systems. I developed high-level frameworks for parallel programming that provide guarantees of correctness by construction, and I developed static cost analysis for predicting the potential achievable speedups. Additionally, I am very interested in build certified tools and languages, mostly in (but not limited to) the Coq interactive theorem prover.

Research interests

I am a member of the following research groups:

Programming Languages and Systems Research Group

Broadly speaking, my research interests are focused on the development and application of techniques for reasoning about functional (correctness) and extra-functional (e.g. execution costs) properties of systems, and the development of certified tools in dependently typed languages and theorem provers. 


COMP6580: Programming Language Implementation 

COMP3370/COMP5810: Computers and the Cloud/An Introduction to Computer Systems 

COMP6640: Language-based Security 

I also supervise COMP6000 and COMP6200 projects. Please get in touch if you would like to discuss an idea.    

Last updated