English
Related papers

Related papers: Cuv\'ee: Blending SMT-LIB with Programs and Weakes…

200 papers

There is increasing interest in applying verification tools to programs that have bitvector operations. SMT solvers, which serve as a foundation for these tools, have thus increased support for bitvector reasoning through bit-blasting and…

Programming Languages · Computer Science 2021-11-05 Yuandong Cyrus Liu , Ton-Chanh Le , Eric Koskinen

There is increasing interest in applying verification tools to programs that have bitvector operations (eg., binaries). SMT solvers, which serve as a foundation for these tools, have thus increased support for bitvector reasoning through…

Programming Languages · Computer Science 2021-08-31 Yuandong Cyrus Liu , Chengbin Pang , Daniel Dietsch , Eric Koskinen , Ton-Chanh Le , Georgios Portokalidis , Jun Xu

The software development process for embedded systems is getting faster and faster, which generally incurs an increase in the associated complexity. As a consequence, consumer electronics companies usually invest a lot of resources in fast…

Logic in Computer Science · Computer Science 2015-09-08 Felipe R. M. Sousa , Lucas C. Cordeiro , Eddie B. de Lima Filho

This paper presents a quantitative program verification infrastructure for discrete probabilistic programs. Our infrastructure can be viewed as the probabilistic analogue of Boogie: its central components are an intermediate verification…

Programming Languages · Computer Science 2023-11-16 Philipp Schröer , Kevin Batz , Benjamin Lucien Kaminski , Joost-Pieter Katoen , Christoph Matheja

Symbolic Execution is a formal method that can be used to verify the behavior of computer programs and detect software vulnerabilities. Compared to other testing methods such as fuzzing, Symbolic Execution has the advantage of providing…

Cryptography and Security · Computer Science 2025-09-29 Christopher Scherb , Luc Bryan Heitz , Hermann Grieder , Olivier Mattmann

Formal verification provides strong guarantees of correctness of software, which are especially important in safety or security critical systems. Hoare logic is a widely used formalism for rigorous verification of software against…

Programming Languages · Computer Science 2021-03-11 Jayaraj Poroor

Static analysis, the process of examining code without executing it, is crucial for identifying software issues. Yet, static analysis is hampered by its complexity and the need for customization for different targets. Traditional static…

Software Engineering · Computer Science 2023-12-15 Yu Hao , Weiteng Chen , Ziqiao Zhou , Weidong Cui

Code agents and empirical software engineering rely on public code datasets, yet these datasets lack verifiable quality guarantees. Static 'dataset cards' inform, but they are neither auditable nor do they offer statistical guarantees,…

Software Engineering · Computer Science 2025-10-03 Fatou Ndiaye Mbodji , El-hacen Diallo , Jordan Samhi , Kui Liu , Jacques Klein , Tegawendé F. Bissyande

We define QSE, a symbolic execution framework for quantum programs by integrating symbolic variables into quantum states and the outcomes of quantum measurements. The soundness of QSE is established through a theorem that ensures the…

Quantum Physics · Physics 2024-04-30 Wang Fang , Mingsheng Ying

In this work we develop a fully automatic verification procedure of safety properties of Scade programs. We transform each such program into an SMT instance (Satisfiability Modulo Theories) and feed this to a solver. The goal is to have a…

Logic in Computer Science · Computer Science 2014-03-13 Henning Basold

Quantum Intermediate Representation (QIR) is a Microsoft-developed, LLVM-based intermediate representation for quantum program compilers. QIR aims to provide a general solution for quantum program compilers independent of front-end…

Quantum Physics · Physics 2023-03-28 Junjie Luo , Jianjun Zhao

Programming assistants have reshaped the experience of programming into one where programmers spend less time writing and more time critically examining code. In this paper, we explore how programming assistants can be extended to…

Human-Computer Interaction · Computer Science 2024-03-06 Litao Yan , Alyssa Hwang , Zhiyuan Wu , Andrew Head

Program reductions are used widely to simplify reasoning about the correctness of concurrent and distributed programs. In this paper, we propose a general approach to proof simplification of concurrent programs based on exploring generic…

Programming Languages · Computer Science 2019-11-01 Azadeh Farzan , Anthony Vandikas

State of the art analyzers in the Logic Programming (LP) paradigm are nowadays mature and sophisticated. They allow inferring a wide variety of global properties including termination, bounds on resource consumption, etc. The aim of this…

Programming Languages · Computer Science 2010-11-22 Elvira Albert , Miguel Gómez-Zamalloa , Laurent Hubert , German Puebla

In this paper, we present a Hoare-style logic for reasoning about quantum programs with classical variables. Our approach offers several improvements over previous work: (1) Enhanced expressivity of the programming language: Our logic…

Programming Languages · Computer Science 2026-04-21 Mingsheng Ying

Probabilistic programming provides a convenient lingua franca for writing succinct and rigorous descriptions of probabilistic models and inference tasks. Several probabilistic programming languages, including Anglican, Church or Hakaru,…

Logic in Computer Science · Computer Science 2020-02-26 Tetsuya Sato , Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Justin Hsu

Program verification is vital for ensuring software reliability, especially in the context of increasingly complex systems. Loop invariants, remaining true before and after each iteration of loops, are crucial for this verification process.…

Programming Languages · Computer Science 2024-06-10 Chang Liu , Xiwei Wu , Yuan Feng , Qinxiang Cao , Junchi Yan

We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with…

Programming Languages · Computer Science 2017-08-31 Alexei P. Lisitsa , Andrei P. Nemytykh

Program verification tools are often implemented as front-end translations of an input program into an intermediate verification language (IVL) such as Boogie, GIL, Viper, or Why3. The resulting IVL program is then verified using an…

Programming Languages · Computer Science 2024-12-23 Thibault Dardinier , Michael Sammler , Gaurav Parthasarathy , Alexander J. Summers , Peter Müller

Building scalable vision-language models to learn from diverse, multimodal data remains an open challenge. In this paper, we introduce an Efficient Vision-languagE foundation model, namely EVE, which is one unified multimodal Transformer…

Computer Vision and Pattern Recognition · Computer Science 2024-03-04 Junyi Chen , Longteng Guo , Jia Sun , Shuai Shao , Zehuan Yuan , Liang Lin , Dongyu Zhang