Bio
Nico Naus is a computer scientist specializing in formal languages and formal methods. He received his Ph.D. in Computer Science from Utrecht University, where he worked on domain-specific languages and symbolic execution techniques to improve workflow software. His research develops formal techniques and verification methods that improve the correctness, security, and maintainability of (binary) computer systems, with a particular emphasis on reverse engineering and decompilation.
He teaches functional programming and imperative programming at the Open University and Utrecht University, and supervises and mentors bachelor's and master's students in their research.
Alongside his research and teaching, Nico is increasingly active in university governance and academic service. He serves as a member of the University Council at Utrecht University and on the educational committee of the computer science bachelor at the Open University, and is committed to representation, policy, and the wider academic community.
Selected Publications
Papers
- CF-GKAT: Efficient Validation of Control-Flow Transformations
- Cheng Zhang, Tobias Kappé, David Narvaez and Nico Naus. POPL'25.
- Verifiably Correct Lifting of Position-Independent x86-64 Binaries to Symbolized Assembly
- Freek Verbeek, Nico Naus and Binoy Ravindran. CCS'24.
- A Formal Semantics for P-Code
- Nico Naus, Freek Verbeek and Binoy Ravindran. VSTTE'22.
- Low-level Reachability Analysis based on Formal Logic
- Nico Naus, Freek Verbeek, Marc Schoolderman and Binoy Ravindran. TAP'23.
- TopHat: A formal foundation for task-oriented programming
- Tim Steenvoorden, Nico Naus and Markus Klinik. PPDP'19.
Theses
- PhD Thesis Assisting End Users in Workflow Systems
- Promotor: Johan Jeuring
- Masters Thesis Dynamic type inference for JavaScript
- Supervisors: Peter Thiemann, Atze Dijkstra, Johan Jeuring
Teaching
- Functional Programming
- Open University of The Netherlands, 2020 - present
- Object Oriented analysis, design and programming
- Open University of The Netherlands, 2023 - present
- Imperative Programming
- Utrecht University, 2025 - present
- Modelling and Programming
- Utrecht University, 2026 - present
- Software Testing
- Utrecht University for OpenEU, 2026 - present
- Informatica introductieproject
- Utrecht University, 2016 - 2018
- Modelleren en systeemontwikkeling
- Utrecht University, 2015 - 2019
- Webtechnologie
- Utrecht University, 2015 - 2016
Governance & Service
- University Council member, Utrecht University (September 2025 - present)
- Educational committee member, CS bachelor, Open University (June 2024 - present)
Past
- University Council member for UPP, Utrecht University (September 2017 - September 2019)
- International Support Chair at VTPA (January 2022 - June 2023)
- Member of the PhD Council of Institute for Programming research and Algorithmics
- PhD Network Utrecht representative (June 2017 - November 2019)
- Member of the PhD Council of the Graduate School of Natural Sciences (October 2015 - December 2019)