Cristian Cadar
From Wikipedia, the free encyclopedia
Cristian Cadar is a computer scientist and Professor of Software Reliability in the Department of Computing at Imperial College London, where he leads the Software Reliability Group.[1] He is the principal developer and maintainer of the KLEE symbolic execution system and works on automated techniques for finding bugs and security vulnerabilities in software.
Cristian Cadar | |
|---|---|
| Education | MIT (BS, MS); Stanford University (PhD) |
| Known for | KLEE symbolic execution engine, dynamic symbolic execution |
| Awards | Humboldt Research Award (2024); IEEE TCSE New Directions Award (2022); ACM Distinguished Member (2021); BCS Roger Needham Award (2019); SIGOPS Hall of Fame (2018); ERC Consolidator Grant (2018); ACM CCS Test of Time Award (2016) |
| Scientific career | |
| Fields | Software engineering, Symbolic execution, Software reliability |
| Workplaces | Imperial College London |
Education and career
Cadar received bachelor's degrees in computer science and mathematics and a master's degree from MIT, and his PhD in computer science from Stanford University.[1][2] He subsequently joined Imperial College London, where he established the Software Reliability Group. He received an EPSRC Early-Career Fellowship in 2013[2] and an ERC Consolidator Grant in 2018 for the project "PASS: Program Analysis for Safe and Secure Software Evolution".[2][3]
Research
Cadar's research centres on symbolic execution — a technique that executes programs with symbolic rather than concrete inputs, exploring multiple execution paths simultaneously to automatically discover bugs and generate high-coverage test suites:
- KLEE – an open-source dynamic symbolic execution engine built on top of the LLVM compiler infrastructure; KLEE automatically generates test cases that achieve high code coverage and finds bugs in C/C++ programs; it has been used to test the GNU Coreutils, BusyBox, and hundreds of other open-source projects[4]
- Multi-version execution – running multiple versions of a program simultaneously to detect regressions automatically[5]
- Program analysis for evolving software – techniques for verifying that software changes preserve intended behaviour[5]
Awards and recognition
- Humboldt Research Award (2024)[5]
- IEEE Technical Committee on Software Engineering – New Directions Award (2022, jointly with Abhik Roychoudhury)[6]
- ACM Distinguished Member, for Outstanding Engineering Contributions to Computing (2021)[7]
- BCS Roger Needham Award (2019)[8]
- SIGOPS Hall of Fame Award (2018)[9]
- ERC Consolidator Grant (2018)[2]
- HVC Award (2017)[10]
- ACM Computer and Communications Security (CCS) Test of Time Award (2016)[11]
- BCS Fellowship (2016)[2]
- Jochen Liedtke Young Researcher Award (EuroSys, 2015)[12]
- EPSRC Early-Career Fellowship (2013)[2]