English
Related papers

Related papers: Concurrent Typestate-Oriented Programming in Java

200 papers

Synchronizing production and test code, known as PT co-evolution, is critical for software quality in the software development lifecycle. Existing methods for automatic PT co-evolution either utilize predefined heuristic rules or rely on…

Software Engineering · Computer Science 2024-11-19 Jianlei Chi , Xiaotian Wang , Yuhan Huang , Lechen Yu , Di Cui , Jianguo Sun , Jun Sun

In previous work we developed a framework of computational models for the concurrent execution of functions on different levels of abstraction. It shows that the traditional sequential execution of function is just a possible implementation…

Software Engineering · Computer Science 2012-08-20 Bob Diertens

Many applications require complexly structured data objects. Developing new or adapting existing algorithmic solutions for creating such objects can be a non-trivial and costly task if the considered objects are subject to different…

Programming Languages · Computer Science 2015-03-19 Johannes Oetsch , Jörg Pührer , Hans Tompits

A temporal logic is presented for reasoning about the correctness of timed concurrent constraint programs. The logic is based on modalities which allow one to specify what a process produces as a reaction to what its environment inputs.…

Logic in Computer Science · Computer Science 2007-05-23 F. S. de Boer , M. Gabbrielli , M. C. Meo

Session types are types for specifying the protocols that communicating processes must follow in a concurrent system. When composing two or more well-typed processes, a session typing system must check whether such processes are multiparty…

Logic in Computer Science · Computer Science 2023-05-26 Marco Carbone , Sonia Marin , Carsten Schürmann

The size of a data structure (i.e., the number of elements in it) is a widely used property of a data set. However, for concurrent programs, obtaining a correct size efficiently is non-trivial. In fact, the literature does not offer a…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-09-16 Gal Sela , Erez Petrank

In type theory, we can express many practical ideas by attributing some additional data to expressions we operate on during compilation. For instance, some substructural type theories augment variables' typing judgments with the information…

Programming Languages · Computer Science 2021-06-17 Aziz Akhmedkhodjaev

The multiplicity of software projects' stakeholders and activities leads to the multiplicity of software specification views and thus creates the need to establish mutual consistency between them. The process of establishing such…

Software Engineering · Computer Science 2017-11-20 Alexandr Naumchev

Synchronisation classes are an important building block for shared memory concurrent programs. Thus to reason about such programs, it is important to be able to verify the implementation of these synchronisation classes, considering atomic…

Software Engineering · Computer Science 2018-06-27 Afshin Amighi , Marieke Huisman , Stefan Blom

Many programming languages and tools, ranging from grep to the Java String library, contain regular expression matchers. Rather than first translating a regular expression into a deterministic finite automaton, such implementations…

Logic in Computer Science · Computer Science 2011-08-17 Asiri Rathnayake , Hayo Thielecke

Worked examples (solutions to typical programming problems presented as a source code in a certain language and are used to explain the topics from a programming class) are among the most popular types of learning content in programming…

Human-Computer Interaction · Computer Science 2023-12-05 Mohammad Hassany , Peter Brusilovsky , Jiaze Ke , Kamil Akhuseyinoglu , Arun Balajiee Lekshmi Narayanan

Resource-aware type systems statically approximate not only the expected result type of a program, but also the way external resources are used, e.g., how many times the value of a variable is needed. We extend the type system of…

Programming Languages · Computer Science 2023-02-16 Riccardo Bianchini , Francesco Dagnino , Paola Giannini , Elena Zucca

Traditional software engineering programming paradigms are mostly object or procedure oriented, driven by deterministic algorithms. With the advent of deep learning and cognitive sciences there is an emerging trend for data-driven…

Software Engineering · Computer Science 2017-11-17 Anush Sankaran , Rahul Aralikatte , Senthil Mani , Shreya Khare , Naveen Panwar , Neelamadhav Gantayat

Data intensive workloads have become a popular use of HPC in recent years and the question of how data scientists, who might not be HPC experts, can effectively program these machines is important to address. Whilst using models such as…

Programming Languages · Computer Science 2020-09-29 Nick Brown

Concurrent programs are difficult to test due to their inherent non-determinism. To address this problem, testing often requires the exploration of thread schedules of a program; this can be time-consuming when applied to real-world…

Software Engineering · Computer Science 2018-04-11 Tingting Yu , Wei Wen , Xue Han , Jane Hayes

The Timed Concurrent Constraint Language tccp is a declarative synchronous concurrent language, particularly suitable for modelling reactive systems. In tccp, agents communicate and synchronise through a global constraint store. It supports…

Programming Languages · Computer Science 2017-01-04 María-del-Mar Gallardo , Leticia Lavado , Laura Panizo

Multiparty Session Types (MPST) is a typing discipline for communication protocols. It ensures the absence of communication errors and deadlocks for well-typed communicating processes. The state-of-the-art implementations of the MPST theory…

Programming Languages · Computer Science 2020-05-26 Keigo Imai , Rumyana Neykova , Nobuko Yoshida , Shoji Yuen

Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is…

Programming Languages · Computer Science 2024-10-25 Philipp Jan Andries Stassen , Rasmus Ejlers Møgelberg , Maaike Zwart , Alejandro Aguirre , Lars Birkedal

We define a programming language independent transaction controller and an operator which when applied to concurrent programs with shared locations turns their behavior with respect to some abstract termination criterion into a…

Databases · Computer Science 2017-06-07 Egon Börger , Klaus-Dieter Schewe

Formal verification methods for concurrent systems cannot always be scaled-down or tailored in order to be applied on specific subsystems. We address such an issue in a MultiParty Session Types setting by devising a partial type assignment…

Logic in Computer Science · Computer Science 2024-10-02 Franco Barbanera , Mariangiola Dezani-Ciancaglini , Ugo de'Liguoro