English
Related papers

Related papers: Modular Compilation of a Synchronous Language

200 papers

This paper explores how natural-language descriptions of formal languages can be compared to their formal representations and how semantic differences can be explained. This is motivated from educational scenarios where learners describe a…

Formal Languages and Automata Theory · Computer Science 2026-02-24 Tristan Kneisel , Marko Schmellenkamp , Fabian Vehlken , Thomas Zeume

The Unified Modeling Language (UML) is a standard for modeling dynamic systems. UML behavioral state machines are used for modeling the dynamic behavior of object-oriented designs. The UML specification, maintained by the Object Management…

Software Engineering · Computer Science 2024-07-25 Étienne André , Shuang Liu , Yang Liu , Christine Choppy , Jun Sun , Jin Song Dong

Partial correctness of imperative or functional programming divides in logic programming into two notions. Correctness means that all answers of the program are compatible with the specification. Completeness means that the program produces…

Logic in Computer Science · Computer Science 2025-08-26 Włodzimierz Drabent

Natural language processing for programming aims to use NLP techniques to assist programming. It is increasingly prevalent for its effectiveness in improving productivity. Distinct from natural language, a programming language is highly…

Computation and Language · Computer Science 2023-08-08 Qingfu Zhu , Xianzhen Luo , Fang Liu , Cuiyun Gao , Wanxiang Che

Automated testing plays a crucial role in ensuring software security. It heavily relies on formal specifications to validate the correctness of the system behavior. However, the main approach to defining these formal specifications is…

Software Engineering · Computer Science 2025-04-03 Hui Li , Zhen Dong , Siao Wang , Hui Zhang , Liwei Shen , Xin Peng , Dongdong She

Human beings possess the most sophisticated computational machinery in the known universe. We can understand language of rich descriptive power, and communicate in the same environment with astonishing clarity. Two of the many contributors…

Computation and Language · Computer Science 2021-01-01 Karthikeya Ramesh Kaushik , Andrea E. Martin

Humans can reason compositionally when presented with new tasks. Previous research shows that appropriate prompting techniques enable large language models (LLMs) to solve artificial compositional generalization tasks such as SCAN. In this…

Computation and Language · Computer Science 2022-10-03 Andrew Drozdov , Nathanael Schärli , Ekin Akyürek , Nathan Scales , Xinying Song , Xinyun Chen , Olivier Bousquet , Denny Zhou

Distributed system theory literature often argues for correctness using an informal, Hoare-like style of reasoning. While these arguments are intuitive, they have not all been foolproof, and whether they directly correspond to formal proofs…

Programming Languages · Computer Science 2025-10-15 Haobin Ni , Robbert van Renesse , Greg Morrisett

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

Formal specifications, such as pre- and post-conditions provide a solid basis for performing thorough program verification. However, developers rarely provide such formal specifications, hence if AI could help in constructing them, it would…

Software Engineering · Computer Science 2026-03-19 I. S. W. B. Prasetya , Fitsum Kifetew , Davide Prandi

Modular design is a key challenge for enabling large-scale reuse of hardware modules. Unlike software, however, hardware designs correspond to physical circuits and inherit constraints from them. Timing constraints -- which cycle a signal…

Hardware Architecture · Computer Science 2023-04-24 Rachit Nigam , Pedro Henrique Azevedo De Amorim , Adrian Sampson

Validation is a central activity when developing formal specifications. Similarly to coding, a possible validation technique is to define upfront test cases or scenarios that a future specification should satisfy or not. Unfortunately,…

Software Engineering · Computer Science 2026-02-19 Alcino Cunha , Nuno Macedo

In order to reason about the behaviour of programs described in a programming language, a mathematically rigorous definition of that language is needed. In this paper, we present a machine-checked formalisation of concurrent Core Erlang (a…

Programming Languages · Computer Science 2023-11-20 Péter Bereczky , Dániel Horpácsi , Simon Thompson

Autonomous systems are highly complex and present unique challenges for the application of formal methods. Autonomous systems act without human intervention, and are often embedded in a robotic system, so that they can interact with the…

Logic in Computer Science · Computer Science 2020-12-03 Matt Luckcuck , Marie Farrell

The problem of writing a specification which accurately reflects the intent of the developer has long been recognized as fundamental. We propose a method and a supporting tool to write and check a specification and an implementation using a…

Software Engineering · Computer Science 2013-05-20 Paul C Attie , Fadi A Zaraket , Mohammad Fawaz , Mohammad Noureddine

This book explores an alternative to the current dominant paradigm where a discrete computer model is constructed as an attempt to approximate some continuum theory. We focus on a class of discrete computer models that are based on simple…

Logic in Computer Science · Computer Science 2017-04-14 Garry Pantelis

Formally verified compilers and formally verified static analyzers are a solution to the problem that certain industries face when they have to demonstrate to authorities that the object code they run truly corresponds to its source code…

Logic in Computer Science · Computer Science 2024-07-12 David Monniaux

Code completion is an important feature of integrated development environments (IDEs). It allows developers to produce code faster, especially novice ones who are not fully familiar with APIs and others code. Previous works on code…

Software Engineering · Computer Science 2020-11-03 M. Weyssow , H. Sahraoui , B. Frénay , B. Vanderose

Integrating autonomous and adaptive behavior into software-intensive systems presents significant challenges for software development, as uncertainties in the environment or decision-making processes must be explicitly captured. These…

Programming Languages · Computer Science 2025-12-19 Anastasia Mavridou , Marie Farrell , Gricel Vázquez , Tom Pressburger , Timothy E. Wang , Radu Calinescu , Michael Fisher

The need for rigorous process composition is encountered in many situations pertaining to the development and analysis of complex systems. We discuss the use of Classical Linear Logic (CLL) for correct-by-construction resource-based process…

Programming Languages · Computer Science 2018-12-04 Petros Papapanagiotou , Jacques Fleuriot