Martin Berger 0001

dblp:58/204 · also Martin Friedrich Berger · DBLP profile ↗
← Back
25ranked-venue papers
9as first author
6since 2021 · last 2025
0000-0003-3239-5812ORCID · verified

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

Software engineering, systems software and programming languages · 14 · 6 first-author · 4 since 2021Theory of computation · 13 · 4 first-author · 1 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Security and privacy · 1 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021
YearPublicationVenuePosition
2025 Pydrofoil: Accelerating Sail-Based Instruction Set Simulators
Carl Friedrich Bolz-Tereick, Luke Panayi, Ferdia McKeogh, Tom Spink, Martin Berger 0001
ECOOP5
2024 LTL Learning on GPUs
abstract
Abstract Linear temporal logic (LTL) is widely used in industrial verification. LTL formulae can be learned from traces. Scaling LTL formula learning is an open problem. We implement the first GPU-based LTL learner using a novel form of enumerative program synthesis. The learner is sound and complete. Our benchmarks indicate that it handles traces at least 2048 times more numerous, and on average at least 46 times faster than existing state-of-the-art learners. This is achieved with, among others, a branch-free implementation of LTL that has $$O(\log n)$$ O ( log n ) time complexity, where n is trace length, while previous implementations are $$O(n^2)$$ O ( n 2 ) or worse (assuming bitwise boolean operations and shifts by powers of 2 have unit costs—a realistic assumption on modern processors).
Mojtaba Valizadeh, Nathanaël Fijalkow, Martin Berger 0001
CAV (3)3
2024 Correct and Optimal: The Regular Expression Inference Challenge
Mojtaba Valizadeh, Philip John Gorinski, Ignacio Iacobacci, Martin Berger 0001
IJCAI4
2023 Search-Based Regular Expression Inference on a GPU
abstract
Regular expression inference (REI) is a supervised machine learning and program synthesis problem that takes a cost metric for regular expressions, and positive and negative examples of strings as input. It outputs a regular expression that is precise (i.e., accepts all positive and rejects all negative examples), and minimal w.r.t. to the cost metric. We present a novel algorithm for REI over arbitrary alphabets that is enumerative and trades off time for space. Our main algorithmic idea is to implement the search space of regular expressions succinctly as a contiguous matrix of bitvectors. Collectively, the bitvectors represent, as characteristic sequences, all sub-languages of the infix-closure of the union of positive and negative examples. Mathematically, this is a semiring of (a variant of) formal power series. Infix-closure enables bottom-up compositional construction of larger from smaller regular expressions using the operations of our semiring. This minimises data movement and data-dependent branching, hence maximises data-parallelism. In addition, the infix-closure remains unchanged during the search, hence search can be staged: first pre-compute various expensive operations, and then run the compute intensive search process. We provide two C++ implementations, one for general purpose CPUs and one for Nvidia GPUs (using CUDA). We benchmark both on Google Colab Pro: the GPU implementation is on average over 1000x faster than the CPU implementation on the hardest benchmarks.
Mojtaba Valizadeh, Martin Berger 0001
Proc. ACM Program. Lang.2
2022 Systematic Analysis of Programming Languages and Their Execution Environments for Spectre Attacks
abstract
In this paper, we analyze the security of programming languages and their execution environments (compilers and interpreters) with respect to Spectre attacks. The analysis shows that only 16 out of 42 execution environments have mitigations against at least one Spectre variant, i.e., 26 have no mitigations against any Spectre variant. Using our novel tool Speconnector, we develop Spectre proof-of-concept attacks in 8 programming languages and on code generated by 11 execution environments that were previously not known to be affected. Our results highlight some programming languages that are used to implement security-critical code, but remain entirely unprotected, even three years after the discovery of Spectre.
Amir Naseredini, Stefan Gast, Martin Schwarzl, Pedro Miguel Sousa Bernardo, Amel Smajic, Claudio Canella, Martin Berger 0001, Daniel Gruss
ICISSP7
2022 A program logic for fresh name generation
abstract
We present a program logic for Pitts and Stark's ν-calculus, an extension of the call-by-value simply-typed λ-calculus with a mechanism for the generation of fresh names. Names can be compared for equality and inequality, producing programs with subtle observable properties. Hidden names produced by interactions between generation and abstraction are captured logically with a second-order quantifier over type contexts. We illustrate usage of the logic through reasoning about well-known difficult cases from the literature.
Harold Pancho Eliott, Martin Berger 0001
Sci. Comput. Program.2
2019 Asynchronous sessions with implicit functions and messages
Alexander Jeffery, Martin Berger 0001
Sci. Comput. Program.2
2018 Asynchronous Sessions with Implicit Functions and Messages
abstract
Session types are a well-established approach to ensuring protocol conformance and the absence of communication errors such as deadlocks in message passing systems. Haskell introduced implicit parameters, Scala popularised this feature and recently gave implicit types first-class status, yielding an expressive tool for handling context dependencies in a type-safe yet terse way. We ask: can type-safe implicit functions be generalised from Scala's sequential setting to message passing computation? We answer this question in the affirmative by presenting the first concurrent functional language with implicit message passing. The key idea is to generalise the concept of an implicit function to an implicit message, its concurrent analogue. Our language extends Gay and Vasconcelos's calculus of linear types for asynchronous sessions (LAST) with implicit functions and messages. We prove the resulting system sound by translation into LAST.
Alexander Jeffery, Martin Berger 0001
TASE2
2017 Modelling Homogeneous Generative Meta-Programming
abstract
Homogeneous generative meta-programming (HGMP) enables the generation of program fragments at compile-time or run-time. We present a foundational calculus which can model both compile-time and run-time evaluated HGMP, allowing us to model, for the first time, languages such as Template Haskell. The calculus is designed such that it can be gradually enhanced with the features needed to model many of the advanced features of real languages. We demonstrate this by showing how a simple, staged type system as found in Template Haskell can be added to the calculus.
Martin Berger 0001, Laurence Tratt, Christian Urban
ECOOP1
2014 An observationally complete program logic for imperative higher-order functions
Kohei Honda 0001, Nobuko Yoshida, Martin Berger 0001
Theor. Comput. Sci.3
2012 Specification and verification of meta-programs
abstract
This talk gives an overview of meta-programming, with an emphasis on recent developments in extending existing specification and verification technology to meta-programs.
Martin Berger 0001
PEPM1
2008 Completeness and Logical Full Abstraction in Modal Logics for Typed Mobile Processes
Martin Berger 0001, Kohei Honda 0001, Nobuko Yoshida
ICALP (2)1
2008 Logical Reasoning for Higher-Order Functions with Local State
abstract
We introduce an extension of Hoare logic for call-by-value higher-order functions with ML-like local reference generation. Local references may be generated dynamically and exported outside their scope, may store higher-order functions and may be used to construct complex mutable data structures. This primitive is captured logically using a predicate asserting reachability of a reference name from a possibly higher-order datum and quantifiers over hidden references. We explore the logic's descriptive and reasoning power with non-trivial programming examples combining higher-order procedures and dynamically generated local state. Axioms for reachability and local invariant play a central role for reasoning about the examples.
Nobuko Yoshida, Kohei Honda 0001, Martin Berger 0001
Log. Methods Comput. Sci.3
2007 Timed, Distributed, Probabilistic, Typed Processes
Martin Berger 0001, Nobuko Yoshida
APLAS1
2007 Logical Reasoning for Higher-Order Functions with Local State
Nobuko Yoshida, Kohei Honda 0001, Martin Berger 0001
FoSSaCS3
2007 A logical analysis of aliasing in imperative higher-order functions
abstract
Abstract We present a compositional programme logic for call-by-value imperative higher-order functions with general forms of aliasing, which can arise from the use of reference names as function parameters, return values, content of references and parts of data structures. The programme logic extends our earlier logic for alias-free imperative higher-order functions with new operators which serve as building blocks for clean structural reasoning about programms and data structures in the presence of aliasing. This has been an open issue since the pioneering work by Cartwright–Oppen and Morris twenty-five years ago. We illustrate usage of the logic for description and reasoning through concrete examples including a higher-order polymorphic Quicksort. The logical status of the new operators is clarified by translating them into (in)equalities of reference names.
Martin Berger 0001, Kohei Honda 0001, Nobuko Yoshida
J. Funct. Program.1
2006 Descriptive and Relative Completeness of Logics for Higher-Order Functions
Kohei Honda 0001, Martin Berger 0001, Nobuko Yoshida
ICALP (2)2
2005 A logical analysis of aliasing in imperative higher-order functions
abstract
We present a compositional program logic for call-by-value imperative higher-order functions with general forms of aliasing, which can arise from the use of reference names as function parameters, return values, content of references and parts of data structures. The program logic extends our earlier logic for alias-free imperative higher-order functions with new modal operators which serve as building blocks for clean structural reasoning about programs and data structures in the presence of aliasing. This has been an open issue since the pioneering work by Cartwright-Oppen and Morris twenty-five years ago. We illustrate usage of the logic for description and reasoning through concrete examples including a higher-order polymorphic Quicksort. The logical status of the new operators is clarified by translating them into (in)equalities of reference names. The logic is observationally complete in the sense that two programs are observationally indistinguishable if they satisfy the same set of assertions.
Martin Berger 0001, Kohei Honda 0001, Nobuko Yoshida
ICFP1
2005 An Observationally Complete Program Logic for Imperative Higher-Order Frame Rules
abstract
We propose a simple compositional program logic for an imperative extension of call-by-value PCF, built on Hoare logic and our preceding work on program logics for pure higher-order functions. A systematic use of names and operations on them allows precise and general description of complex higher-order imperative behaviour. The logic offers a foundation for general treatment of aliasing and local state on its basis, with minimal extensions. After establishing soundness, we prove that valid assertions for programs completely characterise their behaviour up to observational congruence, which is proved using a variant of finite canonical forms. The use of the logic is illustrated through reasoning examples which are hard to assert and infer using existing program logics.
Kohei Honda 0001, Nobuko Yoshida, Martin Berger 0001
LICS3
2005 Genericity and the pi-calculus
Martin Berger 0001, Kohei Honda 0001, Nobuko Yoshida
Acta Informatica1
2004 Basic Theory of Reduction Congruence forTwo Timed Asynchronous pi-Calculi
Martin Berger 0001
CONCUR1
2004 Strong normalisation in the pi -calculus
Nobuko Yoshida, Martin Berger 0001, Kohei Honda 0001
Inf. Comput.2
2003 Genericity and the pi-Calculus
Martin Berger 0001, Kohei Honda 0001, Nobuko Yoshida
FoSSaCS1
2002 Linearity and Bisimulation
Nobuko Yoshida, Kohei Honda 0001, Martin Berger 0001
FoSSaCS3
2001 Strong Normalisation in the pi-Calculus
abstract
Introduces a typed /spl pi/-calculus where strong normalisation is ensured by typability. Strong normalisation is a useful property in many computational contexts, including distributed systems. In spite of its simplicity, our type discipline captures a wide class of converging name-passing interactive behaviours. The proof of strong normalisability combines methods from typed /spl lambda/-calculi and linear logic with process-theoretic reasoning. It is adaptable to systems involving state and other extensions. Strong normalisation is shown to have significant consequences, including finite axiomatisation of weak bisimilarity, a fully abstract embedding of the simply-typed /spl lambda/-calculus with products and sums and basic liveness in interaction. Strong normalisability has been extensively studied as a fundamental property in functional calculi, term rewriting and logical systems. This work is one of the first steps to extend theories and proof methods for strong normalisability to the context of name-passing processes.
Nobuko Yoshida, Martin Berger 0001, Kohei Honda 0001
LICS2