David Nowak

dblp:n/DavidNowak · DBLP profile ↗
← Back
25ranked-venue papers
6as first author
6since 2021 · last 2025
0000-0002-4195-9555ORCID · reported

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

Software engineering, systems software and programming languages · 11 · 5 since 2021Theory of computation · 11 · 3 first-author · 1 since 2021Systems, architecture and hardware · 2 · 1 first-author · 1 since 2021Security and privacy · 2 · 2 first-authorArtificial intelligence and machine learning · 1
YearPublicationVenuePosition
2025 Time Aware Compilation Verified: A Category-Theoretic Approach in Rocq
abstract
Certifying real-time guarantees for imperative programs is a critical challenge in embedded systems and cyber-physical applications. However, existing certified compilers lack the capability to accurately translate high-level timing abstractions into low-level executable code while preserving temporal semantics. This paper introduces a category-theoretic framework to model time-sensitive programs, leveraging monads and comonads to capture both the production and observation of temporal effects. Our methodology is formalized in the Rocq proof assistant, providing a foundation for the development of a certified compiler capable of preserving real-time constraints across compilation stages. By abstracting timing effects categorically, this work bridges the gap between theoretical program semantics and practical real-time certification, offering a principled path toward verified compilation for time-critical systems.
Benjamin Lion, David Nowak
MEMOCODE2
2024 Formal definitions and proofs for partial (co)recursive functions
Horatiu Cheval, David Nowak, Vlad Rusu
J. Log. Algebraic Methods Program.2
2022 Defining Corecursive Functions in Coq Using Approximations
abstract
We present two methods for defining corecursive functions that go beyond what is accepted by the builtin corecursion mechanisms of the Coq proof assistant. This gain in expressiveness is obtained by using a combination of axioms from Coq’s standard library that, to our best knowledge, do not introduce inconsistencies but enable reasoning in standard mathematics. Both methods view corecursive functions as limits of sequences of approximations, and both are based on a property of productiveness that, intuitively, requires that for each input, an arbitrarily close approximation of the corresponding output is eventually obtained. The first method uses Coq’s builtin corecursive mechanisms in a non-standard way, while the second method uses none of the mechanisms but redefines them. Both methods are implemented in Coq and are illustrated with examples.
Vlad Rusu, David Nowak
ECOOP2
2022 A Formal Correctness Proof for an EDF Scheduler Implementation
abstract
The scheduler is a critical piece of software in real-time systems. A failure in the scheduler can have serious consequences; therefore, it is important to provide strong correctness guarantees for it. In this paper we propose a formal proof methodology that we apply to an Earliest Deadline First (EDF) scheduler. It consists first in proving the correctness of the election function algorithm and then lifting this proof up to the implementation through refinements. The proofs are formalized in the Coq proof assistant, ensuring that they are free of human errors and that all cases are considered. Our methodology is general enough to be applied to other schedulers or other types of system code. To the best of our knowledge, this is the first time that an implementation of EDF applicable to arbitrary sequences of jobs has been proven correct.
Florian Vanhems, Vlad Rusu, David Nowak, Gilles Grimaud
RTAS3
2021 A trustful monad for axiomatic reasoning with probability and nondeterminism
abstract
The algebraic properties of the combination of probabilistic choice and nondeterministic choice have long been a research topic in program semantics. This paper explains a formalization in the Coq proof assistant of a monad equipped with both choices: the geometrically convex monad. This formalization has an immediate application: it provides a model for a monad that implements a non-trivial interface which allows for proofs by equational reasoning using probabilistic and nondeterministic effects. We explain the technical choices we made to go from the literature to a complete Coq formalization, from which we identify reusable theories about mathematical structures such as convex spaces and concrete categories, and that we integrate in a framework for monadic equational reasoning.
Reynald Affeldt, Jacques Garrigue, David Nowak, Takafumi Saikawa
J. Funct. Program.3
2021 (Co)inductive proof systems for compositional proofs in reachability logic
Vlad Rusu, David Nowak
J. Log. Algebraic Methods Program.2
2019 A Hierarchy of Monadic Effects for Program Verification Using Equational Reasoning
Reynald Affeldt, David Nowak, Takafumi Saikawa
MPC2
2018 Formal proof of polynomial-time complexity with quasi-interpretations
abstract
We present a Coq library that allows for readily proving that a function is computable in polynomial time. It is based on quasi-interpretations that, in combination with termination ordering, provide a characterisation of the class fp of functions computable in polynomial time. At the heart of this formalisation is a proof of soundness and extensional completeness. Compared to the original paper proof, we had to fill a lot of not so trivial details that were left to the reader and fix a few glitches. To demonstrate the usability of our library, we apply it to the modular exponentiation.
Hugo Férée, Samuel Hym, Micaela Mayero, Jean-Yves Moyen, David Nowak
CPP5
2018 Formal proof of dynamic memory isolation based on MMU
Narjes Jomaa, David Nowak, Gilles Grimaud, Samuel Hym
Sci. Comput. Program.2
2016 Formal Proof of Dynamic Memory Isolation Based on MMU
abstract
For security and safety reasons, it is essential to ensure memory isolation between processes. The memory manager is thus a critical part of the kernel of an operating system. It is common for kernels to ensure memory isolation through a piece of hardware called memory management unit (MMU). However an MMU by itself does not provide memory isolation. It is only a tool the kernel can use to ensure this property. In this paper we show how a proof assistant such as Coq can be used to model a hardware architecture with an MMU, and an abstract model of microkernel supporting preemptive scheduling and memory manager. We proceed by making formally explicit the consistency properties that must be preserved in order for memory isolation to be preserved.
Narjes Jomaa, David Nowak, Gilles Grimaud, Samuel Hym
TASE2
2015 Formal security proofs with minimal fuss: Implicit computational complexity at work
David Nowak
Inf. Comput.1
2012 Certifying assembly with formal security proofs: The case of BBS
Reynald Affeldt, David Nowak, Kiyoshi Yamada
Sci. Comput. Program.2
2011 A Formalization of Polytime Functions
Sylvain Heraud, David Nowak
ITP2
2010 A Calculus for Game-Based Security Proofs
David Nowak
ProvSec1
2008 Logical relations for monadic types
abstract
Logical relations and their generalisations are a fundamental tool in proving properties of lambda calculi, for example, for yielding sound principles for observational equivalence. We propose a natural notion of logical relations that is able to deal with the monadic types of Moggi's computational lambda calculus. The treatment is categorical, and is based on notions of subsconing, mono factorisation systems and monad morphisms. Our approach has a number of interesting applications, including cases for lambda calculi with non-determinism (where being in a logical relation means being bisimilar), dynamic name creation and probabilistic systems.
Jean Goubault-Larrecq, Slawomir Lasota 0001, David Nowak
Math. Struct. Comput. Sci.3
2007 A Framework for Game-Based Security Proofs
David Nowak
ICICS1
2007 On the freeze quantifier in Constraint LTL: Decidability and complexity
Stéphane Demri, Ranko Lazic 0001, David Nowak
Inf. Comput.3
2006 Synchronous structures
David Nowak
Inf. Comput.1
2005 Reasoning About Transfinite Sequences
Stéphane Demri, David Nowak
ATVA2
2005 On the Freeze Quantifier in Constraint LTL: Decidability and Complexity
abstract
Constraint LTL, a generalization of LTL over Presburger constraints, is often used as a formal language to specify the behavior of operational models with constraints. The freeze quantifier can be part of the language, as in some real-time logics, but this variable-binding mechanism is quite general and ubiquitous in many logical languages (first-order temporal logics, hybrid logics, logics for sequence diagrams, navigation logics, etc.). We show that Constraint LTL over the simple domain augmented with the freeze operator is undecidable which is a surprising result regarding the poor language for constraints (only equality tests). Many versions of freeze-free constraint LTL are decidable over domains with qualitative predicates and our undecidability result actually establishes /spl Sigma//sub 1//sup 1/ -completeness. On the positive side, we provide complexity results when the domain is finite (EXPSPACE-completeness) or when the formulae are flat in a sense introduced in the paper.
Stéphane Demri, Ranko Lazic 0001, David Nowak
TIME3
2003 Formal Proof of a Polychronous Protocol for Loosely Time-Triggered Architectures
Mickaël Kerboeuf, David Nowak, Jean-Pierre Talpin
ICFEM2
2000 A Unifying Approach to Data-Independence
Ranko Lazic 0001, David Nowak
CONCUR2
1999 Synchronous Structures
David Nowak, Jean-Pierre Talpin, Paul Le Guernic
CONCUR1
1998 A Synchronous Semantics of Higher-Order Processes for Modeling Reconfigurable Reactive Systems
Jean-Pierre Talpin, David Nowak
FSTTCS2
1997 An ML-Like Module System for the Synchronous Language SIGNAL
David Nowak, Jean-Pierre Talpin, Paul Le Guernic
Euro-Par1