English
Related papers

Related papers: Automatic Verification of Iterated Separating Conj…

200 papers

Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This…

Formal Languages and Automata Theory · Computer Science 2015-06-09 Anca Muscholl

Commutativity of program code (i.e. the equivalence of two code fragments composed in alternate orders) is of ongoing interest in many settings such as program verification, scalable concurrency, and security analysis. While some have…

Programming Languages · Computer Science 2024-11-27 Jared Pincus , Eric Koskinen

Heap-manipulating programs are known to be challenging to reason about. We present a novel verifier for heap-manipulating programs called S2TD, which encodes programs systematically in the form of Constrained Horn Clauses (CHC) using a…

Programming Languages · Computer Science 2022-09-21 Quang Loc Le , Jun Sun , Long H. Pham , Shengchao Qin

Information about the memory locations accessed by a program is, for instance, required for program parallelisation and program verification. Existing inference techniques for this information provide only partial solutions for the…

Programming Languages · Computer Science 2018-04-12 Jérôme Dohrau , Alexander J. Summers , Caterina Urban , Severin Münger , Peter Müller

Keypoint detection underpins many vision tasks, including pose estimation, viewpoint recovery, and 3D reconstruction, yet modern neural models remain vulnerable to small input perturbations. Despite its importance, formal robustness…

Computer Vision and Pattern Recognition · Computer Science 2026-03-09 Xusheng Luo , Changliu Liu

It has been recently proposed that testing based on symbolic execution can be used in conjunction with static deadlock analysis to define a deadlock detection framework that: (i) can show deadlock presence, in that case a concrete test-case…

Programming Languages · Computer Science 2017-09-14 Elvira Albert , Miguel Gómez-Zamalloa , Miguel Isabel

Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics…

Programming Languages · Computer Science 2021-08-16 Felix A. Wolf , Malte Schwerhoff , Peter Müller

Concolic testing is a test generation technique which works effectively by integrating random testing generation and symbolic execution. Existing concolic testing engines focus on numeric programs. Heap-manipulating programs make extensive…

Programming Languages · Computer Science 2019-07-15 Long H. Pham , Quang Loc Le , Quoc-Sang Phan , Jun Sun

We introduce a novel copy-protection method for industrial control software. With our method, a program executes correctly only on its target hardware and behaves differently on other machines. The hardware-software binding is based on…

Cryptography and Security · Computer Science 2026-03-12 Daniel Dorfmeister , Flavio Ferrarotti , Bernhard Fischer , Evelyn Haslinger , Rudolf Ramler , Markus Zimmermann

Pointer arithmetic is widely used in low-level programs, e.g. memory allocators. The specification of such programs usually requires using pointer arithmetic inside inductive definitions to define the common data structures, e.g. heap lists…

Logic in Computer Science · Computer Science 2024-03-05 Wanyun Su , Zhilin Wu , Mihaela Sighireanu

Symbolic execution is a classical program analysis technique used to show that programs satisfy or violate given specifications. In this work we generalize symbolic execution to support program analysis for relational specifications in the…

Programming Languages · Computer Science 2019-08-05 Gian Pietro Farina , Stephen Chong , Marco Gaboardi

Separation logics are widely used for verifying programs that manipulate complex heap-based data structures. These logics build on so-called separation algebras, which allow expressing properties of heap regions such that modifications to a…

Logic in Computer Science · Computer Science 2019-11-21 Siddharth Krishna , Alexander J. Summers , Thomas Wies

Dynamically typed languages, like Erlang, allow developers to quickly write programs without explicitly providing any type information on expressions or function definitions. However, this feature makes those languages less reliable than…

Programming Languages · Computer Science 2018-09-14 Emanuele De Angelis , Fabio Fioravanti , Adrián Palacios , Alberto Pettorossi , Maurizio Proietti

Information flow security ensures that the secret data manipulated by a program does not influence its observable output. Proving information flow security is especially challenging for concurrent programs, where operations on secret data…

Cryptography and Security · Computer Science 2023-04-12 Marco Eilers , Thibault Dardinier , Peter Müller

Verification of concurrent data structures is one of the most challenging tasks in software verification. The topic has received considerable attention over the course of the last decade. Nevertheless, human-driven techniques remain…

Programming Languages · Computer Science 2018-11-12 Roland Meyer , Sebastian Wolff

Verification is a key bottleneck in improving inference speed while maintaining distribution fidelity in Speculative Decoding. Recent work has shown that sequence-level verification leads to a higher number of accepted tokens compared to…

Artificial Intelligence · Computer Science 2026-03-03 Yuxuan Zhou , Fei Huang , Heng Li , Fengyi Wu , Tianyu Wang , Jianwei Zhang , Junyang Lin , Zhi-Qi Cheng

We study the uniform verification problem for infinite state processes, which consists of proving that the parallel composition of an arbitrary number of processes satisfies a temporal property. Our practical motivation is to build a…

Logic in Computer Science · Computer Science 2014-01-10 Alejandro Sánchez , César Sánchez

Symbolic execution is a powerful technique for bug finding and program testing. It is successful in finding bugs in real-world code. The core reasoning techniques use constraint solving, path exploration, and search, which are also the same…

Software Engineering · Computer Science 2020-07-20 Sahil Verma , Roland H. C. Yap

In so-called constraint-based testing, symbolic execution is a common technique used as a part of the process to generate test data for imperative programs. Databases are ubiquitous in software and testing of programs manipulating databases…

Software Engineering · Computer Science 2015-01-26 Michaël Marcozzi , Wim Vanhoof , Jean-Luc Hainaut

Symbolic execution now becomes an indispensable technique for software testing and program analysis. There are several symbolic execution tools available off-the-shelf, and we need a practical benchmark approach to learn their capabilities.…

Software Engineering · Computer Science 2018-05-28 Hui Xu , Zirui Zhao , Yangfan Zhou , Michael R. Lyu
‹ Prev 1 3 4 5 6 7 10 Next ›