Lars Hupel

dblp:143/3168 · DBLP profile ↗
← Back
8ranked-venue papers
3as first author
2since 2021 · last 2025
0000-0002-8442-856XORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 2 first-author · 1 since 2021Theory of computation · 4 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 2 · 1 first-authorSecurity and privacy · 1 · 1 since 2021
YearPublicationVenuePosition
2025 How to Design a Public Key Infrastructure for a Central Bank Digital Currency
Makan Rafiee, Lars Hupel
SECRYPT2
2024 Extending Isabelle/HOL's Code Generator with Support for the Go Programming Language
abstract
Abstract The Isabelle proof assistant includes a small functional language, which allows users to write and reason about programs. So far, these programs could be extracted into a number of functional languages: Standard ML, OCaml, Scala, and Haskell. This work adds support for Go as a fifth target language for the Code Generator. Unlike the previous targets, Go is not a functional language and encourages code in an imperative style, thus many of the features of Isabelle’s language (particularly data types, pattern matching, and type classes) have to be emulated using imperative language constructs in Go. The developed Code Generation is provided as an add-on library that can be simply imported into existing theories.
Terru Stübinger, Lars Hupel
FM (2)2
2019 Certifying Dictionary Construction in Isabelle/HOL
abstract
Type classes are a well-known extension to various type systems. Classes usually participate in type inference; that is, the type checker will automatically deduce class constraints and select appropriate instances. Compilers for such languages face the challenge that concrete instances are general ly not directly mentioned in the source text. In the runtime, type class operations need to be packaged into dictionaries that are passed around as pointers. This article presents the most common approach for compilation of type classes – the dictionary construction – carried out in a trustworthy fashion in Isabelle/HOL, a proof assistant. The result is an automatic routine that eliminates occurences of classes and instances from a set of definitions and proves a theorem relating old and new definitions.
Lars Hupel
Fundam. Informaticae1
2018 A Verified Compiler from Isabelle/HOL to CakeML
abstract
Many theorem provers can generate functional programs from definitions or proofs. However, this code generation needs to be trusted. Except for the HOL4 system, which has a proof producing code generator for a subset of ML. We go one step further and provide a verified compiler from Isabelle/HOL to CakeML. More precisely we combine a simple proof producing translation of recursion equations in Isabelle/HOL into a deeply embedded term language with a fully verified compilation chain to the target language CakeML.
Lars Hupel, Tobias Nipkow
ESOP1
2018 Verified iptables Firewall Analysis and Verification
abstract
This article summarizes our efforts around the formally verified static analysis of iptables rulesets using Isabelle/HOL. We build our work around a formal semantics of the behavior of iptables firewalls. This semantics is tailored to the specifics of the filter table and supports arbitrary match expressions, even new ones that may be added in the future. Around that, we organize a set of simplification procedures and their correctness proofs: we include procedures that can unfold calls to user-defined chains, simplify match expressions, and construct approximations removing unknown or unwanted match expressions. For analysis purposes, we describe a simplified model of firewalls that only supports a single list of rules with limited expressiveness. We provide and verify procedures that translate from the complex iptables language into this simple model. Based on that, we implement the verified generation of IP space partitions and minimal service matrices. An evaluation of our work on a large set of real-world firewall rulesets shows that our framework provides interesting results in many situations, and can both help and out-compete other static analysis frameworks found in related work.
Cornelius Diekmann, Lars Hupel, Julius Michaelis, Max W. Haslbeck, Georg Carle
J. Autom. Reason.2
2015 Semantics-Preserving Simplification of Real-World Firewall Rule Sets
Cornelius Diekmann, Lars Hupel, Georg Carle
FM2
2014 Experience report: the next 1100 Haskell programmers
abstract
We report on our experience teaching a Haskell-based functional programming course to over 1100 students for two winter terms. The syllabus was organized around selected material from various sources. Throughout the terms, we emphasized correctness through QuickCheck tests and proofs by induction. The submission architecture was coupled with automatic testing, giving students the possibility to correct mistakes before the deadline. To motivate the students, we complemented the weekly assignments with an informal competition and gave away trophies in a award ceremony.
Jasmin Blanchette, Lars Hupel, Tobias Nipkow, Lars Noschinski, Dmitriy Traytel
Haskell2
2014 Interactive Simplifier Tracing and Debugging in Isabelle
Lars Hupel
CICM1