EDBT 2026 Demo / reviewers in the wild / expert
Sung-Shik Jongmans
dblp:91/8340 · also Sung-Shik T. Q. Jongmans
· DBLP profile ↗
37ranked-venue papers
22as first author
18since 2021 · last 2026
0000-0002-4394-8745ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 30 · 18 first-author · 17 since 2021Theory of computation · 4 · 2 first-author · 3 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | A Synthetic Reconstruction of Multiparty Session TypesabstractMultiparty session types (MPST) provide a rigorous foundation for verifying the safety and liveness of concurrent systems. However, existing approaches often force a difficult trade-off: classical, projection-based techniques are compositional but limited in expressiveness, while more recent techniques achieve higher expressiveness by relying on non-compositional, whole-system model checking, which scales poorly. This paper introduces a new approach to MPST that delivers both expressiveness and compositionality, called the synthetic approach. Our key innovation is a type system that verifies each process directly against a global protocol specification, represented as a labelled transition system (LTS) in general, with global types as a special case. This approach uniquely avoids the need for intermediate local types and projection. We demonstrate that our approach, while conceptually simpler, supports a benchmark of challenging protocols that were previously beyond the reach of compositional techniques in the MPST literature. We generalise our type system, showing that it can validate processes against any specification that constitutes a “well-behaved” LTS, supporting protocols not expressible with the standard global type syntax. The entire framework, including all theorems and many examples, has been formalised and mechanised in Agda, and we have developed a prototype implementation as an extension to VS Code. David Castro-Perez, Francisco Ferreira 0001, Sung-Shik Jongmans |
Proc. ACM Program. Lang. | 3 |
| 2025 | First-Person Choreographic Programming with Continuation-Passing CommunicationsabstractAbstract Choreographic programming (CP) is a method to implement distributed systems that ensures communication deadlock freedom by design. To use CP, though, the number of processes and the network among them must be known statically. Often, that information is known only dynamically. Thus, existing CP languages cannot be used to implement process-parametric distributed systems. This paper introduces first-person choreographic programming (1CP) to support the implementation of process-parametric distributed systems while also ensuring communication deadlock freedom. We present both a design of 1CP (new calculus, formalised in Isabelle/HOL) and an implementation (new language and tooling, integrated in VS Code). Sung-Shik Jongmans |
ESOP (2) | 1 |
| 2025 | Multiparty Session Typing, EmbeddedabstractAbstract Multiparty session typing (MPST) is a method to make concurrent programming simpler. The idea is to use type checking to automatically detect safety and liveness violations of implementations relative to specifications. In practice, the premier approach to combine MPST with mainstream languages—in the absence of native support—is based on external DSLs and associated tooling. In contrast, we study the question of how to support MPST by using internal DSLs. Answering this question positively, this paper presents the library: it leverages Scala’s lightweight form of dependent typing, called match types, to embed MPST directly into Scala. Our internal-DSL-based approach avoids programming friction and leaky abstractions of the external-DSL-based approach for MPST. Sung-Shik Jongmans |
TACAS (1) | 1 |
| 2024 | Discourje: Run-Time Verification of Communication Protocols in Clojure - Live at LastabstractAbstract Multiparty session typing (MPST) is a formal method to make concurrent programming simpler. The idea is to use type checking to automatically prove safety (protocol compliance) and liveness (communication deadlock freedom) of implementations relative to specifications. Discourje is an existing run-time verification library for communication protocols in Clojure, based on dynamic MPST. The original version of Discourje can detect only safety violations. In this paper, we present an extension of Discourje to detect also liveness violations. Sung-Shik Jongmans |
FM (2) | 1 |
| 2024 | Branching pomsets: Design, expressiveness and applications to choreographiesabstractChoreographic languages describe possible sequences of interactions among a set of agents. Typical models are based on languages or automata over sending and receiving actions. Pomsets provide a more compact alternative by using a partial order to explicitly represent causality and concurrency between these actions. However, pomsets offer no representation of choices, thus a set of pomsets is required to represent branching behaviour. For example, if an agent Alice can send one of two possible messages to Bob three times, one would need a set of 2×2×2 distinct pomsets to represent all possible branches of Alice's behaviour. This paper proposes an extension of pomsets, named branching pomsets, with a branching structure that can represent Alice's behaviour using 2+2+2 ordered actions. We compare the expressiveness of branching pomsets with that of several forms of event structures from the literature. We encode choreographies as branching pomsets and show that the pomset semantics of the encoded choreographies are bisimilar to their operational semantics. Furthermore, we define well-formedness conditions on branching pomsets, inspired by multiparty session types, and we prove that the well-formedness of a branching pomset is a sufficient condition for the realisability of the represented communication protocol. Finally, we present a prototype tool that implements our theory of branching pomsets, focusing on its applications to choreographies. Luc Edixhoven, Sung-Shik Jongmans, José Proença, Ilaria Castellani |
J. Log. Algebraic Methods Program. | 2 |
| 2023 | Synthetic Behavioural Typing: Sound, Regular Multiparty Sessions via Implicit Local Types (Pearl/Brave New Idea)
Sung-Shik Jongmans, Francisco Ferreira 0001 |
ECOOP | 1 |
| 2023 | VeyMont: Parallelising Verified Programs Instead of Verifying Parallel Programs
Petra van den Bos, Sung-Shik Jongmans |
FM | 2 |
| 2023 | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type AnalysisabstractWe present Oven: a toolset to assure safety and liveness of communication protocols among threads in concurrent programs in Scala. Francisco Ferreira 0001, Sung-Shik Jongmans |
ISSTA | 2 |
| 2023 | Multiparty Session Typing in Java, DeductivelyabstractAbstract Multiparty session typing (MPST) is a method to automatically prove safety and liveness of protocol implementations relative to specifications. We present BGJ: a new tool to apply the MPST method in combination with Java. The checks performed using our tool are purely static (all errors are reported early at compile-time) and resource-efficient (near-zero cost abstractions at run-time), thereby addressing two issues of existing tools. BGJ is built using VerCors, but our approach is general. Jelle Bouma, Stijn de Gouw, Sung-Shik Jongmans |
TACAS (2) | 3 |
| 2022 | API Generation for Multiparty Session Types, Revisited and Revised Using Scala 3
Guillermina Cledou, Luc Edixhoven, Sung-Shik Jongmans, José Proença |
ECOOP | 3 |
| 2022 | A Predicate Transformer for Choreographies - Computing Preconditions in Choreographic ProgrammingabstractAbstract Construction and analysis of distributed systems is difficult; choreographic programming is a deadlock-freedom-by-construction approach to simplify it. In this paper, we present a new theory of choreographic programming. It supports for the first time: construction of distributed systems that require decentralised decision making (i.e., if/while-statements with multiparty conditions); analysis of distributed systems to provide not only deadlock freedom but also functional correctness (i.e., pre/postcondition reasoning). Both contributions are enabled by a single new technique, namely a predicate transformer for choreographies. Sung-Shik Jongmans, Petra van den Bos |
ESOP | 1 |
| 2022 | ST4MP: A Blueprint of Multiparty Session Typing for Multilingual Programming
Sung-Shik Jongmans, José Proença |
ISoLA (1) | 1 |
| 2022 | Towards Gradual Multiparty Session TypingabstractTo make concurrent programming easier, languages (e.g., Go, Rust, Clojure) have started to offer core support for message passing through channels in shared memory. However, channels also have their issues. Multiparty session types (MPST) constitute a method to make channel usage simpler. In this paper, to consolidate the best qualities of “static MPST” (early feedback, fast execution) and “dynamic MPST” (high expressiveness), we present a project that reinterprets the MPST method through the lens of gradual typing. Sung-Shik Jongmans |
ASE | 1 |
| 2022 | Preface - Special Issue on selected and extended papers from FACS 2019
Sung-Shik Jongmans, Farhad Arbab |
Sci. Comput. Program. | 1 |
| 2022 | The Discourje project: run-time verification of communication protocols in ClojureabstractAbstract To simplify shared-memory concurrent programming, languages have started to offer core support for high-level communications primitives, in the form of message passing though channels, in addition to lower-level synchronisation primitives. Yet, a growing body of evidence suggests that channel-based programming abstractions also have their issues. The Discourje project aims to help programmers cope with channels and concurrency bugs in Clojure programs, based on dynamic analysis. The idea is that programmers write not only implementations of communication protocols in their Clojure programs, but also specifications. Discourje then offers a run-time verification library to ensure that channel actions in implementations are safe relative to specifications. The aim of this paper is to provide a comprehensive overview of the current state of Discourje, including case studies, theoretical foundations, and practical aspects. Ruben Hamers, Erik Horlings, Sung-Shik Jongmans |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2021 | Balanced-By-Construction Regular and ømega-Regular Languages
Luc Edixhoven, Sung-Shik Jongmans |
DLT | 2 |
| 2021 | Prut4j: Protocol Unit Testing fo(u)r JavaabstractThis paper presents Prut4j: a tool to simplify unit testing of channel/queue-based communication protocols in concurrent Java programs. Prut4j offers two domain-specific languages to write, compile (to Java), and execute (with JUnit) high-level "protocol modules" and accompanying unit tests. Our first evaluation provides evidence for Prut4j's expressiveness (network topologies, games, scientific kernels) and efficiency (Prut4j-based programs perform well in a third-party benchmark). Florian Joost Slob, Sung-Shik Jongmans |
ICST | 2 |
| 2021 | Analysis of specifications of multiparty sessions with dcj-lintabstractMultiparty session types constitute a method to automatically detect violations of protocol implementations relative to specifications. But, when a violation is detected, does it symptomise a bug in the implementation or in the specification? This paper presents dcj-lint: an analysis tool to detect bugs in protocol specifications, based on multiparty session types. By leveraging a custom-built temporal logic model checker, dcj-lint can be used to efficiently perform: (1) generic sanity checks, and (2) protocol-specific property analyses. In our benchmarks, dcj-lint outperforms an existing state-of-the-art model checker (up to 61x faster). Erik Horlings, Sung-Shik Jongmans |
ESEC/SIGSOFT FSE | 2 |
| 2020 | Exploring Type-Level Bisimilarity towards More Expressive Multiparty Session TypesabstractAbstract A key open problem with multiparty session types (MPST) concerns their expressiveness: current MPST have inflexible choice, no existential quantification over participants, and limited parallel composition. This precludes many real protocols to be represented by MPST. To overcome these bottlenecks of MPST, we explore a new technique using weak bisimilarity between global types and endpoint types, which guarantees deadlock-freedom and absence of protocol violations. Based on a process algebraic framework, we present well-formed conditions for global types that guarantee weak bisimilarity between a global type and its endpoint types and prove their check is decidable. Our main practical result, obtained through benchmarks, is that our well-formedness conditions can be checked orders of magnitude faster than directly checking weak bisimilarity using a state-of-the-art model checker. Sung-Shik Jongmans, Nobuko Yoshida |
ESOP | 1 |
| 2020 | Safe Sessions of Channel Actions in Clojure: A Tour of the Discourje Project
Ruben Hamers, Sung-Shik Jongmans |
ISoLA (1) | 2 |
| 2020 | Discourje: Runtime Verification of Communication Protocols in ClojureabstractThis paper presents Discourje: a runtime verification framework for communication protocols in Clojure. Discourje guarantees safety of protocol implementations relative to specifications, based on an expressive new version of multiparty session types. The framework has a formal foundation and is itself implemented in Clojure to offer a seamless specification–implementation experience. Benchmarks show Discourje’s overhead can be less than 5% for real/existing concurrent programs. Ruben Hamers, Sung-Shik Jongmans |
TACAS (1) | 2 |
| 2019 | SOA and the Button Problem
Sung-Shik Jongmans, Arjan Lamers, Marko C. J. D. van Eekelen |
FM | 1 |
| 2019 | Toward New Unit-Testing Techniques for Shared-Memory Concurrent ProgramsabstractFollowing advances in hardware engineering (multi-core processors) and software engineering (agile practices), there is now a large demand for unit-testing techniques for concurrent code. This paper presents the motivation, problem, proposed solution, first results, and open challenges of an early-stage research project (2019-2022) that aims to develop innovative such techniques. Founded on existing work on coordination models and languages, the project's idea is to use a combination of domain-specific language, compilation, and model-checking to build a fully automated framework for unit-testing concurrency. Sung-Shik Jongmans |
ICECCS | 1 |
| 2019 | Distributed programming using role-parametric session types in go: statically-typed endpoint APIs for dynamically-instantiated communication structuresabstractThis paper presents a framework for the static specification and safe programming of message passing protocols where the number and kinds of participants are dynamically instantiated. We develop the first theory of distributed multiparty session types (MPST) to support parameterised protocols with indexed roles—our framework statically infers the different kinds of participants induced by a protocol definition as role variants, and produces decoupled endpoint projections of the protocol onto each variant. This enables safe MPST-based programming of the parameterised endpoints in distributed settings: each endpoint can be implemented separately by different programmers, using different techniques (or languages). We prove the decidability of role variant inference and well-formedness checking, and the correctness of projection. We implement our theory as a toolchain for programming such role-parametric MPST protocols in Go. Our approach is to generate API families of lightweight, protocol- and variant-specific type wrappers for I/O. The APIs ensure a well-typed Go endpoint program (by native Go type checking) will perform only compliant I/O actions w.r.t. the source protocol. We leverage the abstractions of MPST to support the specification and implementation of Go applications involving multiple channels, possibly over mixed transports (e.g., Go channels, TCP), and channel passing via a unified programming interface. We evaluate the applicability and run-time performance of our generated APIs using microbenchmarks and real-world applications. David Castro-Perez, Raymond Hu, Sung-Shik Jongmans, Nicholas Ng, Nobuko Yoshida |
Proc. ACM Program. Lang. | 3 |
| 2018 | Centralized coordination vs. partially-distributed coordination with Reo and constraint automata
Sung-Shik Jongmans, Farhad Arbab |
Sci. Comput. Program. | 1 |
| 2017 | Simpler Coordination of JavaScript Web Workers
Marco Krauweel, Sung-Shik Jongmans |
COORDINATION | 2 |
| 2017 | Constraint automata with memory cells and their composition
Sung-Shik Jongmans, Tobias Kappé, Farhad Arbab |
Sci. Comput. Program. | 1 |
| 2016 | Scheduling Games for Concurrent Systems
Kasper Dokter, Sung-Shik Jongmans, Farhad Arbab |
COORDINATION | 2 |
| 2016 | PrDK: Protocol Programming with Automata
Sung-Shik Jongmans, Farhad Arbab |
TACAS | 1 |
| 2016 | Global consensus through local synchronization: A formal basis for partially-distributed coordination
Sung-Shik Jongmans, Farhad Arbab |
Sci. Comput. Program. | 1 |
| 2016 | A procedure for splitting data-aware processes and its application to coordination
Sung-Shik Jongmans, Dave Clarke 0001, José Proença |
Sci. Comput. Program. | 1 |
| 2015 | Take Command of Your Constraints!
Sung-Shik Jongmans, Farhad Arbab |
COORDINATION | 1 |
| 2015 | Partially distributed coordination with Reo and constraint automata
Sung-Shik Jongmans, Francesco Santini 0001, Farhad Arbab |
Serv. Oriented Comput. Appl. | 1 |
| 2014 | Automata-Based Optimization of Interaction Protocols for Scalable Multicore Platforms
Sung-Shik Jongmans, Sean Halle, Farhad Arbab |
COORDINATION | 1 |
| 2014 | Partially-Distributed Coordination with ReoabstractCoordination languages, as Reo, have emerged for the specification and implementation of interaction protocols among concurrent entities. In this paper, we propose a framework for generating partially-distributed, partially-centralized implementations of Reo connectors to improve 1) build-time compilation and 2) run-time throughput and parallelism. Our framework relies on the definition of a new formal product operator on constraint automata (Reo's formal semantics), which enables the formally correct distribution of disjoint parts of a coordination scheme over different machines according to several possible motivations (e.g., performance, privacy, QoS constraints, resource availability, network topology). First, we describe the design and a proof-of-concept implementation of our framework. Then, in a case study, we show and explain how a generated connector implementation can be executed in the Cloud and supports Big Data coordination. Sung-Shik Jongmans, Francesco Santini 0001, Farhad Arbab |
PDP | 1 |
| 2014 | Orchestrating web services using Reo: from circuits and behaviors to automatically generated code
Sung-Shik Jongmans, Francesco Santini 0001, Mahdi Sargolzaei, Farhad Arbab, Hamideh Afsarmanesh |
Serv. Oriented Comput. Appl. | 1 |
| 2011 | Encoding Context-Sensitivity in Reo into Non-Context-Sensitive Semantic Models
Sung-Shik Jongmans, Christian Krause 0001, Farhad Arbab |
COORDINATION | 1 |