English
Related papers

Related papers: Non-Blocking Concurrent Imperative Programming wit…

200 papers

Termination is a central property in sequential programming models: a term is terminating if all its reduction sequences are finite. Termination is also important in concurrency in general, and for message-passing programs in particular. A…

Logic in Computer Science · Computer Science 2023-08-03 Joseph W. N. Paulus , Jorge A. Pérez , Daniele Nantes-Sobrinho

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

CLASS is a proof-of-concept general purpose linear programming language, flexibly supporting realistic concurrent programming idioms, and featuring an expressive linear type system ensuring that programs (1) never misuse or leak stateful…

Programming Languages · Computer Science 2025-05-28 Luís Caires

**Context** Context-free grammars are widely used for language prototyping and implementation. They allow formalizing the syntax of domain-specific or general-purpose programming languages concisely and declaratively. However, the natural…

Programming Languages · Computer Science 2018-03-28 Luís Eduardo de Souza Amorim , Michael J. Steindorfer , Eelco Visser

To deal with failures as simply as possible, we propose a new foun- dation for the core (untyped) C, which is based on a new logic called task logic or imperative logic. We then introduce a sequential-disjunctive statement of the form S :…

Programming Languages · Computer Science 2015-06-12 Keehang Kwon , Sungwoo Hur , Mi-Young Park

Concurrent pattern calculus (CPC) drives interaction between processes by comparing data structures, just as sequential pattern calculus drives computation. By generalising from pattern matching to pattern unification, interaction becomes…

Logic in Computer Science · Computer Science 2015-07-01 Thomas Given-Wilson , Daniele Gorla , Barry Jay

We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose…

Programming Languages · Computer Science 2016-08-08 Adrian Francalanza , Marco Giunti , António Ravara

We show how to reverse a while language extended with blocks, local variables, procedures and the interleaving parallel composition. Annotation is defined along with a set of operational semantics capable of storing necessary reversal…

Programming Languages · Computer Science 2018-08-28 James Hoey , Irek Ulidowski , Shoji Yuen

We propose SessionC#, a lightweight session typed library for safe concurrent/distributed programming. The key features are (1) the improved fluent interface which enables writing communication in chained method calls, by exploiting C#'s…

Programming Languages · Computer Science 2020-04-06 Shunsuke Kimura , Keigo Imai

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford

We present an asynchronous calculus for multiparty sessions with mixed choice, which extends the Simple MultiParty Session framework in order to support nondeterministic choices with both input and output prefixes. Global types -- equipped…

Logic in Computer Science · Computer Science 2026-04-09 Franco Barbanera , Mariangiola Dezani-Ciancaglini

Threads are a convenient and modular abstraction for writing concurrent programs, but often fairly expensive. The standard alternative to threads, event-loop programming, allows much lighter units of concurrency, but leads to code that is…

Programming Languages · Computer Science 2011-02-07 Gabriel Kerneis , Juliusz Chroboczek

We present a self-certifying compiler for the COGENT systems language. COGENT is a restricted, polymorphic, higher-order, and purely functional language with linear types and without the need for a trusted runtime or garbage collector. It…

Ensuring the correctness of software for communication centric programs is important but challenging. Previous approaches, based on session types, have been intensively investigated over the past decade. They provide a concise way to…

Programming Languages · Computer Science 2021-09-27 Andreea Costea , Wei-Ngan Chin , Florin Craciun , Shengchao Qin

The vast number of interleavings that a concurrent program can have is typically identified as the root cause of the difficulty of automatic analysis of concurrent software. Weak memory is generally believed to make this problem even…

Logic in Computer Science · Computer Science 2013-01-09 Jade Alglave , Daniel Kroening , Michael Tautschnig

Softwares source code is becoming large and complex. Compilation of large base code is a time consuming process. Parallel compilation of code will help in reducing the time complexity. Parsing is one of the phases in compiler in which…

Programming Languages · Computer Science 2015-09-29 Abhinav Jangda

In concurrent and distributed systems, software components are expected to communicate according to predetermined protocols and APIs - and if a component does not observe them, the system's reliability is compromised. Furthermore, isolating…

Programming Languages · Computer Science 2021-05-25 Christian Batrolo Burlò , Adrian Francalanza , Alceste Scalas

Session types describe the structure of communications implemented by channels. In particular, they prescribe the sequence of communications, whether they are input or output actions, and the type of value exchanged. Crucial to any language…

Logic in Computer Science · Computer Science 2023-06-22 Dimitris Mostrous , Vasco T. Vasconcelos

Session types are behavioural types for guaranteeing that concurrent programs are free from basic communication errors. Recent work has shown that asynchronous session subtyping is undecidable. However, since session types have become…

Programming Languages · Computer Science 2018-02-13 Mario Bravetti , Marco Carbone , Gianluigi Zavattaro

Interoperability is the ability of a programming language to work with systems based on different languages and paradigms. These days, many widely used high-level language impementations provide access to external functionalities. In this…

Programming Languages · Computer Science 2017-03-16 Manuel Mazzara
‹ Prev 1 4 5 6 7 8 10 Next ›