English
Related papers

Related papers: Now It Compiles! Certified Automatic Repair of Unc…

200 papers

Choreographic Programming is a paradigm for the development of concurrent software, where deadlocks are prevented syntactically. However, choreography languages are typically synchronous, whereas many real-world systems have asynchronous…

Programming Languages · Computer Science 2017-12-01 Luís Cruz-Filipe , Fabrizio Montesi

We investigate refinement in the context of choreographies. We introduce refinable global choreographies allowing for the underspecification of protocols, whose interactions can be refined into actual protocols. Arbitrary refinements may…

Logic in Computer Science · Computer Science 2020-09-18 Ugo de'Liguoro , Hernán Melgratti , Emilio Tuosto

Choreography automata are an automata-based model of choreographies, that we show to be a compositional one. Choreography automata represent global views of choreographies (and rely on the well-known model of communicating finite-state…

Formal Languages and Automata Theory · Computer Science 2021-07-15 Franco Barbanera , Ivan Lanese , Emilio Tuosto

In the paradigm of choreographic programming, the overall behaviour of a distributed system is coded as a choreography from a global viewpoint. The choreography can then be automatically projected (compiled) to a correct implementation for…

Programming Languages · Computer Science 2024-01-01 Lovro Lugović , Fabrizio Montesi

A significant portion of student programming submissions in CS1 learning environments are uncompilable, limiting their use in student modeling and downstream knowledge tracing. Traditional modeling pipelines often exclude these cases,…

Software Engineering · Computer Science 2025-12-24 Griffin Pitts , Aum Pandya , Darsh Rank , Tirth Bhatt , Muntasir Hoq , Bita Akram

Choreographic programming is a paradigm for writing distributed applications. It allows programmers to write a single program, called a choreography, that can be compiled to generate correct implementations of each process in the…

Programming Languages · Computer Science 2024-07-16 Dan Plyukhin , Marco Peressotti , Fabrizio Montesi

Choreographies specify multiparty interactions via message passing. A realisation of a choreography is a composition of independent processes that behave as specified by the choreography. Existing relations of correctness/completeness…

Software Engineering · Computer Science 2023-06-22 Laura Bocchi , Hernan Melgratti , Emilio Tuosto

Automated program repair is an emerging technology which consists of a suite of techniques to automatically fix bugs or vulnerabilities in programs. In this paper, we present a comprehensive survey of the state of the art in program repair.…

Software Engineering · Computer Science 2022-11-24 Xiang Gao , Yannic Noller , Abhik Roychoudhury

We present an overview of some recent efforts aimed at the development of Choreographic Programming, a programming paradigm for the production of concurrent software that is guaranteed to be correct by construction from global descriptions…

Programming Languages · Computer Science 2015-02-11 Fabrizio Montesi

Choreographies are formal descriptions of distributed systems, which focus on the way in which participants communicate. While they are useful for analysing protocols, in practice systems are written directly by specifying each…

Programming Languages · Computer Science 2022-07-20 Bjørn Angel Kjær , Luís Cruz-Filipe , Fabrizio Montesi

Implementing distributed systems is hard; choreographic programming aims to make it easier. In this paper, we present the design of a new choreographic programming language that supports isolated transactions among overlapping sets of…

Programming Languages · Computer Science 2023-04-14 Ton Smeele , Sung-Shik Jongmans

We present a choreographic framework for modelling and analysing concurrent probabilistic systems based on the PRISM model-checker. This is achieved through the development of a choreography language, which is a specification language that…

Logic in Computer Science · Computer Science 2026-03-13 Marco Carbone , Adele Veschetti

Determining if two protocols can be securely composed requires analyzing not only their additive properties but also their destructive properties. In this paper we propose a new composition method for constructing protocols based on…

Cryptography and Security · Computer Science 2009-09-01 Bela Genge , Iosif Ignat , Piroska Haller

Override and update are natural constructions for combining partial functions, which arise in various program specification contexts. We use an unexpected connection with combinatorial geometry to provide a complete finite system of…

Logic · Mathematics 2021-01-05 Marcel Jackson , Tim Stokes

Automatically fixing compilation errors can greatly raise the productivity of software development, by guiding the novice or AI programmers to write and debug code. Recently, learning-based program repair has gained extensive attention and…

Software Engineering · Computer Science 2022-10-11 Xueyang Li , Shangqing Liu , Ruitao Feng , Guozhu Meng , Xiaofei Xie , Kai Chen , Yang Liu

The current push towards interoperability drives companies to collaborate through process choreographies. At the same time, they face a jungle of continuously changing regulations, e.g., due to the pandemic and developments such as the…

Logic in Computer Science · Computer Science 2021-12-20 Walid Fdhila , David Knuplesch , Stefanie Rinderle-Ma , Manfred Reichert

Functional choreographic programming suggests a new propositions-as-types paradigm might be possible. In this new paradigm, communication is not modeled linearly; instead, ownership of a piece of data is modeled as a modality, and…

Programming Languages · Computer Science 2024-06-04 Andrew K. Hirsch

We present Assume-Guarantee-Repair (AGR) - a novel framework which verifies that a program satisfies a set of properties and also repairs the program in case the verification fails. We consider communicating programs - these are simple…

Formal Languages and Automata Theory · Computer Science 2022-07-22 Hadar Frenkel , Orna Grumberg , Corina S. Pasareanu , Sarai Sheinvald

Choreography refers to creation of dance steps and motions for dances according to the latent knowledge in human mind, where the created dance motions are in general style-specific and consistent. So far, such latent style-specific…

Multimedia · Computer Science 2021-05-03 Xinjian Zhang , Yi Xu , Su Yang , Longwen Gao , Huyang Sun

We survey our work on choreographies and behavioural contracts in multiparty interactions. In particular theories of behavioural contracts are presented which enable reasoning about correct service composition (contract compliance) and…

Logic in Computer Science · Computer Science 2014-11-17 Mario Bravetti , Gianluigi Zavattaro