English
Related papers

Related papers: Type-Based Enforcement of Non-Interference for Cho…

200 papers

Choreographic Programming is a correct-by-construction paradigm where a compilation procedure synthesises deadlock-free, concurrent, and distributed communicating processes from global, declarative descriptions of communications, called…

Programming Languages · Computer Science 2020-12-15 Saverio Giallorenzo , Fabrizio Montesi , Maurizio Gabbrielli

Information flow type systems enforce the security property of noninterference by detecting unauthorized data flows at compile-time. However, they require precise type annotations, making them difficult to use in practice as much of the…

Programming Languages · Computer Science 2021-02-10 Abhishek Bichhawat , McKenna McCall , Limin Jia

Choreographic Programming is a programming paradigm for building concurrent programs that are deadlock-free by construction, as a result of programming communications declaratively and then synthesising process implementations…

Programming Languages · Computer Science 2018-10-10 Luís Cruz-Filipe , Fabrizio Montesi

Choreographic programming promises a simple approach to the coding of concurrent and distributed systems: write the collective communication behaviour of a system of processes as a choreography, and then the programs for these processes are…

Programming Languages · Computer Science 2025-03-18 Eva Graversen , Fabrizio Montesi , Marco Peressotti

Choreographic models support a correctness-by-construction principle in distributed programming. Also, they enable the automatic generation of correct message-based communication patterns from a global specification of the desired system…

Programming Languages · Computer Science 2022-05-16 Lorenzo Gheri , Ivan Lanese , Neil Sayers , Emilio Tuosto , Nobuko Yoshida

A choreography describes a transaction in which several principals interact. Since choreographies frequently describe business processes affecting substantial assets, we need a security infrastructure in order to implement them safely. As…

Logic in Computer Science · Computer Science 2010-02-05 Marco Carbone , Joshua Guttman

The BPMN 2.0 standard is a widely used semi-formal notation to model distributed information systems from different perspectives. The standard makes available a set of diagrams to represent such perspectives. Choreography diagrams represent…

Software Engineering · Computer Science 2023-06-22 Flavio Corradini , Andrea Morichetta , Andrea Polini , Barbara Re , Francesco Tiezzi

We propose a type-based analysis to infer the session protocols of channels in an ML-like concurrent functional language. Combining and extending well-known techniques, we develop a type-checking system that separates the underlying ML type…

Programming Languages · Computer Science 2016-04-14 Carlo Spaccasassi , Vasileios Koutavas

Choreographies are global descriptions of system behaviors, from which the local behavior of each endpoint entity can be obtained automatically through projection. To guarantee that its projection is correct, i.e. it has the same behaviors…

Programming Languages · Computer Science 2013-08-05 Ivan Lanese , Fabrizio Montesi , Gianluigi Zavattaro

Information flow control type systems statically restrict the propagation of sensitive data to ensure end-to-end confidentiality. The property to be shown is noninterference, asserting that an attacker cannot infer any secrets from made…

Programming Languages · Computer Science 2021-04-30 Farzaneh Derakhshan , Stephanie Balzer , Limin Jia

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

Non-interference is a program property that ensures the absence of information leaks. In the context of programming languages, there exist two common approaches for establishing non-interference: type systems and program logics. Type…

Logic in Computer Science · Computer Science 2020-03-09 Dan Frumin , Robbert Krebbers , Lars Birkedal

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

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

Programming communicating processes is challenging, because it requires writing separate programs that perform compatible send and receive actions at the right time during execution. Leaving this task to the programmer can easily lead to…

Programming Languages · Computer Science 2023-03-08 Luís Cruz-Filipe , Lovro Lugović , Fabrizio Montesi

We show how security type systems from the literature of language-based noninterference can be represented more directly as predicates defined by structural recursion on the programs. In this context, we show how our uniform syntactic…

Cryptography and Security · Computer Science 2013-08-16 Andrei Popescu

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

We present Pirouette, a language for typed higher-order functional choreographic programming. Pirouette offers programmers the ability to write a centralized functional program and compile it via endpoint projection into programs for each…

Programming Languages · Computer Science 2021-11-10 Andrew K. Hirsch , Deepak Garg

Choreographic approaches to message-passing applications can be regarded as an instance of the model-driven development principles. Choreographies specify interactions among distributed participants coordinating among themselves with…

Formal Languages and Automata Theory · Computer Science 2019-09-16 Hao Zeng , Alexander Kurz , Emilio Tuosto

Noninterference provides a control over information flow in a system for ensuring confidentiality and integrity properties. In the literature this notion has been well studied as transitive noninterference and intransitive noninterference.…

Cryptography and Security · Computer Science 2010-03-23 Chenyi Zhang