Sebastiaan J. C. Joosten

dblp:129/1473 · DBLP profile ↗
← Back
19ranked-venue papers
7as first author
2since 2021 · last 2024
0000-0002-6590-6220ORCID · verified

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

Theory of computation · 12 · 3 first-author · 2 since 2021Software engineering, systems software and programming languages · 9 · 4 first-authorArtificial intelligence and machine learning · 4 · 1 first-authorSystems, architecture and hardware · 2 · 2 first-author
YearPublicationVenuePosition
2024 Data Migration Under a Changing Schema in Ampersand
Sebastiaan J. C. Joosten, Stef Joosten
RAMiCS1
2024 Translating Three-Variable First-Order Predicate Logic to Relation Algebra, Implemented using Z3
abstract
This paper presents the development of a software tool that enables the translation of first-order predicate logic with at most three variables into relation algebra. The tool was developed using the Z3 theorem prover, leveraging its capabilities to enhance reliability, generate code, and expedite development. The resulting standalone Python program allows users to translate first-order logic formulas into relation algebra, eliminating the need to work with relation algebra explicitly. This paper outlines the theoretical background of first-order logic, relation algebra, and the translation process. It also describes the implementation details, including validation of the software tool using Z3 for testing correctness. By demonstrating the feasibility of utilizing first-order logic as an alternative language for expressing relation algebra, this tool paves the way for integrating first-order logic into tools traditionally relying on relation algebra as input. 15 pages, 2 figures, 2 tables, to be published in Fundamenta Informaticae
Anthony Brogni, Sebastiaan J. C. Joosten
Fundam. Informaticae2
2020 Automated Verification of Parallel Nested DFS
abstract
Model checking algorithms are typically complex graph algorithms, whose correctness is crucial for the usability of a model checker. However, establishing the correctness of such algorithms can be challenging and is often done manually. Mechanising the verification process is crucially important, because model checking algorithms are often parallelised for efficiency reasons, which makes them even more error-prone. This paper shows how the VerCors concurrency verifier is used to mechanically verify the parallel nested depth-first search (NDFS) graph algorithm of Laarman et al. [ 25 ]. We also demonstrate how having a mechanised proof supports the easy verification of various optimisations of parallel NDFS. As far as we are aware, this is the first automated deductive verification of a multi-core model checking algorithm.
Wytse Oortwijn, Marieke Huisman, Sebastiaan J. C. Joosten, Jaco van de Pol
TACAS (1)3
2020 A Verified Implementation of the Berlekamp-Zassenhaus Factorization Algorithm
abstract
We formally verify the Berlekamp–Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization of Yun’s square-free factorization algorithm to integer polynomials, and thus provide an efficient and certified factorization algorithm for arbitrary univariate polynomials. The algorithm first performs factorization in the prime field $$\mathrm {GF}(p){}$$ and then performs computations in the ring of integers modulo $$p^k$$, where both p and k are determined at runtime. Since a natural modeling of these structures via dependent types is not possible in Isabelle/HOL, we formalize the whole algorithm using locales and local type definitions. Through experiments we verify that our algorithm factors polynomials of degree up to 500 within seconds.
Jose Divasón, Sebastiaan J. C. Joosten, René Thiemann, Akihisa Yamada 0002
J. Autom. Reason.2
2020 A Verified Implementation of Algebraic Numbers in Isabelle/HOL
abstract
We formalize algebraic numbers in Isabelle/HOL. Our development serves as a verified implementation of algebraic operations on real and complex numbers. We moreover provide algorithms that can identify all the real or complex roots of rational polynomials, and two implementations to display algebraic numbers, an approximative version and an injective precise one. We obtain verified Haskell code for these operations via Isabelle's code generator. The development combines various existing formalizations such as matrices, Sturm's theorem, and polynomial factorization, and it includes new formalizations about bivariate polynomials, unique factorization domains, resultants and subresultants.
Sebastiaan J. C. Joosten, René Thiemann, Akihisa Yamada 0002
J. Autom. Reason.1
2020 Formalizing the LLL Basis Reduction Algorithm and the LLL Factorization Algorithm in Isabelle/HOL
abstract
The LLL basis reduction algorithm was the first polynomial-time algorithm to compute a reduced basis of a given lattice, and hence also a short vector in the lattice. It approximates an NP-hard problem where the approximation quality solely depends on the dimension of the lattice, but not the lattice itself. The algorithm has applications in number theory, computer algebra and cryptography. In this paper, we provide an implementation of the LLL algorithm. Both its soundness and its polynomial running-time have been verified using Isabelle/HOL. Our implementation is nearly as fast as an implementation in a commercial computer algebra system, and its efficiency can be further increased by connecting it with fast untrusted lattice reduction algorithms and certifying their output. We additionally integrate one application of LLL, namely a verified factorization algorithm for univariate integer polynomials which runs in polynomial time.
René Thiemann, Ralph Bottesch, Jose Divasón, Max W. Haslbeck, Sebastiaan J. C. Joosten, Akihisa Yamada 0002
J. Autom. Reason.5
2018 Efficient certification of complexity proofs: formalizing the Perron-Frobenius theorem (invited talk paper)
abstract
Matrix interpretations are widely used in automated complexity analysis. Certifying such analyses boils down to determining the growth rate of An for a fixed non-negative rational matrix A. A direct solution for this task involves the computation of all eigenvalues of A, which often leads to expensive algebraic number computations.
Jose Divasón, Sebastiaan J. C. Joosten, Ondrej Kuncar, René Thiemann, Akihisa Yamada 0002
CPP2
2018 Reasoning About JML: Differences Between KeY and OpenJML
Jan Boerman, Marieke Huisman, Sebastiaan J. C. Joosten
IFM3
2018 Static Code Verification Through Process Models
Sebastiaan J. C. Joosten, Marieke Huisman
ISoLA (3)1
2018 A Formalization of the LLL Basis Reduction Algorithm
abstract
Abstract The LLL basis reduction algorithm was the first polynomial-time algorithm to compute a reduced basis of a given lattice, and hence also a short vector in the lattice. It thereby approximates an NP-hard problem where the approximation quality solely depends on the dimension of the lattice, but not the lattice itself. The algorithm has several applications in number theory, computer algebra and cryptography. In this paper, we develop the first mechanized soundness proof of the LLL algorithm using Isabelle/HOL. We additionally integrate one application of LLL, namely a verified factorization algorithm for univariate integer polynomials which runs in polynomial time.
Jose Divasón, Sebastiaan J. C. Joosten, René Thiemann, Akihisa Yamada 0002
ITP2
2017 Parsing and Printing of and with Triples
Sebastiaan J. C. Joosten
RAMiCS1
2017 Certifying Safety and Termination Proofs for Integer Transition Systems
Marc Brockschmidt, Sebastiaan J. C. Joosten, René Thiemann, Akihisa Yamada 0002
CADE2
2017 A formalization of the Berlekamp-Zassenhaus factorization algorithm
abstract
We formalize the Berlekamp–Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization of Yun’s square-free factorization algorithm to integer polynomials, and thus provide an efficient and certified factorization algorithm for arbitrary univariate polynomials. The algorithm first performs a factorization in the prime field GF(p) and then performs computations in the ring of integers modulo pk, where both p and k are determined at runtime. Since a natural modeling of these structures via dependent types is not possible in Isabelle/HOL, we formalize the whole algorithm using Isabelle’s recent addition of local type definitions. Through experiments we verify that our algorithm factors polynomials of degree 100 within seconds.
Jose Divasón, Sebastiaan J. C. Joosten, René Thiemann, Akihisa Yamada 0002
CPP2
2015 Type Checking by Domain Analysis in Ampersand
Stef Joosten, Sebastiaan J. C. Joosten
RAMiCS2
2015 Automatic extraction of micro-architectural models of communication fabrics from register transfer level designs
Sebastiaan J. C. Joosten, Julien Schmaltz
DATE1
2015 Process algebra semantics & reachability analysis for micro-architectural models of communication fabrics
abstract
We propose an algorithm for reachability analysis in micro-architectural models of communication fabrics. The main idea of our solution is to group transfers in what we call transfer islands. In an island, all transfers fire at the same time. To justify our abstraction, we give semantics of the initial models using a process algebra. We then prove that a transfer occurs in the transfer islands model if and only if the same transfer occurs in the process algebra semantics. We encode the abstract micro-architectural model together with a given state reachability property in the input format of nuXmv. Reachability is solved either using BDDs or IC3. Combined with inductive invariant generation techniques, our approach shows promising results.
Sanne Wouda, Sebastiaan J. C. Joosten, Julien Schmaltz
MEMOCODE2
2014 Scalable liveness verification for communication fabrics
abstract
In the realm of multi-core processors and systems-on-chip, communication fabrics constitute a key element. A large number of queues and distributed control are two important aspects of this class of designs. These aspects make decomposition and abstraction techniques difficult to apply. For this class of designs, the application of formal methods is a real challenge. In particular, the verification of liveness properties is often intractable. Communication fabrics can be seen as a set of queues and flops interconnected by combinatorial logic. Based on this simple but powerful observation, we propose a novel method for liveness verification. Our method directly applies to Register Transfer Level designs. The essential aspects of our approach are (1) to abstract away from the details of queue implementations and (2) an efficient encoding of liveness properties in an SMT instance. Experimental results are promising. Designs with hundreds of queues can be analysed for liveness within minutes.
Sebastiaan J. C. Joosten, Julien Schmaltz
DATE1
2013 Generation of inductive invariants from register transfer level designs of communication fabrics
Sebastiaan J. C. Joosten, Julien Schmaltz
MEMOCODE1
2011 Ampersand - Applying Relation Algebra in Practice
Gerard Michels, Sebastiaan J. C. Joosten, Jaap van der Woude, Stef Joosten
RAMiCS2