English
Related papers

Related papers: Verifying a Sparse Matrix Algorithm Using Symbolic…

200 papers

An effective way to maximize code coverage in software tests is through dynamic symbolic execution$-$a technique that uses constraint solving to systematically explore a program's state space. We introduce an open-source dynamic symbolic…

Software Engineering · Computer Science 2019-11-19 Mark Mossberg , Felipe Manzano , Eric Hennenfent , Alex Groce , Gustavo Grieco , Josselin Feist , Trent Brunson , Artem Dinaburg

Symbolic execution is a key technology in software testing, which generates test cases by collecting symbolic path constraints and then solving constraints with SMT solvers. Symbolic execution has been proven helpful in generating…

Software Engineering · Computer Science 2024-09-17 Wenhan Wang , Kaibo Liu , An Ran Chen , Ge Li , Zhi Jin , Gang Huang , Lei Ma

Many important hyperproperties, such as refinement and generalized non-interference, fall into the class of $\forall\exists$ hyperproperties and require, for each execution trace of a system, the existence of another trace relating to the…

Programming Languages · Computer Science 2025-01-15 Arthur Correnson , Tobias Niessen , Bernd Finkbeiner , Georg Weissenbacher

Behavioral software contracts are a widely used mechanism for governing the flow of values between components. However, run-time monitoring and enforcement of contracts imposes significant overhead and delays discovery of faulty components…

Programming Languages · Computer Science 2014-06-17 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

Numerical and symbolic methods for optimization are used extensively in engineering, industry, and finance. Various methods are used to reduce problems of interest to ones that are amenable to solution by such software. We develop a…

Logic in Computer Science · Computer Science 2023-02-23 Alexander Bentkamp , Ramon Fernández Mir , Jeremy Avigad

Many interesting and useful symbolic computation algorithms manipulate mathematical expressions in mathematically meaningful ways. Although these algorithms are commonplace in computer algebra systems, they can be surprisingly difficult to…

Logic in Computer Science · Computer Science 2019-05-07 Jacques Carette , William M. Farmer

Formal verification of complex algorithms is challenging. Verifying their implementations goes beyond the state of the art of current automatic verification tools and usually involves intricate mathematical theorems. Certifying algorithms…

Logic in Computer Science · Computer Science 2013-02-01 Eyad Alkassar , Sascha Böhme , Kurt Mehlhorn , Christine Rizkallah

Dynamic symbolic execution (DSE) is an effective method for automated program testing and bug detection. It is increasing the code coverage by the complex branches exploration during hybrid fuzzing. DSE tools invert the branches along some…

Cryptography and Security · Computer Science 2022-12-27 Darya Parygina , Alexey Vishnyakov , Andrey Fedotov

The automated generation of exercises may substantially reduce the time educators devote to manual exercise design. A major obstacle to the integration of such automation into teaching practice, however, lies in the ability to control the…

Logic in Computer Science · Computer Science 2026-03-10 João Mendes , João Marcos , Patrick Terrematte

The steadily increasing size of scientific Monte Carlo simulations and the desire for robust, correct, and reproducible results necessitates rigorous testing procedures for scientific simulations in order to detect numerical problems and…

Computational Physics · Physics 2018-01-08 Markus Wallerberger , Emanuel Gull

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

We present a method of automatically synthesizing steps to solve search problems. Given a specification of a search problem, our approach uses symbolic execution to analyze the specification in order to extract a set of constraints which…

Logic in Computer Science · Computer Science 2020-09-24 Mara Downing , Abtin Molavi , Lucas Bang

Software testing is one of the most popular validation techniques in the software industry. Surprisingly, we can only find a few approaches to testing in the context of logic programming. In this paper, we introduce a systematic approach…

Programming Languages · Computer Science 2020-02-19 Fred Mesnard , Étienne Payet , Germán Vidal

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

Many types of formal verification establish properties about abstract high-level program representations, leaving a large gap to programs at runtime. Although gaps can sometimes be narrowed by techniques such as refinement, a verified…

Logic in Computer Science · Computer Science 2025-03-19 Karl Palmskog , Andreas Lindner , Scott Constable , Roberto Guanciale , Hamed Nemati

This short note proposes a symbolic approach for representing and reasoning about quantum circuits using complex, vector or matrix-valued Boolean expressions. A major benefit of this approach is that it allows us to directly borrow the…

Quantum Physics · Physics 2020-10-08 Mingsheng Ying , Zhengfeng Ji

Symbolic execution helps check programs by exploring different paths based on symbolic inputs. Tools like KLEE are commonly used because they can automatically detect bugs and create test cases. But one of KLEE's biggest issues is how slow…

Software Engineering · Computer Science 2025-11-12 Rong Feng , Vanisha Gupta , Vivek Patel , Viroopaksh Reddy Ernampati , Suman Saha

Processes to automate the selection of appropriate algorithms for various matrix computations are described. In particular, processes to check for, and certify, various matrix properties of black box matrices are presented. These include…

Numerical Analysis · Computer Science 2016-11-01 Wayne Eberly

Symbolic execution uses various algorithms (matching, (anti)unification), whose executions are parameters for proof object generation. This paper proposes a generic method for generating proof objects for such parameters. We present in…

Logic in Computer Science · Computer Science 2022-09-22 Andrei Arusoaie , Dorel Lucanu

Many real-world applications are increasingly incorporating automated decision-making, driven by the widespread adoption of ML/AI inference for planning and guidance. This study examines the growing need for verifiable computing in…

Artificial Intelligence · Computer Science 2025-03-25 Michele Dallachiesa , Antonio Pitasi , David Pinger , Josh Goodbody , Luis Vaello