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)