Johannes Borgström

dblp:38/2005 · DBLP profile ↗
← Back
22ranked-venue papers
10as first author
2since 2021 · last 2021
0000-0001-5990-5742ORCID · corroborated

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

Software engineering, systems software and programming languages · 15 · 7 first-author · 1 since 2021Theory of computation · 6 · 2 first-author · 1 since 2021Systems, architecture and hardware · 1 · 1 first-authorComputer networks · 1
YearPublicationVenuePosition
2021 Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
abstract
Abstract Probabilistic programming is an approach to reasoning under uncertainty by encoding inference problems as programs. In order to solve these inference problems, probabilistic programming languages (PPLs) employ different inference algorithms, such as sequential Monte Carlo (SMC), Markov chain Monte Carlo (MCMC), or variational methods. Existing research on such algorithms mainly concerns their implementation and efficiency, rather than the correctness of the algorithms themselves when applied in the context of expressive PPLs. To remedy this, we give a correctness proof for SMC methods in the context of an expressive PPL calculus, representative of popular PPLs such as WebPPL, Anglican, and Birch. Previous work have studied correctness of MCMC using an operational semantics, and correctness of SMC and MCMC in a denotational setting without term recursion. However, for SMC inference—one of the most commonly used algorithms in PPLs as of today—no formal correctness proof exists in an operational setting. In particular, an open question is if the resample locations in a probabilistic program affects the correctness of SMC. We solve this fundamental problem, and make four novel contributions: (i) we extend an untyped PPL lambda calculus and operational semantics to include explicit resample terms, expressing synchronization points in SMC inference; (ii) we prove, for the first time, that subject to mild restrictions, any placement of the explicit resample terms is valid for a generic form of SMC inference; (iii) as a result of (ii), our calculus benefits from classic results from the SMC literature: a law of large numbers and an unbiased estimate of the model evidence; and (iv) we formalize the bootstrap particle filter for the calculus and discuss how our results can be further extended to other SMC algorithms.
Daniel Lundén, Johannes Borgström, David Broman
ESOP2
2021 Modal Logics for Nominal Transition Systems
Joachim Parrow, Johannes Borgström, Lars-Henrik Eriksson, Ramunas Gutkovas, Tjark Weber
Log. Methods Comput. Sci.2
2017 Weak Nominal Modal Logic
Joachim Parrow, Tjark Weber, Johannes Borgström, Lars-Henrik Eriksson
FORTE3
2017 Deriving Probability Density Functions from Probabilistic Functional Programs
abstract
The probability density function of a probability distribution is a fundamental concept in probability theory and a key ingredient in various widely used machine learning methods. However, the necessary framework for compiling probabilistic functional programs to density functions has only recently been developed. In this work, we present a density compiler for a probabilistic language with failure and both discrete and continuous distributions, and provide a proof of its soundness. The compiler greatly reduces the development effort of domain experts, which we demonstrate by solving inference problems from various scientific applications, such as modelling the global carbon cycle, using a standard Markov chain Monte Carlo framework.
Sooraj Bhat, Johannes Borgström, Andrew D. Gordon 0001, Claudio V. Russo
Log. Methods Comput. Sci.2
2016 A lambda-calculus foundation for universal probabilistic programming
abstract
We develop the operational semantics of an untyped probabilistic λ-calculus with continuous distributions, and both hard and soft constraints,as a foundation for universal probabilistic programming languages such as Church, Anglican, and Venture. Our first contribution is to adapt the classic operational semantics of λ-calculus to a continuous setting via creating a measure space on terms and defining step-indexed approximations. We prove equivalence of big-step and small-step formulations of this distribution-based semantics. To move closer to inference techniques, we also define the sampling-based semantics of a term as a function from a trace of random samples to a value. We show that the distribution induced by integration over the space of traces equals the distribution-based semantics. Our second contribution is to formalize the implementation technique of trace Markov chain Monte Carlo (MCMC) for our calculus and to show its correctness. A key step is defining sufficient conditions for the distribution induced by trace MCMC to converge to the distribution-based semantics. To the best of our knowledge, this is the first rigorous correctness proof for trace MCMC for a higher-order functional language, or for a language with soft constraints.
Johannes Borgström, Ugo Dal Lago, Andrew D. Gordon 0001, Marcin Szymczak 0002
ICFP1
2016 Fabular: regression formulas as probabilistic programming
abstract
Regression formulas are a domain-specific language adopted by several R packages for describing an important and useful class of statistical models: hierarchical linear regressions. Formulas are succinct, expressive, and clearly popular, so are they a useful addition to probabilistic programming languages? And what do they mean? We propose a core calculus of hierarchical linear regression, in which regression coefficients are themselves defined by nested regressions (unlike in R). We explain how our calculus captures the essence of the formula DSL found in R. We describe the design and implementation of Fabular, a version of the Tabular schema-driven probabilistic programming language, enriched with formulas based on our regression calculus. To the best of our knowledge, this is the first formal description of the core ideas of R's formula notation, the first development of a calculus of regression formulas, and the first demonstration of the benefits of composing regression formulas and latent variables in a probabilistic programming language.
Johannes Borgström, Andrew D. Gordon 0001, Long Ouyang, Claudio V. Russo, Adam Scibior, Marcin Szymczak 0002
POPL1
2015 Modal Logics for Nominal Transition Systems
abstract
We define a uniform semantic substrate for a wide variety of process calculi where states and action labels can be from arbitrary nominal sets. A Hennessy-Milner logic for these systems is introduced, and proved adequate for bisimulation equivalence. A main novelty is the use of finitely supported infinite conjunctions. We show how to treat different bisimulation variants such as early, late and open in a systematic way, and make substantial comparisons with related work. The main definitions and theorems have been formalized in Nominal Isabelle.
Joachim Parrow, Johannes Borgström, Lars-Henrik Eriksson, Ramunas Gutkovas, Tjark Weber
CONCUR2
2015 Probabilistic Programs as Spreadsheet Queries
Andrew D. Gordon 0001, Claudio V. Russo, Marcin Szymczak 0002, Johannes Borgström, Nicolas Rolland, Thore Graepel, Daniel Tarlow
ESOP4
2015 Broadcast psi-calculi with an application to wireless protocols
Johannes Borgström, Shuqin Huang, Magnus Johansson 0001, Palle Raabjerg, Björn Victor, Johannes Åman Pohjola, Joachim Parrow
Softw. Syst. Model.1
2015 The Psi-Calculi Workbench: A Generic Tool for Applied Process Calculi
abstract
Psi-calculi is a parametric framework for extensions of the pi-calculus with arbitrary data and logic. All instances of the framework inherit machine-checked proofs of the metatheory such as compositionality and bisimulation congruence. We present a generic analysis tool for psi-calculus instances, enabling symbolic execution and (bi)simulation checking for both unicast and broadcast communication. The tool also provides a library for implementing new psi-calculus instances. We provide examples from traditional communication protocols and wireless sensor networks. We also describe the theoretical foundations of the tool, including an improved symbolic operational semantics, with additional support for scoped broadcast communication.
Johannes Borgström, Ramunas Gutkovas, Ioana Rodhe, Björn Victor
ACM Trans. Embed. Comput. Syst.1
2014 Tabular: a schema-driven probabilistic programming language
abstract
We propose a new kind of probabilistic programming language for machine learning. We write programs simply by annotating existing relational schemas with probabilistic model expressions. We describe a detailed design of our language, Tabular, complete with formal semantics and type system. A rich series of examples illustrates the expressiveness of Tabular. We report an implementation, and show evidence of the succinctness of our notation relative to current best practice. Finally, we describe and verify a transformation of Tabular schemas so as to predict missing values in a concrete database. The ability to query for missing values provides a uniform interface to a wide variety of tasks, including classification, clustering, recommendation, and ranking.
Andrew D. Gordon 0001, Thore Graepel, Nicolas Rolland, Claudio V. Russo, Johannes Borgström, John Guiver
POPL5
2014 Higher-order psi-calculi
abstract
In earlier work we explored the expressiveness and algebraic theory Psi-calculi, which form a parametric framework for extensions of the pi-calculus. In the current paper we consider higher-order psi-calculi through a technically surprisingly simple extension of the framework, and show how an arbitrary psi-calculus can be lifted to its higher-order counterpart in a canonical way. We illustrate this with examples and establish an algebraic theory of higher-order psi-calculi. The formal results are obtained by extending our proof repositories in Isabelle/Nominal.
Joachim Parrow, Johannes Borgström, Palle Raabjerg, Johannes Åman Pohjola
Math. Struct. Comput. Sci.2
2013 A model-learner pattern for bayesian reasoning
abstract
A Bayesian model is based on a pair of probability distributions, known as the prior and sampling distributions. A wide range of fundamental machine learning tasks, including regression, classification, clustering, and many others, can all be seen as Bayesian models. We propose a new probabilistic programming abstraction, a typed Bayesian model, which is based on a pair of probabilistic expressions for the prior and sampling distributions. A sampler for a model is an algorithm to compute synthetic data from its sampling distribution, while a learner for a model is an algorithm for probabilistic inference on the model. Models, samplers, and learners form a generic programming pattern for model-based inference. They support the uniform expression of common tasks including model testing, and generic compositions such as mixture models, evidence-based model averaging, and mixtures of experts. A formal semantics supports reasoning about model equivalence and implementation correctness. By developing a series of examples and three learner implementations based on exact inference, factor graphs, and Markov chain Monte Carlo, we demonstrate the broad applicability of this new programming pattern.
Andrew D. Gordon 0001, Mihhail Aizatulin, Johannes Borgström, Guillaume Claret, Thore Graepel, Aditya V. Nori, Sriram K. Rajamani, Claudio V. Russo
POPL3
2013 Bayesian inference using data flow analysis
abstract
We present a new algorithm for Bayesian inference over probabilistic programs, based on data flow analysis techniques from the program analysis community. Unlike existing techniques for Bayesian inference on probabilistic programs, our data flow analysis algorithm is able to perform inference directly on probabilistic programs with loops. Even for loop-free programs, we show that data flow analysis offers better precision and better performance benefits over existing techniques. We also describe heuristics that are crucial for our inference to scale, and present an empirical evaluation of our algorithm over a range of benchmarks.
Guillaume Claret, Sriram K. Rajamani, Aditya V. Nori, Andrew D. Gordon 0001, Johannes Borgström
ESEC/SIGSOFT FSE5
2013 Deriving Probability Density Functions from Probabilistic Functional Programs
Sooraj Bhat, Johannes Borgström, Andrew D. Gordon 0001, Claudio V. Russo
TACAS2
2011 Maintaining Database Integrity with Refinement Types
Ioannis G. Baltopoulos, Johannes Borgström, Andrew D. Gordon 0001
ECOOP2
2011 Measure Transformer Semantics for Bayesian Machine Learning
Johannes Borgström, Andrew D. Gordon 0001, Michael Greenberg 0002, James Margetson, Jurgen Van Gael
ESOP1
2011 Broadcast Psi-calculi with an Application to Wireless Protocols
Johannes Borgström, Shuqin Huang, Magnus Johansson 0001, Palle Raabjerg, Björn Victor, Johannes Åman Pohjola, Joachim Parrow
SEFM1
2011 Roles, stacks, histories: A triple for Hoare
abstract
Abstract Behavioral type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with an ad hoc solver. Instead, we advocate types refined with first-order logic formulas as a basis for behavioral type systems, and general purpose automated theorem provers as an effective means of checking programs. To illustrate this approach, we define a triple of security-related type systems: for role-based access control, for stack inspection, and for history-based access control. The three are all instances of a refined state monad. Our semantics allows a precise comparison of the similarities and differences of these mechanisms. In our examples, the benefit of behavioral type-checking is to rule out the possibility of unexpected security exceptions, a common problem with code-based access control.
Johannes Borgström, Andrew D. Gordon 0001, Riccardo Pucella
J. Funct. Program.1
2009 A compositional theory for STM Haskell
abstract
We address the problem of reasoning about Haskell programs that use Software Transactional Memory (STM). As a motivating example, we consider Haskell code for a concurrent non-deterministic tree rewriting algorithm implementing the operational semantics of the ambient calculus. The core of our theory is a uniform model, in the spirit of process calculi, of the run-time state of multi-threaded STM Haskell programs. The model was designed to simplify both local and compositional reasoning about STM programs. A single reduction relation captures both pure functional computations and also effectful computations in the STM and I/O monads. We state and prove liveness, soundness, completeness, safety, and termination properties relating source processes and their Haskell implementation. Our proof exploits various ideas from concurrency theory, such as the bisimulation technique, but in the setting of a widely used programming language rather than an abstract process calculus. Additionally, we develop an equational theory for reasoning about STM Haskell programs, and establish for the first time equations conjectured by the designers of STM Haskell. We conclude that using a pure functional language extended with STM facilitates reasoning about concurrent implementation code.
Johannes Borgström, Karthikeyan Bhargavan, Andrew D. Gordon 0001
Haskell1
2005 On bisimulations for the spi calculus
Johannes Borgström, Uwe Nestmann
Math. Struct. Comput. Sci.1
2004 Symbolic Bisimulation in the Spi Calculus
Johannes Borgström, Sébastien Briais, Uwe Nestmann
CONCUR1