Johannes Borgström
Universitetslektor vid Institutionen för informationsteknologi; Datalogi
- Telefon:
- 018-471 31 65
- E-post:
- johannes.borgstrom@it.uu.se
- Besöksadress:
- Hus 10, Regementsvägen 10
- Postadress:
- Box 337
751 05 UPPSALA
- Akademiska meriter:
- Docent
- CV:
- Ladda ned CV
- ORCID:
- 0000-0001-5990-5742
Kort presentation
Jag är lektor i datavetenskap på avdelningen för datalogi vid institutionen för IT, och programansvarig för kandidatprogrammet i datavetenskap. Min forskning rör semantik för programmeringsspråk och processalgebror, med inriktning mot både tillämpningar och algebraiska egenskaper. Just nu arbetar jag på probabilistiska programmeringsspråk för statistiska modeller och Bayesisk inferens, samt hur e-grafer kan användas för att förbättra optimerande kompilatorer.
Nyckelord
- programming languages
- semantics
- probabilistic programming
- compilation
- process calculi
- program equivalences
- operational semantics
Biografi
Jag arbetar i forskargruppen för programmeringsspråk, huvudsakligen med projekt relaterade till semantik för funktionella och kommunicerande programmeringsspråk (t.ex. Erlang) samt probabilistiska (Bayesianska) modelleringsspråk.
Mitt tidigare arbete var inom projektet Applied Process Calculi, där vi utvecklade familjer av små formella modelleringsspråk, kallade psi-kalkyler, för olika typer av parallella, distribuerade och kommunicerande system. Den centrala forskningsfrågan var att tillhandahålla uttrycksfulla modelleringsspråk som fortfarande uppfyller vissa väsentliga metateoretiska egenskaper: en naturlig ekvivalens mellan system måste vara en kongruens och validera vissa algebraiska lagar (t.ex. kommutativitet för variabelbindare och kommutativa monoidlagar för parallell komposition). För absolut säkerhet kontrollerades bevisen maskinellt med hjälp av en interaktiv teorembevisare.
Under min postdoc vid Microsoft Research i Cambridge arbetade jag med tre slags moderna primitiver i programmeringsspråk: probabilistiska observationer för Bayesiansk modellering, transaktionellt minne för säker parallell imperativ programmering och beroende typer för verifiering av tillståndsberoende program.
Jag doktorerade med Uwe Nestmann vid EPFL på processkalkyler för kryptografiska protokoll. Mitt främsta bidrag var definitionen av nya programekvivalenser (kontextkänsliga bisimuleringar) som på ett korrekt sätt approximerar observationell processekvivalens, samt bevis för korrespondens och skillnader mellan dem vilket löste flera öppna problem.
Under min tid som doktorand tillämpade jag också processkalkylstekniker inom andra områden, nämligen modellering och verifiering av peer-to-peer distribuerade hashtabeller, modeller för modala säkerhetslogiker och visualisering av meddelandeutbyten.

Publikationer
Urval av publikationer
-
Modal Logics for Nominal Transition Systems
Ingår i Logical Methods in Computer Science, 2021
- DOI för Modal Logics for Nominal Transition Systems
- Ladda ner fulltext 1 (pdf) av Modal Logics for Nominal Transition Systems
- Ladda ner fulltext 2 (pdf) av Modal Logics for Nominal Transition Systems
-
Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
Ingår i Programming Languages And Systems, ESOP 2021, s. 404-431, 2021
- DOI för Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
- Ladda ner fulltext (pdf) av Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
-
Universal probabilistic programming offers a powerful approach to statistical phylogenetics
Ingår i Communications Biology, 2021
- DOI för Universal probabilistic programming offers a powerful approach to statistical phylogenetics
- Ladda ner fulltext (pdf) av Universal probabilistic programming offers a powerful approach to statistical phylogenetics
-
Deriving Probability Density Functions from Probabilistic Functional Programs
Ingår i Logical Methods in Computer Science, 2017
-
A Lambda-Calculus Foundation for Universal Probabilistic Programming
Ingår i SIGPLAN notices, s. 33-46, 2016
- DOI för A Lambda-Calculus Foundation for Universal Probabilistic Programming
- Ladda ner fulltext (pdf) av A Lambda-Calculus Foundation for Universal Probabilistic Programming
-
Ingår i Mathematical Structures in Computer Science, 2014
Senaste publikationer
-
Modal Logics for Nominal Transition Systems
Ingår i Logical Methods in Computer Science, 2021
- DOI för Modal Logics for Nominal Transition Systems
- Ladda ner fulltext 1 (pdf) av Modal Logics for Nominal Transition Systems
- Ladda ner fulltext 2 (pdf) av Modal Logics for Nominal Transition Systems
-
Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
Ingår i Programming Languages And Systems, ESOP 2021, s. 404-431, 2021
- DOI för Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
- Ladda ner fulltext (pdf) av Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
-
Universal probabilistic programming offers a powerful approach to statistical phylogenetics
Ingår i Communications Biology, 2021
- DOI för Universal probabilistic programming offers a powerful approach to statistical phylogenetics
- Ladda ner fulltext (pdf) av Universal probabilistic programming offers a powerful approach to statistical phylogenetics
-
Deriving Probability Density Functions from Probabilistic Functional Programs
Ingår i Logical Methods in Computer Science, 2017
-
Ingår i Formal Techniques for Distributed Objects, Components, and Systems, s. 179-193, 2017
Alla publikationer
Artiklar i tidskrift
-
Modal Logics for Nominal Transition Systems
Ingår i Logical Methods in Computer Science, 2021
- DOI för Modal Logics for Nominal Transition Systems
- Ladda ner fulltext 1 (pdf) av Modal Logics for Nominal Transition Systems
- Ladda ner fulltext 2 (pdf) av Modal Logics for Nominal Transition Systems
-
Universal probabilistic programming offers a powerful approach to statistical phylogenetics
Ingår i Communications Biology, 2021
- DOI för Universal probabilistic programming offers a powerful approach to statistical phylogenetics
- Ladda ner fulltext (pdf) av Universal probabilistic programming offers a powerful approach to statistical phylogenetics
-
Deriving Probability Density Functions from Probabilistic Functional Programs
Ingår i Logical Methods in Computer Science, 2017
-
A Sorted Semantic Framework for Applied Process Calculi
Ingår i Logical Methods in Computer Science, s. 1-49, 2016
- DOI för A Sorted Semantic Framework for Applied Process Calculi
- Ladda ner fulltext (pdf) av A Sorted Semantic Framework for Applied Process Calculi
-
Modal Logics for Nominal Transition Systems
Ingår i Archive of Formal Proofs, 2016
-
A Lambda-Calculus Foundation for Universal Probabilistic Programming
Ingår i SIGPLAN notices, s. 33-46, 2016
- DOI för A Lambda-Calculus Foundation for Universal Probabilistic Programming
- Ladda ner fulltext (pdf) av A Lambda-Calculus Foundation for Universal Probabilistic Programming
-
Broadcast psi-calculi with an application to wireless protocols
Ingår i Software and Systems Modeling, s. 201-216, 2015
- DOI för Broadcast psi-calculi with an application to wireless protocols
- Ladda ner fulltext (pdf) av Broadcast psi-calculi with an application to wireless protocols
-
The Psi-Calculi Workbench: A Generic Tool for Applied Process Calculi
Ingår i ACM Transactions on Embedded Computing Systems, 2015
- DOI för The Psi-Calculi Workbench: A Generic Tool for Applied Process Calculi
- Ladda ner fulltext (pdf) av The Psi-Calculi Workbench: A Generic Tool for Applied Process Calculi
-
Ingår i Mathematical Structures in Computer Science, 2014
-
Measure transformer semantics for Bayesian machine learning
Ingår i Logical Methods in Computer Science, s. 11, 2013
-
Roles, stacks, histories: A triple for Hoare
Ingår i Journal of functional programming (Print), s. 159-207, 2011
-
A Complete Symbolic Bisimilarity for an Extended Spi Calculus
Ingår i Electronic Notes in Theoretical Computer Science, s. 3-20, 2009
- DOI för A Complete Symbolic Bisimilarity for an Extended Spi Calculus
- Ladda ner fulltext (pdf) av A Complete Symbolic Bisimilarity for an Extended Spi Calculus
-
A Chart Semantics for the Pi-Calculus
Ingår i Electronic Notes in Theoretical Computer Science, s. 3-29, 2008
- DOI för A Chart Semantics for the Pi-Calculus
- Ladda ner fulltext (pdf) av A Chart Semantics for the Pi-Calculus
-
Static Equivalence is Harder than Knowledge
Ingår i Electronic Notes in Theoretical Computer Science, s. 45-57, 2006
- DOI för Static Equivalence is Harder than Knowledge
- Ladda ner fulltext (pdf) av Static Equivalence is Harder than Knowledge
-
On bisimulations for the spi calculus
Ingår i Mathematical Structures in Computer Science, s. 487-552, 2005
Doktorsavhandlingar, monografi
Kapitel i böcker, delar av antologi
-
Roles, Stacks, Histories: A Triple for Hoare
Ingår i Reflections on the Work of C.A.R. Hoare, s. 71-100, Springer, 2010
Konferensbidrag
-
Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
Ingår i Programming Languages And Systems, ESOP 2021, s. 404-431, 2021
- DOI för Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
- Ladda ner fulltext (pdf) av Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
-
Ingår i Formal Techniques for Distributed Objects, Components, and Systems, s. 179-193, 2017
-
Fabular: Regression formulas as probabilistic programming
Ingår i Proc. 43rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, s. 271-283, 2016
- DOI för Fabular: Regression formulas as probabilistic programming
- Ladda ner fulltext (pdf) av Fabular: Regression formulas as probabilistic programming
-
Probabilistic programs as spreadsheet queries
Ingår i Programming Languages and Systems, s. 1-25, 2015
- DOI för Probabilistic programs as spreadsheet queries
- Ladda ner fulltext (pdf) av Probabilistic programs as spreadsheet queries
-
Tabular: a schema-driven probabilistic programming language
Ingår i Proc. 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, s. 321-334, 2014
- DOI för Tabular: a schema-driven probabilistic programming language
- Ladda ner fulltext (pdf) av Tabular: a schema-driven probabilistic programming language
-
A Sorted Semantic Framework for Applied Process Calculi (extended abstract)
Ingår i Trustworthy Global Computing, s. 103-118, 2014
-
A Model-Learner Pattern for Bayesian Reasoning
Ingår i Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, s. 403-416, 2013
-
Deriving Probability Density Functions from Probabilistic Functional Programs
Ingår i Tools and Algorithms for the Construction and Analysis of Systems, s. 508-522, 2013
- DOI för Deriving Probability Density Functions from Probabilistic Functional Programs
- Ladda ner fulltext (pdf) av Deriving Probability Density Functions from Probabilistic Functional Programs
-
Bayesian Inference Using Data Flow Analysis
Ingår i ESEC/FSE '13, s. 92-102, 2013
-
A Parametric Tool for Applied Process Calculi
Ingår i 13th International Conference on Application of Concurrency to System Design (ACSD 2013), s. 180-185, 2013
-
Measure Transformer Semantics for Bayesian Machine Learning
Ingår i 20th European Symposium on Programming, s. 77-96, 2011
- DOI för Measure Transformer Semantics for Bayesian Machine Learning
- Ladda ner fulltext (pdf) av Measure Transformer Semantics for Bayesian Machine Learning
-
Verified Stateful Programs with Substructural State and Hoare Types
Ingår i Proc. 5th ACM Workshop on Programming Languages Meets Program Verification, s. 15-26, 2011
-
A Compositional Theory for STM Haskell
Ingår i Proceedings of the 2nd ACM SIGPLAN symposium on Haskell, s. 69-80, 2009
-
Timed calculus of cryptographic communication
Ingår i Formal Aspects in Security and Trust, s. 16-30, 2007
-
Calculus of Cryptographic Communication
2006
-
Verifying a Structured Peer-to-Peer Overlay Network: The Static Case
Ingår i Global Computing: IST/FET International Workshop, GC 2004 Rovereto, Italy, March 9-12, 2004, s. 250-265, 2005
- DOI för Verifying a Structured Peer-to-Peer Overlay Network: The Static Case
- Ladda ner fulltext (pdf) av Verifying a Structured Peer-to-Peer Overlay Network: The Static Case
-
Symbolic Bisimulation in the Spi Calculus
Ingår i CONCUR 2004, s. 161-176, 2004
- DOI för Symbolic Bisimulation in the Spi Calculus
- Ladda ner fulltext (pdf) av Symbolic Bisimulation in the Spi Calculus
Proceedings (redaktörskap)
-
2014
-
2013