English
Related papers

Related papers: Sound Gradual Verification with Symbolic Execution

200 papers

A comprehensive verification of parallel software imposes three crucial requirements on the procedure that implements it. Apart from accepting real code as program input and temporal formulae as specification input, the verification should…

Software Engineering · Computer Science 2013-04-01 Jiri Barnat , Petr Bauch

Composition technologies improve reuse in the development of large-scale complex systems. Safety critical systems require intensive validation and verification activities. These activities should be compositional in order to reduce the…

Software Engineering · Computer Science 2014-04-04 Mounira Kezadri Hamiaz , Marc Pantel , Benoît Combemale , Xavier Thirioux

We present the design, implementation, and foundation of a verifier for higher-order functional programs with generics and recursive data types. Our system supports proving safety and termination using preconditions, postconditions and…

Logic in Computer Science · Computer Science 2020-03-25 Jad Hamza , Nicolas Voirol , Viktor Kunčak

Nowadays, smart contracts have become increasingly popular and, as with software development in general, testing is the standard method for verifying their correctness. However, smart contracts require a higher level of certainty regarding…

Software Engineering · Computer Science 2023-07-06 Alexandre Mota , Fei Yang , Cristiano Teixeira

Xavier Leroy and Sandrine Blazy in 2007 conducted a formal verification, using the Coq proof assistant, of a memory model for low-level imperative languages such as C. Considering their formalization was performed essentially in first-order…

Logic in Computer Science · Computer Science 2022-12-06 Pedro Barroso , Mário Pereira , António Ravara

In this paper, we present a method of verification of collaborative workflow processes based on model checking techniques. In particular, we propose to verify soundness properties of these processes using SPIN model checker. First we…

Software Engineering · Computer Science 2013-06-20 Zohra Sbaï , Kamel Barkaoui

We describe a method for building composable and extensible verification procedures within the Coq proof assistant. Unlike traditional methods that rely on run-time generation and checking of proofs, we use verified-correct procedures with…

Programming Languages · Computer Science 2013-05-29 Gregory Malecha , Adam Chlipala , Thomas Braibant , Patrick Hulin , Edward Z. Yang

We present Dyve, a dynamic process verifier that enhances reasoning error detection in large language models by integrating fast and slow thinking, inspired by Kahneman's Systems Theory. Dyve adaptively applies immediate token-level…

Artificial Intelligence · Computer Science 2025-02-18 Jianyuan Zhong , Zeju Li , Zhijian Xu , Xiangyu Wen , Qiang Xu

Description Logics (DLs) are a family of languages used for the representation and reasoning on the knowledge of an application domain, in a structured and formal manner. In order to achieve this objective, several provers, such as RACER…

Logic in Computer Science · Computer Science 2013-08-01 Mohamed Chaabani , Mohamed Mezghiche , Martin Strecker

Writing correct programs for weak memory models such as the C11 memory model is challenging because of the weak consistency guarantees these models provide. The first program logics for the verification of such programs have recently been…

Programming Languages · Computer Science 2018-02-20 Alexander J. Summers , Peter Müller

The validation of requirements is a fundamental step in the development process of safety-critical systems. In safety critical applications such as aerospace, avionics and railways, the use of formal methods is of paramount importance both…

Software Engineering · Computer Science 2012-06-28 Alessandro Cimatti , Marco Roveri , Angelo Susi , Stefano Tonetta

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

``Vibe coding'' -- the practice of developing software through iteratively conversing with a large language model (LLM) -- has exploded in popularity within the last year. However, developers report key limitations including the…

Software Engineering · Computer Science 2025-11-04 Jacqueline Mitchell , Yasser Shaaban

Symbolic execution is a successful and very popular technique used in software verification and testing. A key limitation of symbolic execution is in dealing with code containing loops. The problem is that even a single loop can generate a…

Programming Languages · Computer Science 2011-07-08 Jan Obdrzalek , Marek Trtik

Recently virtual platforms and virtual prototyping techniques have been widely applied for accelerating software development in electronics companies. It has been proved that these techniques can greatly shorten time-to-market and improve…

Software Engineering · Computer Science 2016-01-25 Bin Lin , Dejun Qian

We build a SAT solver implementing the DPLL algorithm in the verification-enabled programming language Dafny. The resulting solver is fully verified (soundness, completeness and termination are computer checked). We benchmark our Dafny…

Logic in Computer Science · Computer Science 2020-07-22 Cezar-Constantin Andrici , Ştefan Ciobâcă

Context: The complexity of modern safety-critical systems in industries keep on increasing due to the rising number of features and functionalities. This calls for formal methods in order to entrust confidence in such systems. Nevertheless,…

Software Engineering · Computer Science 2021-08-17 Arut Prakash Kaleeswaran , Arne Nordmann , Thomas Vogel , Lars Grunske

Neural certificates have emerged as a powerful tool in cyber-physical systems control, providing witnesses of correctness. These certificates, such as barrier functions, often learned alongside control policies, once verified, serve as…

Symbolic Computation · Computer Science 2025-07-17 Thomas A. Henzinger , Konstantin Kueffner , Emily Yu

In previous work, summarized in this paper, we proposed an operation of parallel composition for rewriting-logic theories, allowing compositional specification of systems and reusability of components. The present paper focuses on…

Logic in Computer Science · Computer Science 2023-08-01 Óscar Martín , Alberto Verdejo , Narciso Martí-Oliet

Formal verification has emerged as a powerful approach to ensure the safety and reliability of deep neural networks. However, current verification tools are limited to only a handful of properties that can be expressed as first-order…

Artificial Intelligence · Computer Science 2022-03-03 Xuan Xie , Kristian Kersting , Daniel Neider