English
Related papers

Related papers: Calculational Verification of Reactive Programs wi…

200 papers

Simulation and formal verification are important complementary techniques necessary in high assurance model-based systems development. In order to support coherent results, it is necessary to provide unifying semantics and automation for…

Logic in Computer Science · Computer Science 2021-05-12 Simon Foster , Chung-Kil Hur , Jim Woodcock

Almost all modern imperative programming languages include operations for dynamically manipulating the heap, for example by allocating and deallocating objects, and by updating reference fields. In the presence of recursive procedures and…

Programming Languages · Computer Science 2012-12-18 Jurriaan Rot , Irina Măriuca Asăvoae , Frank de Boer , Marcello M. Bonsangue , Dorel Lucanu

We introduce a formal language for specifying dynamic updates for Software Defined Networks. Our language builds upon Network Kleene Algebra with Tests (NetKAT) and adds constructs for synchronisations and multi-packet behaviour to capture…

Networking and Internet Architecture · Computer Science 2021-05-25 Georgiana Caltais , Hossein Hojjat , Mohammad Mousavi , Hunkar Can Tunc

Reactive languages are dedicated to the programming of systems which interact continuously and concurrently with their environment. Values take the form of unbounded streams modeling the (discrete) passing of time or the sequence of…

Programming Languages · Computer Science 2023-11-29 Dumitru Potop Butucaru , Albert Cohen , Gordon Plotkin , Hugo Pompougnac

Deep reinforcement learning is an increasingly popular technique for synthesising policies to control an agent's interaction with its environment. There is also growing interest in formally verifying that such policies are correct and…

Artificial Intelligence · Computer Science 2022-06-02 Edoardo Bacci , David Parker

Fully functional program verification is an undecidable$\unicode{x2014}$and, hence, inherently difficult$\unicode{x2014}$task, that is not automatically solvable but typically requires user interaction and guidance. Existing verifiers…

Programming Languages · Computer Science 2026-05-11 Wolfram Pfeifer , Mattias Ulbrich , Daniel Drodt

We present simple new Hoare logics and refinement calculi for hybrid systems in the style of differential dynamic logic. (Refinement) Kleene algebra with tests is used for reasoning about the program structure and generating verification…

Logic in Computer Science · Computer Science 2019-10-31 Simon Foster , Jonathan Julián Huerta y Munive , Georg Struth

In previous work, we proposed a logic-based framework in which computation is the execution of actions in an attempt to make reactive rules of the form if antecedent then consequent true in a canonical model of a logic program determined by…

Artificial Intelligence · Computer Science 2020-02-19 Robert Kowalski , Fariba Sadri

Interactive theorem provers have been used extensively to reason about various software/hardware systems and mathematical theorems. The key challenge when using an interactive prover is finding a suitable sequence of proof steps that will…

Logic in Computer Science · Computer Science 2014-05-15 Thomas Gransden , Neil Walkinshaw , Rajeev Raman

Kleene algebra (KA) is an important tool for reasoning about general program equivalences, with a decidable and complete equational theory. However, KA cannot always prove equivalences between specific programs. For this purpose, one adds…

Programming Languages · Computer Science 2026-01-21 Liam Chung , Tobias Kappé

Relational verification of quantum programs has many potential applications in quantum and post-quantum security and other domains. We propose a relational program logic for quantum programs. The interpretation of our logic is based on a…

Logic in Computer Science · Computer Science 2019-12-12 Gilles Barthe , Justin Hsu , Mingsheng Ying , Nengkun Yu , Li Zhou

Verifying whether a procedure is observationally pure is useful in many software engineering scenarios. An observationally pure procedure always returns the same value for the same argument, and thus mimics a mathematical function. The…

Software Engineering · Computer Science 2019-02-15 Himanshu Arora , Raghavan Komondoor , G. Ramalingam

Reactive systems are systems that maintain an ongoing interaction with their environment, activated by receiving input events from the environment and producing output events in response. Modern programming languages designed to program…

Programming Languages · Computer Science 2016-11-15 Riccardo Pucella

In this paper, we compare different existing approaches employed in data mining of big proof libraries in automated and interactive theorem proving.

Software Engineering · Computer Science 2013-03-07 Jónathan Heras , Ekaterina Komendantskaya

The demonstrated code-understanding capability of LLMs raises the question of whether they can be used for automated program verification, a task that demands high-level abstract reasoning about program properties that is challenging for…

Formal Languages and Automata Theory · Computer Science 2024-04-26 Haoze Wu , Clark Barrett , Nina Narodytska

Modern software development without reactive programming is hard to imagine. Reactive programming favors a wide class of contemporary software systems that respond to user input, network messages, and other events. While reactive…

Software Engineering · Computer Science 2017-04-03 Stefan Ramson , Robert Hirschfeld

Training language models to solve complex mathematical problems benefits from curriculum learning progressively training on simpler subproblems. However, existing decomposition methods are often heuristic, offering no guarantees that…

Artificial Intelligence · Computer Science 2026-02-10 Kaleem Ullah Qasim , Jiashu Zhang , Hao Li , Muhammad Kafeel Shaheen

We first propose algorithms for checking language equivalence of finite automata over a large alphabet. We use symbolic automata, where the transition function is compactly represented using a (multi-terminal) binary decision diagrams…

Formal Languages and Automata Theory · Computer Science 2014-07-14 Damien Pous

We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification…

Programming Languages · Computer Science 2020-08-27 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

A reliable technique for deductive program verification should be proven sound with respect to the semantics of the programming language. For each different language, the construction of a separate soundness proof is often a laborious…

Programming Languages · Computer Science 2021-08-05 Ximeng Li , Qianying Zhang , Guohui Wang , Zhiping Shi , Yong Guan