Dr Carsten Fuhs

-
Overview
Overview
Biography
- I am a Senior Lecturer (approx. Associate Professor in the US system) at the School of Computing and Mathematical Sciences of Birkbeck, University of London.
- Before joining Birkbeck in 2015, I was a research associate (postdoc) in the Programming Principles, Logic and Verification Group in the Department of Computer Science of University College London and in the School of EECS at Queen Mary University of London.
- Earlier, I worked as a research and teaching assistant and PhD student under the supervision of Jürgen Giesl at the Research Group Computer Science 2 of RWTH Aachen University.
Qualifications
- PhD, RWTH Aachen University, 2012
Web profiles
Administrative responsibilities
- Group Lead for Logical Methods research group
- Undergraduate Admissions Lead for the School of Computing and Mathematical Sciences
-
Research
Research
Research interests
- Automated Termination and Complexity Analysis
- Program Equivalence
- Verification
- Separation Logic
- Term Rewriting
- Constraint Solving
- SAT Encodings
Research overview
My primary mission is to provide fully automated techniques and tools that allow software developers to check whether their code has certain (un)desirable properties, for example:
- Termination: Is the user guaranteed to get an answer from their query to the computer, regardless of the input that the user has provided?
- Complexity bounds: How long should the user expect to wait for the answer to their query in the worst case?
- Equivalence: We want to replace one program by another. Can we guarantee that these two programs would always give the same answer, for all queries?
- Safety: Is it guaranteed that the program never does anything that should not happen? (And: what, exactly, do we mean by "anything that should not happen"?)
The goal is to answer these questions with a proof that provides mathematical certainty. The price for this lofty goal is that such verification tools can never provide a definite answer for all possible programs. However, when they do give an answer, it should be guaranteed correct, and we want our verification tools to be able to give an answer for as many (reasonable) programs as possible.
To this end, I apply techniques and tools for deduction-based automated reasoning: relevant properties of programs can be compiled into verification-friendly intermediate languages such as (constrained) term rewriting, and the verification tasks for these problems can be handled using modern constraint solvers (e.g., SAT and SMT solvers).
Most of my research is implemented in fully automated program analysis tools such as AProVE and Cora.
For a full overview of my publications, please have a look at my website.
Research clusters and groups
- Group Lead, Logical Methods research group
-
Supervision and teaching
Supervision and teaching
Supervision
I welcome enquiries from prospective PhD students who are interested in undertaking research in any of my areas of research interest.
Teaching
Teaching modules
- Programming in Java (BUCI033S7)
-
Publications
Publications
Article
- Baudon, T. and Fuhs, Carsten and Gonnord, L. (2024) On Complexity Bounds and Confluence of Parallel Term Rewriting. Fundamenta Informaticae 192 (2), pp. 121-166. ISSN 0169-2968.
- Frohn, F. and Fuhs, Carsten (2022) A calculus for modular loop acceleration and non-termination proofs. International Journal on Software Tools for Technology Transfer 24, pp. 691-715. ISSN 1433-2779.
Book Section
- Milovančević, D. and Fuhs, Carsten and Bucev, M. and Kunčak, V. (2024) Proving termination via measure transfer in equivalence checking. In: Kosmatov, N. and Kovács, L. (eds.) Integrated Formal Methods. Lecture Notes in Computer Science. Springer. pp. 75-84. ISSN 0302-9743. ISBN 9783031765537.
- Baudon, T. and Fuhs, Carsten and Gonnord, L. (2022) Analysing Parallel Complexity of Term Rewriting. In: Villanueva, A. (ed.) Logic-Based Program Synthesis and Transformation: 32nd International Symposium, LOPSTR 2022, Tbilisi, Georgia, September 21–23, 2022, Proceedings. Lecture Notes in Computer Science. Springer. pp. 3-23. ISBN 9783031167669.
- Fuhs, Carsten and Giesl, J. and Middeldorp, A. and Schneider-Kamp, P. and Thiemann, R. and Zankl, H. (2007) SAT solving for termination analysis with polynomial interpretations. In: Marques-Silva, J. and Sakallah, K.A. (eds.) Theory and Applications of Satisfiability Testing: SAT 2007, 10th International Conference. Lecture Notes in Computer Science. Springer. pp. 340-354. ISBN 9783540727873.
- Schneider-Kamp, P. and Fuhs, Carsten and Thiemann, R. and Giesl, J. and Annov, E. and Codish, M. and Middeldorp, A. and Zankl, H. (2007) Implementing RPO and POLO using SAT. In: Baader, F. and Cook, B. and Giesl, J. and Nieuwenhuis, R. (eds.) Deduction and Decision Procedures. Dagstuhl Seminar Proceedings. Internationales Begegnungs- und Forschungszentrum fuer Informatik.