I am Professor of Software Reliability in the Department of Computing at Imperial College London, where I lead the Software Reliability Group
My research interests span the areas of software engineering, computer systems and software security, with a focus on building practical techniques and tools for improving the reliability and security of software systems.
I have received the BCS Roger Needham Award in 2019, a SIGOPS Hall of Fame award in 2018, an ERC Consolidator Grant in 2018, the HVC Award in 2017, the ACM Computer and Communications Security (CCS) Test of Time Award in 2016, a BCS Fellowship in 2016, the Jochen Liedtke Young Researcher Award in 2015 and an EPSRC Early-Career Fellowship in 2013.
Previously, I received a Ph.D. in Computer Science from Stanford University, an M.Eng. in Computer Science from MIT, and a B.S. in Computer Science and one in Mathematics also from MIT.
Visit my webpage at http://www.doc.ic.ac.uk/~cristic/.
Recent Publications
-
Effective Fuzzing within CI/CD Pipelines (Registered Report)
Arindam Sharma, Cristian Cadar, Jonathan Metzman
International Fuzzing Workshop (FUZZING 2024)
-
Sparse Symbolic Loop Execution (Registered Report)
Frank Busse, Martin Nowack, Cristian Cadar
International Fuzzing Workshop (FUZZING 2024)
-
Grammar Mutation for Testing Input Parsers (Registered Report)
Bachir Bendrissou, Cristian Cadar, Alastair Donaldson
International Fuzzing Workshop (FUZZING 2023)
-
GrayC: Greybox Fuzzing of Compilers and Analysers for C
Karine Even-Mendoza, Arindam Sharma, Alastair Donaldson, Cristian Cadar
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2023)
-
KDAlloc: The KLEE Deterministic Allocator
Daniel Schemmel, Julian Büning, Frank Busse, Martin Nowack, Cristian Cadar
Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2023)
-
Patch Specifications via Product Programs
Cristian Cadar, Daniel Schemmel, Arindam Sharma
2023 International Conference on Formal Methods in Software Engineering (FormaliSE 2023)
-
Combining Static Analysis Error Traces with Dynamic Symbolic Execution (Experience Paper)
Frank Busse, Pritam Gharat, Cristian Cadar, Alastair Donaldson
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2022)
-
SnapFuzz: High-Throughput Fuzzing of Network Applications
Anastasios Andronidis, Cristian Cadar
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2022)
-
A Deterministic Memory Allocator for Dynamic Symbolic Execution
Daniel Schemmel, Julian Büning, Frank Busse, Martin Nowack, Cristian Cadar
36th European Conference on Object-Oriented Programming (ECOOP 2022)
-
CsmithEdge: More Effective Compiler Testing by Handling Undefined Behaviour Less Conservatively
Karine Even-Mendoza, Cristian Cadar, Alastair Donaldson
Empirical Software Engineering (EMSE 2022)
-
SaBRe: Load-time Selective Binary Rewriting
Paul-Antoine Arras, Anastasios Andronidis, Luís Pina, Karolis Mituzas, Qianyi Shu, Daniel Grumberg, Cristian Cadar
International Journal on Software Tools for Technology Transfer (STTT 2022)
-
Fuzzing: Challenges and Reflections
Marcel Böhme, Cristian Cadar, Abhik Roychoudhury
IEEE Software (2021)
-
Past-Sensitive Pointer Analysis for Symbolic Execution
David Trabish, Timotej Kapus, Noam Rinetzky, Cristian Cadar
European Software Engineering Conference / ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2020)
-
Pending Constraints in Symbolic Execution for Better Exploration and Seeding
Timotej Kapus, Frank Busse, Cristian Cadar
IEEE/ACM International Conference on Automated Software Engineering (ASE 2020)
-
Closer to the Edge: Testing Compilers More Thoroughly by Being Less Conservative About Undefined Behaviour
Karine Even-Mendoza, Cristian Cadar, Alastair Donaldson
IEEE/ACM International Conference on Automated Software Engineering, New Ideas and Emerging Results Track (ASE-NIER 2020)
-
Running Symbolic Execution Forever
Frank Busse, Martin Nowack, Cristian Cadar
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2020)
-
KLEE Symbolic Execution Engine in 2019
International Journal on Software Tools for Technology Transfer (2020)
-
Constraints in Dynamic Symbolic Execution: Bitvectors or Integers?
Timotej Kapus, Martin Nowack, Cristian Cadar
International Conference on Tests and Proofs (TAP 2019)
-
Compiler Fuzzing: How Much Does It Matter?
Michael Marcozzi, Qiyi Tang, Alastair Donaldson, Cristian Cadar
Proceedings of the ACM on Programming Languages (OOPSLA 2019)
-
Just Fuzz It: Solving Floating-point Constraints Using Coverage-guided Fuzzing
Daniel Liew, Cristian Cadar, Alastair Donaldson, J. Ryan Stinnett
European Software Engineering Conference / ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2019)
-
A Segmented Memory Model for Symbolic Execution
European Software Engineering Conference / ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2019)
-
Computing Summaries of String Loops in C for Better Testing and Refactoring
Timotej Kapus, Oren Ish-Shalom, Shachar Itzhaky, Noam Rinetzky, Cristian Cadar
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2019)
-
Mvedsua: Higher Availability Dynamic Software Updates via Multi-Version Execution
Luís Pina, Anastasios Andronidis, Michael Hicks, Cristian Cadar
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2019)
-
On the Correctness of Electronic Documents: Studying, Finding, and Localizing Inconsistency Bugs in PDF Readers and Files
Tomasz Kuchta, Thibaud Lutellier, Edmund Wong, Lin Tan, Cristian Cadar
Empirical Software Engineering (EMSE 2018)
-
PARTI: A Multi-interval Theory Solver for Symbolic Execution
Oscar Soria Dustmann, Klaus Wehrle, Cristian Cadar
IEEE/ACM International Conference on Automated Software Engineering (ASE 2018)
-
Shadow Symbolic Execution for Testing Software Patches
Tomasz Kuchta, Hristina Palikareva, Cristian Cadar
ACM Transactions on Software Engineering and Methodology (TOSEM 2018)
-
FreeDA: Deploying Incompatible Stock Dynamic Analyses in Production via Multi-Version Execution
Luís Pina, Anastasios Andronidis, Cristian Cadar
ACM International Conference on Computing Frontiers (CF 2018)
-
Chopped Symbolic Execution
David Trabish, Andrea Mattavelli, Noam Rinetzky, Cristian Cadar
International Conference on Software Engineering (ICSE 2018)
-
Automatic Testing of Symbolic Execution Engines via Program Generation and Differential Testing
IEEE/ACM International Conference on Automated Software Engineering (ASE 2017)
-
Floating-Point Symbolic Execution: A Case Study in N-version Programming
Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, Rafael Zähl, Klaus Wehrle
IEEE/ACM International Conference on Automated Software Engineering (ASE 2017)
-
Accelerating Array Constraints in Symbolic Execution
David M. Perry, Andrea Mattavelli, Xiangyu Zhang, Cristian Cadar
International Symposium on Software Testing and Analysis (ISSTA 2017)
-
A DSL Approach to Reconcile Equivalent Divergent Program Executions
Luís Pina, Daniel Grumberg, Anastasios Andronidis, Cristian Cadar
USENIX Annual Technical Conference (USENIX ATC 2017)
-
Analysing the Program Analyser
Cristian Cadar, Alastair Donaldson
International Conference on Software Engineering, Visions of 2025 and Beyond Track (ICSE V2025)
-
Shadow of a Doubt: Testing for Divergences Between Software Versions
Hristina Palikareva, Tomasz Kuchta, Cristian Cadar
International Conference on Software Engineering (ICSE 2016)
-
Symbooglix: A Symbolic Execution Engine for Boogie Programs
Daniel Liew, Cristian Cadar, Alastair Donaldson
IEEE International Conference on Software Testing, Verification, and Validation (ICST 2016)
-
Towards Deployment-Time Dynamic Analysis of Server Applications
International Workshop on Dynamic Analysis (WODA 2015)
-
Targeted Program Transformations for Symbolic Execution
European Software Engineering Conference / Symposium on the Foundations of Software Engineering New Ideas Track (ESEC/FSE NI 2015)
-
Varan the Unbelievable: An Efficient N-version Execution Framework
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015)
-
Docovery: Toward Generic Automatic Document Recovery
Tomasz Kuchta, Cristian Cadar, Miguel Castro, Manuel Costa
International Conference on Automated Software Engineering (ASE 2014)
-
Covrig: A Framework for the Analysis of Code, Test, and Coverage Evolution in Real Software
Paul Dan Marinescu, Petr Hosek, Cristian Cadar
International Symposium on Software Testing and Analysis (ISSTA 2014)
-
SymbexNet: Testing Network Protocol Implementations with Symbolic Execution and Rule-Based Specifications
JaeSeung Song, Cristian Cadar, Peter Pietzuch
IEEE Transactions on Software Engineering (TSE 2014)
-
Symbolic Crosschecking of Data-Parallel Floating-Point Code
Peter Collingbourne, Cristian Cadar, Paul H. J. Kelly
IEEE Transactions on Software Engineering (TSE 2014)
-
Shadow Symbolic Execution for Better Testing of Evolving Software
Cristian Cadar, Hristina Palikareva
International Conference on Software Engineering, New Ideas and Emerging Results (ICSE NIER 2014)
-
KATCH: High-Coverage Testing of Software Patches
Paul Dan Marinescu, Cristian Cadar
European Software Engineering Conference / ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2013)
-
Multi-solver Support in Symbolic Execution
Hristina Palikareva, Cristian Cadar
International Conference on Computer Aided Verification (CAV 2013)
-
Safe Software Updates via Multi-version Execution
International Conference on Software Engineering (ICSE 2013)
-
Symbolic Execution for Software Testing: Three Decades Later
Cristian Cadar, Koushik Sen
Communications of the Association for Computing Machinery (CACM 2013)
-
High-Coverage Symbolic Patch Testing
Paul Dan Marinescu, Cristian Cadar
International SPIN Workshop on Model Checking of Software (SPIN 2012)
-
Multi-Version Software Updates
Workshop on Hot Topics in Software Upgrades (HotSWUp 2012)
-
make test-zesti: A Symbolic Execution Solution for Improving Regression Testing
Paul Dan Marinescu, Cristian Cadar
International Conference on Software Engineering (ICSE 2012)
-
Efficient Argumentation for Medical Decision-Making
Matthew Williams, Robert Craven, Francesca Toni, Cristian Cadar, Adrian Hadad
International Conference on Principles of Knowledge Representation and Reasoning (KR 2012)
-
Safe Software Updates via Multi-version Execution
Imperial College London
-
Rule-based Verification of Network Protocol Implementations using Symbolic Execution
JaeSeung Song, Tiejun Ma, Cristian Cadar, Peter Pietzuch
IEEE International Conference on Computer Communications and Networks (ICCCN 2011)
-
High Coverage Testing of Haskell Programs
Tristan Allwood, Cristian Cadar, Susan Eisenbach
International Symposium on Software Testing and Analysis (ISSTA 2011)
-
Symbolic Execution for Software Testing in Practice - Preliminary Assessment
Cristian Cadar, Patrice Godefroid, Sarfraz Khurshid, Corina Pasareanu, Koushik Sen, Nikolai Tillmann, Willem Visser
International Conference on Software Engineering, Impact Project (ICSE Impact 2011)
-
Symbolic Crosschecking of Floating-Point and SIMD Code
Peter Collingbourne, Cristian Cadar, Paul H. J. Kelly
European Conference on Computer Systems (EuroSys 2011)
-
Symbolic Testing of OpenCL Code
Peter Collingbourne, Cristian Cadar, Paul H. J. Kelly
Haifa Verification Conference (HVC 2011)
-
Multiplicity Computing: A Vision of Software Engineering for Next-Generation Computing Platform Applications
Cristian Cadar, Peter Pietzuch, Alexander Wolf
Workshop on Future of Software Engineering Research (FoSER 2010)
Other Publications
-
KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs
Cristian Cadar, Daniel Dunbar, Dawson Engler
USENIX Symposium on Operating Systems Design and Implementation (OSDI 2008)
-
Data Randomization
Cristian Cadar, Periklis Akritidis, Manuel Costa, Jean-Phillipe Martin, Miguel Castro
Microsoft Research TR-120-2008
-
Preventing Memory Error Exploits with WIT
Periklis Akritidis, Cristian Cadar, Costin Raiciu, Manuel Costa, Miguel Castro
IEEE Symposium on Security and Privacy (Oakland Security 2008)
-
RWset: Attacking Path Explosion in Constraint-Based Test Generation
Peter Boonstoppel, Cristian Cadar, Dawson Engler
ETAPS Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2008)
-
EXE: Automatically Generating Inputs of Death
Cristian Cadar, Vijay Ganesh, Peter Pawlowski, David Dill, Dawson Engler
ACM Transactions on Information and System Security (TISSEC 2008)
-
EXE: Automatically Generating Inputs of Death
Cristian Cadar, Vijay Ganesh, Peter Pawlowski, David Dill, Dawson Engler
ACM Conference on Computer and Communications Security (CCS 2006)
-
Automatically Generating Malicious Disks Using Symbolic Execution
Junfeng Yang, Can Sar, Paul Twohey, Cristian Cadar, Dawson Engler
IEEE Symposium on Security and Privacy (Oakland 2006)
-
Execution Generated Test Cases: How to Make Systems Code Crash Itself
Cristian Cadar, Dawson Engler
International SPIN Workshop on Model Checking of Software (SPIN 2005)
-
Exploring the acceptability envelope
Martin Rinard, Cristian Cadar, Huu Hai Nguyen
Conference on Object-Oriented Programming Systems, Languages, and Applications Companion (OOPSLA Onward 2005)
-
A Dynamic Technique for Eliminating Buffer Overflow Vulnerabilities (and Other Memory Errors)
Martin Rinard, Cristian Cadar, Daniel Dumitran, Daniel Roy, Tudor Leu
Annual Computer Security Applications Conference (ACSAC 2004)
-
Enhancing Server Availability and Security Through Failure-Oblivious Computing
Martin Rinard, Cristian Cadar, Daniel Dumitran, Daniel Roy, Tudor Leu, William Beebee Jr.
USENIX Symposium on Operating Systems Design and Implementation (OSDI 2004)