English
Related papers

Related papers: Accurate and Extensible Symbolic Execution of Bina…

200 papers

Binary code clone analysis is an important technique which has a wide range of applications in software engineering (e.g., plagiarism detection, bug detection). The main challenge of the topic lies in the semantics-equivalent code…

Software Engineering · Computer Science 2018-08-21 Yikun Hu , Yuanyuan Zhang , Juanru Li , Hui Wang , Bodong Li , Dawu Gu

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

The constant-time programming discipline (CT) is an efficient countermeasure against timing side-channel attacks, requiring the control flow and the memory accesses to be independent from the secrets. Yet, writing CT code is challenging as…

Cryptography and Security · Computer Science 2020-07-14 Lesly-Ann Daniel , Sébastien Bardin , Tamara Rezk

Verification of modern microprocessors is a complex task that requires a substantial allocation of resources. Despite significant progress in formal verification, the goal of complete verification of an industrial design has not been…

Logic in Computer Science · Computer Science 2019-12-24 Shilpi Goel , Anna Slobodova , Rob Sumners , Sol Swords

WebAssembly (Wasm), as a compact, fast, and isolation-guaranteed binary format, can be compiled from more than 40 high-level programming languages. However, vulnerabilities in Wasm binaries could lead to sensitive data leakage and even…

Cryptography and Security · Computer Science 2024-08-19 Ningyu He , Zhehao Zhao , Hanqin Guan , Jikai Wang , Shuo Peng , Ding Li , Haoyu Wang , Xiangqun Chen , Yao Guo

Correctness for microprocessors is generally understood to be conformance with the associated instruction set architecture (ISA). This is the basis for one of the most important abstractions in computer science, allowing hardware designers…

Cryptography and Security · Computer Science 2025-06-23 Andrew T. Walter , Konstantinos Athanasiou , Panagiotis Manolios

The security development lifecycle (SDL) is becoming an industry standard. Dynamic symbolic execution (DSE) has enormous amount of applications in computer security (fuzzing, vulnerability discovery, reverse-engineering, etc.). We propose…

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

In this work, we propose an automated method to identify semantic bugs in student programs, called ATAS, which builds upon the recent advances in both symbolic execution and active learning. Symbolic execution is a program analysis…

Software Engineering · Computer Science 2018-04-17 Ishan Rastogi , Aditya Kanade , Shirish Shevade

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

Gradual verification, which supports explicitly partial specifications and verifies them with a combination of static and dynamic checks, makes verification more incremental and provides earlier feedback to developers. While an abstract,…

Programming Languages · Computer Science 2023-11-14 Conrad Zimmerman , Jenna DiVincenzo , Jonathan Aldrich

In recent years, compositional symbolic execution (CSE) tools have been growing in prominence and are becoming more and more applicable to real-world codebases. Still to this day, however, debugging the output of these tools remains…

Programming Languages · Computer Science 2026-02-10 Nat Karmios , Sacha-Élie Ayoun , Philippa Gardner

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

Optimizing compilers have become a cornerstone for high-performance program generation in research and industry. Optimizations, including those implemented manually by a user and those target-specific and non-target-specific, are used to…

Programming Languages · Computer Science 2026-05-05 Emily Tucker , Louis-Noël Pouchet , Erika Hunhoff , Stephen Neuendorffer , Erwei Wang

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…

Binary code analysis has immense importance in the research domain of software security. Today, software is very often compiled for various Instruction Set Architectures (ISAs). As a result, cross-architecture binary code analysis has…

Software Engineering · Computer Science 2024-05-01 Iftakhar Ahmad , Lannan Luo

This paper presents IsaBIL, a binary analysis framework in Isabelle/HOL that is based on the widely used Binary Analysis Platform (BAP). Specifically, in IsaBIL, we formalise BAP's intermediate language, called BIL and integrate it with…

Programming Languages · Computer Science 2025-04-24 Matt Griffin , Brijesh Dongol , Azalea Raad

Symbolic execution is a powerful technique for analyzing the behavior of software yet scalability remains a challenge due to state explosion in control and data flow. Existing tools typically aim at managing control flow internally, often…

Programming Languages · Computer Science 2025-07-15 Anna Bolotina , Christoph M. Kirsch , Stefanie Muroya Lei , Matthias Pleschinger

Binary code similarity detection is to detect the similarity of code at binary (assembly) level without source code. Existing works have their limitations when dealing with mutated binary code generated by different compiling options. In…

Cryptography and Security · Computer Science 2023-08-08 Zian Liu

Static and dynamic binary analysis techniques are actively used to reverse engineer software's behavior and to detect its vulnerabilities, even when only the binary code is available for analysis. To avoid analysis errors due to misreading…

Cryptography and Security · Computer Science 2021-08-24 Sami Kairajärvi , Andrei Costin , Timo Hämäläinen