English
Related papers

Related papers: Gillian Debugging: Swinging Through the (Compositi…

200 papers

We present Gillian, a language-independent framework for the development of compositional symbolic analysis tools. Gillian supports three flavours of analysis: whole-program symbolic testing, full verification, and bi-abduction. It comes…

Programming Languages · Computer Science 2020-01-16 José Fragoso Santos , Petar Maksimović , Sacha-Élie Ayoun , Philippa Gardner

Multiple successful compositional symbolic execution (CSE) tools and platforms exploit separation logic (SL) for compositional verification and/or incorrectness separation logic (ISL) for compositional bug-finding, including VeriFast,…

Programming Languages · Computer Science 2025-08-28 Andreas Lööw , Seung Hoon Park , Daniele Nantes-Sobrinho , Sacha-Élie Ayoun , Opale Sjöstedt , Philippa Gardner

The introduction of separation logic has led to the development of symbolic execution techniques and tools that are (functionally) compositional with function specifications that can be used in broader calling contexts. Many of the…

In this thesis, we introduce the idea of combining symbolic execution with dynamic analysis for reverse engineering. Differently from DSE, we devise an approach where the reverse engineer can use a debugger to drive and inspect a concrete…

Cryptography and Security · Computer Science 2020-07-01 Andrea Fioraldi

Symbolic execution is a program analysis technique executing programs with symbolic instead of concrete inputs. This principle allows for exploring many program paths at once. Despite its wide adoption -- in particular for program testing…

Programming Languages · Computer Science 2023-10-13 Arthur Correnson , Dominic Steinhoefel

This is an evolving document describing the meta-theory, the implementation, and the instantiations of Gillian, a multi-language symbolic analysis platform.

Programming Languages · Computer Science 2021-07-13 Petar Maksimović , José Fragoso Santos , Sacha-Élie Ayoun , Philippa Gardner

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

Debugging is an essential part of software maintenance and evolution since it allows software developers to analyze program execution step by step. Understanding a program is required to fix potential flaws, alleviate bottlenecks, and…

Software Engineering · Computer Science 2024-04-22 Tim Kräuter , Harald König , Adrian Rutle , Yngve Lamo

Static analysis is the analysis of a program without executing it, usually carried out by an automated tool. Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software. It works…

Software Engineering · Computer Science 2024-08-06 Gabor Horvath , Reka Kovacs , Zoltan Porkolab

In recent years, programming has witnessed a shift towards using standard libraries as a black box. However, there has not been a synchronous development of tools that can help demonstrate the working of such libraries in general programs,…

Computers and Society · Computer Science 2021-01-29 Aman Bansal , Preey Shah , Sahil Shah

Many security and software testing applications require checking whether certain properties of a program hold for any possible usage scenario. For instance, a tool for identifying software vulnerabilities may need to rule out the existence…

Software Engineering · Computer Science 2018-05-03 Roberto Baldoni , Emilio Coppa , Daniele Cono D'Elia , Camil Demetrescu , Irene Finocchi

We present Sequence Salience, a visual tool for interactive prompt debugging with input salience methods. Sequence Salience builds on widely used salience methods for text classification and single-token prediction, and extends this to a…

Computation and Language · Computer Science 2024-04-12 Ian Tenney , Ryan Mullins , Bin Du , Shree Pandya , Minsuk Kahng , Lucas Dixon

We propose a conceptual integration of deductive program verification into existing user interfaces for software debugging. This integration is well-represented in the "Debug Adapter Protocol", a widely-used and generic technology to…

Logic in Computer Science · Computer Science 2021-08-09 Gidon Ernst , Johannes Blau , Toby Murray

Visualization tools for supervised learning allow users to interpret, introspect, and gain an intuition for the successes and failures of their models. While reinforcement learning practitioners ask many of the same questions, existing…

Machine Learning · Computer Science 2020-08-20 Shuby Deshpande , Benjamin Eysenbach , Jeff Schneider

Symbolic execution is an SMT-based software verification and testing technique. Symbolic execution requires tracking performed computations during software simulation to reason about branches in the software under test. The prevailing…

Software Engineering · Computer Science 2025-05-27 Sören Tempel , Tobias Brandt , Christoph Lüth , Christian Dietrich , Rolf Drechsler

We present a framework for symbolically executing and model checking higher-order programs with external (open) methods. We focus on the client-library paradigm and in particular we aim to check libraries with respect to any definable…

Programming Languages · Computer Science 2020-02-24 Yu-Yang Lin , Nikos Tzevelekos

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

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

Symbolic execution has shown its ability to find security-relevant flaws in software, but faces significant scalability challenges. There is a commonly held belief that manual intervention by an expert can help alleviate these limiting…

Software Engineering · Computer Science 2018-05-10 John Galea , Sean Heelan , Daniel Neville , Daniel Kroening

We introduce a novel technique for finding real errors in programs. The technique is based on a synergy of three well-known methods: metacompilation, slicing, and symbolic execution. More precisely, we instrument a given program with a code…

Programming Languages · Computer Science 2012-01-24 Jiří Slabý , Jan Strejček , Marek Trtík
‹ Prev 1 2 3 10 Next ›