VLDB 2026 Research / reviewers in the wild / expert
Johannes Borgström
dblp:38/2005
· DBLP profile ↗
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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Correctness of Sequential Monte Carlo Inference for Probabilistic Programming LanguagesabstractAbstract 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 |
ESOP | 2 |
| 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 |
FORTE | 3 |
| 2017 | Deriving Probability Density Functions from Probabilistic Functional ProgramsabstractThe 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 programmingabstractWe 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 |
ICFP | 1 |
| 2016 | Fabular: regression formulas as probabilistic programmingabstractRegression 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 |
POPL | 1 |
| 2015 | Modal Logics for Nominal Transition SystemsabstractWe 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 |
CONCUR | 2 |
| 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 |
ESOP | 4 |
| 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 CalculiabstractPsi-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 languageabstractWe 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 |
POPL | 5 |
| 2014 | Higher-order psi-calculiabstractIn 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 reasoningabstractA 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 |
POPL | 3 |
| 2013 | Bayesian inference using data flow analysisabstractWe 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 FSE | 5 |
| 2013 | Deriving Probability Density Functions from Probabilistic Functional Programs
Sooraj Bhat, Johannes Borgström, Andrew D. Gordon 0001, Claudio V. Russo |
TACAS | 2 |
| 2011 | Maintaining Database Integrity with Refinement Types
Ioannis G. Baltopoulos, Johannes Borgström, Andrew D. Gordon 0001 |
ECOOP | 2 |
| 2011 | Measure Transformer Semantics for Bayesian Machine Learning
Johannes Borgström, Andrew D. Gordon 0001, Michael Greenberg 0002, James Margetson, Jurgen Van Gael |
ESOP | 1 |
| 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 |
SEFM | 1 |
| 2011 | Roles, stacks, histories: A triple for HoareabstractAbstract 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 HaskellabstractWe 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 |
Haskell | 1 |
| 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 |
CONCUR | 1 |