English
Related papers

Related papers: Fencing off Go: Liveness and Safety for Channel-ba…

200 papers

Graphics Processing Units (GPU) offer tremendous computational power by following a throughput oriented computing paradigm where many thousand computational units operate in parallel. Programming this massively parallel hardware is…

Programming Languages · Computer Science 2023-05-08 Bastian Köpcke , Sergei Gorlatch , Michel Steuwer

Some approaches to increasing program reliability involve a disciplined use of programming languages so as to minimise the hazards introduced by error-prone features. This is realised by writing code that is constrained to a subset of the a…

Programming Languages · Computer Science 2007-11-06 Guillem Marpons-Ucero , Julio Mariño , Ángel Herranz , Lars-Åke Fredlund , Manuel Carro , Juan José Moreno-Navarro

Programming distributed applications free from communication deadlocks and races is complex. Preserving these properties when applications are updated at runtime is even harder. We present DIOC, a language for programming distributed…

Programming Languages · Computer Science 2015-04-01 Mila Dalla Preda , Maurizio Gabbrielli , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro

Soft constraints extend classical constraints to represent multiple consistency levels, and thus provide a way to express preferences, fuzziness, and uncertainty. While there are many soft constraint solving formalisms, even distributed…

Programming Languages · Computer Science 2018-02-27 S. Bistarelli , U. Montanari , F. Rossi

Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. This work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data race freedom but…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-28 Scott West , Sebastian Nanz , Bertrand Meyer

FreeST is an experimental concurrent programming language. Based on a core linear functional programming language, it features primitives to fork new threads, and for channel creation and communication. A powerful type system of…

Programming Languages · Computer Science 2019-04-03 Bernardo Almeida , Andreia Mordido , Vasco T. Vasconcelos

Critical infrastructure defense is fundamentally bottlenecked by the operational reality that preventive controls are frequently bypassed by sophisticated supply-chain compromises and stolen administrative credentials. When prevention…

Cryptography and Security · Computer Science 2026-05-19 Namit Mohale

AI systems that "think" in human language offer a unique opportunity for AI safety: we can monitor their chains of thought (CoT) for the intent to misbehave. Like all other known AI oversight methods, CoT monitoring is imperfect and allows…

Vibe Coding (VC) is a form of software development assisted by generative AI, in which developers describe the intended functionality or logic via natural language prompts, and the AI system generates the corresponding source code. VC can…

Software Engineering · Computer Science 2025-12-16 Muhammad Waseem , Aakash Ahmad , Kai-Kristian Kemell , Jussi Rasku , Sami Lahti , Kalle Mäkelä , Pekka Abrahamsson

Chain-of-thought (CoT) reasoning is useful for monitoring language models only when the reasoning trace faithfully reflects the computation that produces the final answer. However, models can rely on prompt-to-answer shortcuts that bypass…

Machine Learning · Computer Science 2026-05-26 Jinghan Jia , Joe Benton , Eric Easley

While formal models of concurrency tend to focus on synchronous communication, asynchronous communication is relevant in practice. In this paper, we will discuss asynchronous communication in the context of session-based concurrency, the…

Programming Languages · Computer Science 2024-12-12 Bas van den Heuvel , Jorge A. Pérez

Many logic programming languages have delay primitives which allow coroutining. This introduces a class of bug symptoms -- computations can flounder when they are intended to succeed or finitely fail. For concurrent logic programs this is…

Programming Languages · Computer Science 2007-11-06 Lee Naish

The lock is a building-block synchronization primitive that enables mutually exclusive access to shared data in shared-memory parallel programs. Mutual exclusion is typically achieved by guarding the code that accesses the shared data with…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-04-25 Vivek Shahare , Milind Chabbi , Nikhil Hegde

This paper presents the first implementation of session types in a dynamically-typed language - Python. Communication safety of the whole system is guaranteed at runtime by monitors that check the execution traces comply with an associated…

Programming Languages · Computer Science 2013-12-11 Rumyana Neykova

Programmable Logic Controllers (PLCs) are widely used in industrial automation to control physical systems. As PLC applications become increasingly complex, ensuring their correctness is crucial. Existing formal verification techniques…

Programming Languages · Computer Science 2025-07-22 Jaeseo Lee , Kyungmin Bae

This paper investigates session programming and typing of benchmark examples to compare productivity, safety and performance with other communications programming languages. Parallel algorithms are used to examine the above aspects due to…

Programming Languages · Computer Science 2010-02-05 Andi Bejleri , Raymond Hu , Nobuko Yoshida

A programming language is a formally constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express…

Software Engineering · Computer Science 2017-12-13 Ghassan Samara

Guarded protocols were introduced in a seminal paper by Emerson and Kahlon (2000), and describe systems of processes whose transitions are enabled or disabled depending on the existence of other processes in certain local states. We study…

Logic in Computer Science · Computer Science 2016-09-05 Simon Außerlechner , Swen Jacobs , Ayrat Khalimov

In component-based development, approaches for property verification exist that avoid building the global system behavior of the component model. Typically, these approaches rely on the analysis of the local behavior of fixed sized…

Logic in Computer Science · Computer Science 2010-10-28 Christian Lambertz , Mila Majster-Cederbaum

The implementations of most hardened cryptographic libraries use defensive programming techniques for side-channel resistance. These techniques are usually specified as guidelines to developers on specific code patterns to use or avoid.…

Cryptography and Security · Computer Science 2025-09-03 Moritz Schneider , Daniele Lain , Ivan Puddu , Nicolas Dutly , Srdjan Capkun