English
Related papers

Related papers: Composing bidirectional programs monadically (with…

200 papers

We study monads resulting from the combination of nondeterministic and probabilistic behaviour with the possibility of termination, which is essential in program semantics. Our main contributions are presentation results for the monads,…

Logic in Computer Science · Computer Science 2021-04-22 Matteo Mio , Ralph Sarkis , Valeria Vignudelli

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

When the inverse of an algorithm is well-defined -- that is, when its output can be deterministically transformed into the input producing it -- we say that the algorithm is invertible. While one can describe an invertible algorithm using a…

Programming Languages · Computer Science 2022-12-07 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

Transformers trained on huge text corpora exhibit a remarkable set of capabilities, e.g., performing basic arithmetic. Given the inherent compositional nature of language, one can expect the model to learn to compose these capabilities,…

Machine Learning · Computer Science 2024-02-07 Rahul Ramesh , Ekdeep Singh Lubana , Mikail Khona , Robert P. Dick , Hidenori Tanaka

In this paper we introduce the notion of Modal Software Engineering: automatically turning sequential, deterministic programs into semantically equivalent programs efficiently operating on inputs coming from multiple overlapping worlds. We…

Software Engineering · Computer Science 2021-02-16 Ramy Shahin

We show that streams and lazy data structures are a natural idiom for programming with infinite-dimensional Bayesian methods such as Poisson processes, Gaussian processes, jump processes, Dirichlet processes, and Beta processes. The crucial…

Programming Languages · Computer Science 2022-12-15 Swaraj Dash , Younesse Kaddar , Hugo Paquet , Sam Staton

Probabilistic programming and the formal analysis of probabilistic algorithms are active areas of research, driven by the widespread use of randomness to improve performance. While functional correctness has seen substantial progress,…

Logic in Computer Science · Computer Science 2025-08-21 Matthias Hetzenberger , Georg Moser , Florian Zuleger

Binary code similarity detection is a core task in reverse engineering. It supports malware analysis and vulnerability discovery by identifying semantically similar code in different contexts. Modern methods have progressed from manually…

Artificial Intelligence · Computer Science 2025-09-30 Charles E. Gagnon , Steven H. H. Ding , Philippe Charland , Benjamin C. M. Fung

We develop a compositional framework for generalized reversible computing using copy-discard categories and resource theories. We introduce partitioned matrices between partitioned sets as subdistribution matrices which preserve the…

Category Theory · Mathematics 2025-11-18 Clémence Chanavat , Priyaa Varshinee Srinivasan

We propose a general framework to allow: (a) specifying the operational semantics of a programming language; and (b) stating and proving properties about program correctness. Our framework is based on a many-sorted system of hybrid modal…

Logic in Computer Science · Computer Science 2025-12-01 Ioana Leustean , Natalia Moanga , Traian Florin Serbanuta

Many logic programming based approaches can be used to describe and solve combinatorial search problems. On the one hand there are definite programs and constraint logic programs that compute a solution as an answer substitution to a query…

Logic in Computer Science · Computer Science 2007-05-23 Nikolay Pelov , Emmanuel De Mot , Maurice Bruynooghe

Monads play an important role in both the syntax and semantics of modern functional programming languages. The problem of combining them has been of profound interest at least since the 90s, and different approaches have been employed to…

Category Theory · Mathematics 2025-09-29 Lorenzo Perticone

We introduce an object-oriented framework for parallel programming, which is based on the observation that programming objects can be naturally interpreted as processes. A parallel program consists of a collection of persistent processes…

Programming Languages · Computer Science 2014-04-21 Edward Givelberg

Bi-modal (respectively, multi-modal) constrained coding refers to an encoding model whereby a user input block can be mapped to two (respectively, multiple) codewords. In current storage applications, such as optical disks, multi-modal…

Information Theory · Computer Science 2020-04-30 Ron M. Roth , Paul H. Siegel

Many machine learning algorithms represent input data with vector embeddings or discrete codes. When inputs exhibit compositional structure (e.g. objects built from parts or procedures from subroutines), it is natural to ask whether this…

Machine Learning · Computer Science 2019-04-09 Jacob Andreas

Several different ways exist for approaching hard optimization problems. Mathematical programming techniques, including (integer) linear programming-based methods and metaheuristic approaches, are two highly successful streams for…

Optimization and Control · Mathematics 2022-02-08 Hengameh Fakhravar

We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation…

Logic in Computer Science · Computer Science 2011-11-09 Krzysztof R. Apt , Frank S. de Boer , Ernst-Ruediger Olderog , Stijn de Gouw

Interpretation methods and their restrictions to polynomials have been deeply used to control the termination and complexity of first-order term rewrite systems. This paper extends interpretation methods to a pure higher order functional…

Logic in Computer Science · Computer Science 2023-06-22 Emmanuel Hainry , Romain Péchoux

Designing complex engineered systems requires managing tightly coupled trade-offs between subsystem capabilities and resource requirements. Monotone co-design provides a compositional language for such problems, but its generality does not…

Optimization and Control · Mathematics 2026-04-01 Yubo Cai , Yujun Huang , Meshal Alharbi , Gioele Zardini

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