PhD studentship in probabilistic property-based testing

The aim of the project is to explore the hypothesis that property-based testing (e.g. QuickCheck) is a form of probabilistic programming.

Property-based testing is a widely used and powerful form of lightweight randomized testing, but it has been developed largely independently of increasingly sophisticated probabilistic programming languages and inference algorithms.  This project will study the consequences of adopting the perspective that property-based testing is a form of probabilistic programming, and investigate subproblems such as inducing good properties from programs or test data; testing complex programs using advanced sampling techniques that provide error bounds; and synthesizing suitable data generators or automatically providing concise explanations why a property fails to hold. Possible application areas include randomized testing of programming language designs and type systems themselves (following e.g. PLT Redex), as well as traditional system specification and testing problems. For more information, please see