Skip to main content

About Hans-Dieter Hiep

Academic interests:

  • formal methods and mathematical logic,
  • higher-order logic and dependent type theory,
  • separation logic,
  • dynamic logic,
  • operational, denotational, axiomatic semantics of programming languages;
  • weakest precondition / strongest postcondition calculi,
  • program correctness (Hoare’s logic and Reynolds’ logic),
  • algorithms for interactive, automated and distributed theorem proving,
  • foundations of object-oriented programming languages,
  • formal models of novel Internet protocols and operating system APIs,
  • real-world Java and Rust software verification.

Other interests: foundations of mathematics, proof theory, set theory, computability, cluster and grid computing, operating systems, computer networking, Java and Java virtual machines, reverse engineering, cyber security, distributed and concurrent algorithms, formal languages also beyond context-free grammars, Web technologies, accessibility, interoperability and extensibility, formal methods in graphical user interfaces (GUIs) and electronic design automation (EDA), and—in general—anything related to computer hacking. Supporter of Open Science and Open Education.

In 2024, Hans-Dieter A. Hiep finished a Ph.D. program in Computer Science at Leiden University, Leiden Institute of Advanced Computer Science (LIACS) and Centrum Wiskunde & Informatica (CWI). In 2018, he finished a Master program in Computer Science joint-degree at the Vrije Universiteit and Universiteit van Amsterdam (VU/UvA), specialising in foundations of computing and concurrency. In 2016, he finished a Bachelor program in Computer Science also at the Vrije Universiteit.

Curriculum Vitae

Full name: Hans-Dieter Anton Hiep
Born: 21 March 1991, Hoorn, North-Holland, the Netherlands

Work e-mail address: h.a.hiep at acm dot org
Personal e-mail address: hans.dieter.hiep at gmail dot com

Secure e-mail address: hdh at drheap dot nl
Fingerprint: CDB1 EE57 CE1E 483A 3AD3 8F2C 056F F4CC C2A9 1ED2

Teaching

  • (Lecturer) Concepts of Programming Languages, Leiden University, 2021, 2022, 2023 (see on-line lectures)
  • (Lecturer) Program Correctness, Leiden University, 2020, 2021, 2022, 2023, 2024 (see on-line lectures)
  • (Student project supervision) Interactive Theorem Prover Project 2, LUdev, Leiden University, 2022
  • (Student project supervision) Interactive Theorem Prover Project, LUdev, Leiden University, 2021
  • (Student project supervision) Distributed Algorithms Visualization Tool, Individual Systems Project, Vrije Universiteit Amsterdam, 2020
  • (Teaching assistant) Program Correctness, Leiden University, 2019
  • (Student assistant) Concurrency & Multi-threading, Vrije Universiteit Amsterdam, 2017, 2018
  • (Student assistant) Equational programming, Vrije Universiteit Amsterdam, 2017
  • (Student assistant) Logic & sets, Vrije Universiteit Amsterdam, 2013
  • (Student assistant) Logic & modelling, Vrije Universiteit Amsterdam, 2013

Thesis supervision

PhD students

  • (Daily supervisor) Jinting Bian, Reasoning About Object-oriented Programs: From Classes to Interfaces, Leiden University (LIACS), Leiden, 2024

Master students

  • (Collaborator) Olaf Maathuis, Verifying OpenJDK's LinkedList using KeY, Open Universiteit (OU), Heerlen, 2020

Bachelor students

  • (Daily supervisor) Daniel Roos, Visualisation of Distributed Algorithms Executions: Improving the DaViz Tool, Vrije Universiteit (VU), Amsterdam, 2022
  • (Daily supervisor) Oualid Azzeggarh, A Concurrent Visual Programming Language, Leiden University (LIACS), Leiden, 2023
  • (Daily supervisor) Andy Tatman, Formal Specification and Analysis of OpenJDK’s BitSet Class, Leiden University (LIACS), Leiden, 2023
  • (Daily supervisor) Zahir Bingen, Verification of Combinational and Sequential Circuits in LEAN3, Leiden University (LIACS), Leiden, 2023

Internships

  • (Daily supervisor) Lazlo de Wijs, Betrokkenheid in een flipped classroom: het vergroten van betrokkenheid bij het kijken van asynchrone online hoorcolleges, Hogeschool van Amsterdam (HvA), Amsterdam, 2022

Research grants

  • (Principal investigator) Verified Reowolf, funded by NGI ASSURE (est. €50k budget)
    We research and develop a mathematical formalism, using the state-of-the-art theorem prover Coq, for the verification of properties of protocols specified in Protocol Description Language (PDL) that identify precisely under what conditions important properties, such as network integrity and service availability, remain to hold or when they break.
  • (Principal investigator) Reowolf II, funded by NGI POINTER (est. €200k budget)
    Reowolf replaces the decades-old BSD-style socket for Internet communication: offering an innovative, programmable and interoperable connector API at the system-level to support the separation of concerns between privacy and performance optimization.
  • (Principal investigator) Reowolf, funded by NGI ZERO (est. €50k budget)
    The Reowolf project aims to provide connectors as a generalization of BSD-sockets for multi-party communication over the Internet.

Publications

Published articles / reports:

  1. History-Based Reasoning About Behavioral Subtyping, Jinting Bian, Hans-Dieter Hiep, Frank de Boer (conference: ICTAC2024)
  2. Analysis and formal specification of OpenJDK's BitSet: Proof files, Andy Tatman, Hans-Dieter Hiep, Stijn de Gouw (journal: SCP)
  3. Footprint Logic for Object-Oriented Components (extended paper), Frank de Boer, Stijn de Gouw, Hans-Dieter Hiep, Jinting Bian (journal: FAC) (gold open access)
  4. Formal Specification and Analysis of OpenJDK’s BitSet Class, Andy Tatman, Hans-Dieter Hiep, Stijn de Gouw (conference: iFM2023)
  5. The Logic of Separation Logic: Models and Proofs, Frank de Boer, Hans-Dieter Hiep, Stijn de Gouw (conference: TABLEAUX2023) (gold open access)
  6. Dynamic Separation Logic, Frank de Boer, Hans-Dieter Hiep, Stijn de Gouw (conference: MFPS2023) (gold open access)
  7. Integrating ADTs in KeY and their application to History-Based Reasoning about Collection, Jinting Bian, Hans-Dieter Hiep, Frank de Boer, Stijn de Gouw (journal: FMSD) (gold open access)
  8. Footprint Logic for Object-Oriented Components, Frank de Boer, Stijn de Gouw, Hans-Dieter Hiep, Jinting Bian (conference: FACS2022) (green open access)
  9. Verifying OpenJDK’s LinkedList using KeY (extended paper), Hans-Dieter Hiep, Olaf Maathuis, Jinting Bian, Frank de Boer, Stijn de Gouw (journal: STTT) (gold open access)
  10. Integrating ADTs in KeY and their application to History-Based Reasoning, Jinting Bian, Hans-Dieter Hiep, Frank de Boer, Stijn de Gouw (conference: FM2021) (green open access)
  11. Completeness and Complexity of Reasoning about Call-by-Value in Hoare Logic, Frank de Boer, Hans-Dieter Hiep (journal: TOPLAS) (gold open access)
  12. A Tutorial on Verifying LinkedList Using KeY, Hans-Dieter Hiep, Jinting Bian, Frank de Boer, Stijn de Gouw (chapter in Deductive Software Verification: Future Perspectives) (green open access)
  13. History-Based Specification and Verification of Java Collections in KeY, Hans-Dieter Hiep, Jinting Bian, Frank de Boer, Stijn de Gouw (conference: iFM2020) (green open access)
  14. History-based specification and verification of Java collections in KeY (keynote), Frank de Boer, Hans-Dieter Hiep (workshop: FTfJP2020) (gold open access)
  15. Reowolf: Synchronous Multi-party Communication over the Internet, Christopher Esterhuyse; Hans-Dieter Hiep (conference: FACS2019) (green open access)
  16. Verifying OpenJDK’s LinkedList using KeY, Hans-Dieter Hiep, Olaf Maathuis, Jinting Bian, Frank de Boer, Stijn de Gouw (conference: TACAS2020) (gold open access)
  17. Reowolf 1.0: Project Documentation, Christopher Esterhuyse, Hans-Dieter Hiep, Technical Report, CWI (gold open access)
  18. Axiomatic Characterization of Trace Reachability for Concurrent Objects, Frank de Boer, Hans-Dieter Hiep (conference: iFM2019) (green open access)

See also this ORCiD page for a list of publications.

Unpublished manuscripts:

  • TMP: Time Modulation Protocol, Dalia Papuc, Benjamin Lion, Hans-Dieter Hiep (preprint)
  • Compositional Linearizations of Transactional Behavior, Kasper Dokter, Benjamin Lion, Hans-Dieter Hiep
  • Reowolf: Executable, Compositional, Synchronous Protocol Specifications, Christopher Esterhuyse, Benjamin Lion, Hans-Dieter Hiep, Farhad Arbab (preprint)

Talks / conferences / workshops

2025

  • Is Separation Logic complete?, Leiden Institute of Advanced Computer Science (LIACS), Theory Group, Leiden, Netherlands
  • Attended Heyting Day 2025, Royal Netherlands Academy of Arts and Sciences (KNAW), Amsterdam, Netherlands
  • Attended FOSDEM 2025, Vrije Universiteit Brussels, Brussels, Belgium

2024

2023

2022

2021

  • Reasoning about call-by-value recursive procedures in Hoare logic, Amsterdam Coordination Group (ACG), Amsterdam, Netherlands
  • Reasoning about ADTs in KeY, The KeYnote Series, virtual
  • History-based Specification and Verification of Java Collections in KeY (extended talk), University of Twente, Formal Methods and Tools Group, virtual

2020

2019

2018

2017

Professional committees / activities

Journal reviewing:

  • Reviewer for International Journal on Software and Systems Modeling (SoSyM)
  • Reviewer for Science of Computer Programming (SCP)

Conference reviewing:

  • Reviewer (FM 2024)
  • Reviewer (IJCAR 2024)
  • Reviewer (FASE 2024)
  • Reviewer (AOL 2023)
  • Reviewer (FASE 2022)
  • Reviewer (SEFM 2021)

Software artifact reviewing:

  • Member of Artifact Evaluation Committee (OOPSLA 2024)
  • Member of Artifact Evaluation Committee (ICFP 2023)
  • Member of Artifact Evaluation Committee (POPL 2023)
  • Member of Artifact Evaluation Committee (TACAS 2021)

Additional activities:

Awards

  • The 2023 G. Rozenberg Research Award by the Leiden Institute of Advanced Computer Science (LIACS)
  • Google USD1337 prize: bug bounty for discovering issue in LinkedList

Employment / professional experience

January 2025 — present
Technology assessor / project manager, NLnet, Amsterdam, The Netherlands

July 2024 — December 2024
Applied scientist, Amazon Web Services (AWS), Automated Reasoning Group, Cambridge, United Kingdom

November 2023 — June 2024
Postdoctoral researcher, Leiden University, Leiden Institute of Advanced Computer Science (LIACS), Theory group, Leiden, The Netherlands

November 2020 — October 2023
Doctoral researcher, Leiden University, Leiden Institute of Advanced Computer Science (LIACS), Theory group, Leiden, The Netherlands

November 2018 — October 2020
Doctoral researcher, Centrum Wiskunde & Informatica, Computer Security group, Amsterdam, The Netherlands

December 2017 — October 2018
Internship, Centrum Wiskunde & Informatica, Formal Methods group, Amsterdam, The Netherlands

2017
Internship, Stichting Bèma, Amsterdam, The Netherlands
IT consultant, Custommate B.V., Werkendam, The Netherlands

2016—2017
Programmer, Inktweb B.V., Alkmaar, The Netherlands

2016
IT consultant, Total Medical Solutions B.V., Dordrecht, The Netherlands

2015—2018
IT recruiter, Gong Reflections B.V., Amsterdam, The Netherlands
Co-founder, HyperReuts, Amstelveen, The Netherlands

2014
Programmer, Social Shop B.V., Amsterdam, The Netherlands

2013—2015
Co-founder, AEXIZ, Hilversum, The Netherlands

2013
Collaborator, WEEVR, Amsterdam, The Netherlands

2012
Programmer, Social Shop B.V., Amsterdam, The Netherlands

2011—2012
Co-founder, J.P.H. Media, Alkmaar, The Netherlands

2010
Programmer, Cillix B.V., Leiden, The Netherlands

2008—2009
Programmer, Admicom, Hoorn, The Netherlands

Qualifications

November 2024
University Teaching Qualification (UTQ) / Basiskwalificatie Onderwijs (BKO), Leiden University

November 2018 — May 2024
Doctor of Philosophy (PhD) degree in Computer Science, Leiden University, Factulty of Science, Leiden Institute of Advanced Computer Science (LIACS)
Thesis: New Foundations for Separation Logic
Promotor: prof.dr. Frank S. de Boer
Co-promotores: dr. Stijn de Gouw, dr. Alfons Laarman
Graduated: cum laude

September 2016 — October 2018
Joint UvA-VU Master of Science (MSc) degree in Computer Science, University of Amsterdam (UvA) and Vrije Universiteit Amsterdam (VU), Faculty of Science, Department of Computer Science
Track: Foundations of Computing and Concurrency
Thesis: A Reo Semantics for Reasoning about Speculative Execution
Thesis supervisors: dr. Jasmin Blanchette, prof.dr. Farhad Arbab
Graduated: cum laude

September 2012 — August 2016
Bachelor of Science (BSc) degree in Computer Science, Vrije Universiteit Amsterdam (VU), Faculty of Science, Department of Computer Science
Minor: Deep Programming
Thesis: Alternative Connectives for Classical Propositional Logic
Thesis supervisors: dr. Femke van Raamsdonk, dr. Clemens Grabmayer
Graduated: cum laude

September 2011 — August 2012
Bachelor Econometrics and Operations Research, University of Amsterdam (UvA), Faculty of Economics and Business, Amsterdam School of Economics
Not graduated

September 2010 — August 2011
Double bachelor Computer Science & Mathematics, Leiden University, Factulty of Science, Leiden Institute of Advanced Computer Science (LIACS)
Not graduated

2003—2010
Voorbereidend wetenschappelijk onderwijs (VWO), Rooms-Katholieke Scholengemeenschap Tabor, Werenfridus, Hoorn

Extracurricular

2018—2022 Secretary of the board, VU-koor, Amsterdam
2017—2018 Advice committee, VU-koor, Amsterdam
2010—2011 Yearbook committee, De Leidsche Flesch, Leiden