Analysis and Verification
We face a fundamental problem: computer systems are critical to modern society but traditional non-mathematical computer engineering techniques, such as informal prose specification and ad-hoc testing, cannot make them safe, reliable and secure. The only solution is to bring a mathematically rigorous, scientific method to the specification, testing and verification of the complex computer infrastructure on which society depends.
The Verification theme comprises academics unified by a common interest in symbolic analysis at scale, at the forefront of research developments in fundamental theories and industrial-strength tools, targeting real-world applications ranging from multi-core systems, programming languages, autonomous vehicles and web services. Our specialist research uses techniques such as symbolic testing, program logics, type theories, model checking and process algebras.
Related videos
![Specification and verification of x86 machine-level code](/assets/website/images/placeholder/video-placeholder.jpg)
Specification and verification of x86 machine-level code
We are using theorem-proving techniques to model and analyze x86 software
We are using theorem-proving techniques to model and analyze x86 software for the purpose of increasing the accuracy and reliability of x86-based products. We have developed an ISA-level x86 emulator in the ACL2 logic; this emulator serves as a precise specification for x86 software.
![GPUVerify: Introduction and overview](/assets/website/images/placeholder/video-placeholder.jpg)
GPUVerify: Introduction and overview
The video demonstrates GPUVerify in action on some practical examples
In this video, Alastair Donaldson provides an overview of GPUVerify, which is a tool for analysing OpenCL and CUDA kernels to check for data races and barrier divergence. The video demonstrates GPUVerify in action on some practical examples.
![GPUVerify: Verification method](/assets/website/images/placeholder/video-placeholder.jpg)
GPUVerify: Verification method
Alastair Donaldson explains how the technique works behind the hood
In this second video about GPUVerify, Alastair Donaldson explains about GPUVerify, how the technique works behind the hood, showing how data race analysis for a massively parallel kernel is reduced to analysis of a sequential program.
![GPUVerify: Predicated execution and invariant inference](/assets/website/images/placeholder/video-placeholder.jpg)
GPUVerify: Predicated execution and invariant inference
Alastair Donaldson covers two topics: the lock-step predicated execution technique and looping code
In the final video about GPUVerify, Alastair Donaldson covers two advanced topics: the lock-step predicated execution technique that the tool uses to handle conditional and looping code, and the manner by which loop invariants are automatically inferred using the Houdini algorithm.
Research groups and centres
Events
PhD students, RAs, and faculty whose work is related to the Programming Languages or Analysis & Verification themes are invited to take part in a regular get together for the theme.
Academics
Academics
-
Dr Cristian Cadar
Location
435, Huxley Building
Research interests
Software engineering, computer systems, software security, practical techniques for improving software reliability and security.
-
Prof Alastair Donaldson
Location
422, Huxley Building
Research interests
Formal verification for multicore software, software performance optimization.
-
Prof. Sophia Drossopoulou
Personal details
Prof. Sophia Drossopoulou Professor of Programming LanguagesSend email+44 (0)20 7594 8368
Location
559, Huxley Building
Research interests
Concurrent programming, program verification, characterization of program evolution, theorem proving.
-
Prof. Susan Eisenbach
Location
569, Huxley Building
Research interests
Programming Languages, Concurrency and Testing.
-
Prof. Philippa Gardner
Personal details
Prof. Philippa Gardner Professor of Theoretical Computer ScienceSend email+44 (0)20 7594 8292
Location
453, Huxley Building
Research interests
Programming languages, program analysis and verification, concurrency and resource reasoning.
-
Dr Ben Livshits
Location
569, Huxley Building
Research interests
Security, privacy, program analysis, compilers, software engineering and crowd-sourcing.
-
Prof. Alessio Lomuscio
Personal details
Prof. Alessio Lomuscio Professor of Safe Artificial IntelligenceSend email+ 44 (0)20 7594 8414
Location
I-X, Translation and Innovation Hub (I-HUB), White City Campus
Research interests
Logic-based specification, verification of autonomous systems.
-
Dr Sergio Maffeis
Location
441, Huxley Building
Research interests
Software security; network and web security; applications of machine learning to security; security of machine learning; formal methods.
-
Dr. Azalea Raad
Location
Huxley Building
-
Dr Herbert Wiklicky
Location
424, Huxley Building
Research interests
Program analysis, programming languages, semantics, probabilistic models, program synthesis, semantics in computer security, quantum computation.