English
Related papers

Related papers: Type Inference for Deadlock Detection in a Multith…

200 papers

Context. TypeState-Oriented Programming (TSOP) is a paradigm intended to help developers in the implementation and use of mutable objects whose public interface depends on their private state. Under this paradigm, well-typed programs are…

Programming Languages · Computer Science 2018-03-29 Luca Padovani

A model of MPI synchronization communication programs is presented and its three basic simplified models are also defined. A series of theorems and methods for deciding whether deadlocks will occur among the three models are given and…

Distributed, Parallel, and Cluster Computing · Computer Science 2008-01-28 Ming-xue Liao , Zhi-hua Fan

Recent works have shown the power of linear indexed type systems for enforcing complex program properties. These systems combine linear types with a language of type-level indices, allowing more fine-grained analyses. Such systems have been…

Logic in Computer Science · Computer Science 2018-03-16 Arthur Azevedo de Amorim , Emilio Jesús Gallego Arias , Marco Gaboardi , Justin Hsu

Much algorithmic research in NLP aims to efficiently manipulate rich formal structures. An algorithm designer typically seeks to provide guarantees about their proposed algorithm -- for example, that its running time or space complexity is…

Programming Languages · Computer Science 2025-12-30 Tim Vieira , Ryan Cotterell , Jason Eisner

This article first provides an algorithm W based type inference algorithm for an affine type system. Then the article further assumes the language equipped with the above type system uses lazy evaluation, and explores the possibility of…

Programming Languages · Computer Science 2022-04-01 Gonglin Li

We have implemented an optimization that specializes type-generic array accesses after inlining of polymorphic functions in the native-code OCaml compiler. Polymorphic array operations (read and write) in OCaml require runtime type dispatch…

Programming Languages · Computer Science 2017-02-09 Ryohei Tokuda , Eijiro Sumii , Akinori Abe

We address the problem of local type inference for a language based on System F with context-free session types. We present an algorithm that leverages the bidirectional type checking approach to propagate type information, enabling first…

Programming Languages · Computer Science 2025-05-28 Bernardo Almeida , Andreia Mordido , Vasco T. Vasconcelos

Large Language Models (LLMs) are widely used by software engineers for programming tasks. However, research shows that LLMs often lack a deep understanding of program semantics. Even minor changes to syntax, such as renaming variables, can…

Computation and Language · Computer Science 2025-10-06 Francesca Lucchetti , Arjun Guha

Dynamically typed object-oriented languages enable programmers to write elegant, reusable and extensible programs. However, with the current methodology for program verification, the absence of static type information creates significant…

Programming Languages · Computer Science 2015-01-13 Björn Engelmann , Ernst-Rüdiger Olderog , Nils Erik Flick

Verifying multi-threaded programs is becoming more and more important, because of the strong trend to increase the number of processing units per CPU socket. We introduce a new configurable program analysis for verifying multi-threaded…

Logic in Computer Science · Computer Science 2016-12-23 Dirk Beyer , Karlheinz Friedberger

This work introduces the novel concept of kind refinement, which we develop in the context of an explicitly polymorphic ML-like language with type-level computation. Just as type refinements embed rich specifications by means of…

Programming Languages · Computer Science 2019-08-02 Luís Caires , Bernardo Toninho

In this paper we present a new static data type inference algorithm for logic programming. Without the need of declaring types for predicates, our algorithm is able to automatically assign types to predicates which, in most cases,…

Programming Languages · Computer Science 2021-08-17 João Barbosa , Mário Florido , Vítor Santos Costa

Dynamic languages, such as Python and Javascript, trade static typing for developer flexibility and productivity. Lack of static typing can cause run-time exceptions and is a major factor for weak IDE support. To alleviate these issues, PEP…

Machine Learning · Computer Science 2022-01-20 Amir M. Mir , Evaldas Latoskinas , Sebastian Proksch , Georgios Gousios

Online programming courses are becoming more and more popular, but they still have significant drawbacks when compared to the traditional education system, e.g., the lack of feedback. In this study, we apply machine learning methods to…

Computers and Society · Computer Science 2021-07-22 Artyom Lobanov , Timofey Bryksin , Alexey Shpilman

Message-passing software systems exhibit non-trivial forms of concurrency and distribution; they are expected to follow intended protocols among communicating services, but also to never "get stuck". This intuitive requirement has been…

Logic in Computer Science · Computer Science 2021-09-07 Ornela Dardha , Jorge A. Pérez

Bounded verification has proved useful to detect bugs and to increase confidence in the correctness of a program. In contrast to unbounded verification, reasoning about calls via (bounded) inlining and about loops via (bounded) unrolling…

Logic in Computer Science · Computer Science 2023-03-14 Thibault Dardinier , Gaurav Parthasarathy , Peter Müller

In this paper, we describe our experience incorporating gradual types in a statically typed functional language with Hindley-Milner style type inference. Where most gradually typed systems aim to improve static checking in a dynamically…

Programming Languages · Computer Science 2021-02-01 Bhargav Shivkumar , Enrique Naudon , Lukasz Ziarek

In this paper we address the deadlock detection problem in the context of SCOOP - an OO-programming model for concurrency, recently formalized in Maude. We present the integration of a deadlock detection mechanism on top of the…

Programming Languages · Computer Science 2014-10-07 Georgiana Caltais , Bertrand Meyer

We introduce a high-level language with Python-like syntax for string-to-string, polyregular, first-order definable transductions. This language features function calls, boolean variables, and nested for-loops. We devise and implement a…

Formal Languages and Automata Theory · Computer Science 2025-05-16 Aliaume Lopez , Rafał Stefański

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

Programming Languages · Computer Science 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn