English
Related papers

Related papers: STRIDE: Simple Type Recognition In Decompiled Exec…

200 papers

The decompiler is one of the most common tools for examining binaries without corresponding source code. It transforms binaries into high-level code, reversing the compilation process. Decompilers can reconstruct much of the information…

Software Engineering · Computer Science 2019-10-04 Jeremy Lacomis , Pengcheng Yin , Edward J. Schwartz , Miltiadis Allamanis , Claire Le Goues , Graham Neubig , Bogdan Vasilescu

A common tool used by security professionals for reverse-engineering binaries found in the wild is the decompiler. A decompiler attempts to reverse compilation, transforming a binary to a higher-level language such as C. High-level…

Software Engineering · Computer Science 2021-08-17 Qibin Chen , Jeremy Lacomis , Edward J. Schwartz , Claire Le Goues , Graham Neubig , Bogdan Vasilescu

In software reverse engineering, decompilation is the process of recovering source code from binary files. Decompilers are used when it is necessary to understand or analyze software for which the source code is not available. Although…

Software Engineering · Computer Science 2021-02-25 Javier Escalada , Ted Scully , Francisco Ortin

The recovery of types from stripped binaries is a key to exact decompilation, yet its practical realization suffers. For composite structures in particular, both layout and semantic fidelity are required to enable end-to-end reconstruction.…

Cryptography and Security · Computer Science 2026-05-27 Lukas Seidel , Sam Thomas , Konrad Rieck

Decompilation aims to recover the source code form of a binary executable. It has many security applications, such as malware analysis, vulnerability detection, and code hardening. A prominent challenge in decompilation is to recover…

Software Engineering · Computer Science 2024-12-10 Xiangzhe Xu , Zhuo Zhang , Zian Su , Ziyang Huang , Shiwei Feng , Yapeng Ye , Nan Jiang , Danning Xie , Siyuan Cheng , Lin Tan , Xiangyu Zhang

Compiled binary executables are often the only available artifact in reverse engineering, malware analysis, and software systems maintenance. Unfortunately, the lack of semantic information like variable types makes comprehending binaries…

Machine Learning · Computer Science 2023-04-11 Kevin Cao , Kevin Leach

Decompilation is a well-studied area with numerous high-quality tools available. These are frequently used for security tasks and to port legacy code. However, they regularly generate difficult-to-read programs and require a large amount of…

Programming Languages · Computer Science 2024-02-16 Jordi Armengol-Estapé , Jackson Woodruff , Chris Cummins , Michael F. P. O'Boyle

Discrete biological sequence optimization requires iterative refinement under strict syntactic constraints. Diffusion models offer progressive refinement but do not naturally expose controllable discrete edit operations, while…

Computational Engineering, Finance, and Science · Computer Science 2026-03-05 Daiheng Zhang , Shiyang Zhang , Sizhuang He , Yangtian Zhang , Syed Asad Rizvi , David van Dijk

Decompilation is the procedure of transforming binary programs into a high-level representation, such as source code, for human analysts to examine. While modern decompilers can reconstruct and recover much information that is discarded…

Machine Learning · Computer Science 2021-03-25 Pratyay Banerjee , Kuntal Kumar Pal , Fish Wang , Chitta Baral

To avoid costly security patching after software deployment, security-by-design techniques (e.g., STRIDE threat analysis) are adopted in organizations to root out security issues before the system is ever implemented. Despite the global gap…

Cryptography and Security · Computer Science 2022-08-03 Winnie Mbaka , Katja Tuma

Most existing pre-trained language models for source code focus on learning the static code text, typically augmented with static code structures (abstract syntax tree, dependency graphs, etc.). However, program semantics will not be fully…

Software Engineering · Computer Science 2023-06-14 Yangruibo Ding , Ben Steenhoek , Kexin Pei , Gail Kaiser , Wei Le , Baishakhi Ray

Tries are popular data structures for storing a set of strings, where common prefixes are represented by common root-to-node paths. Over fifty years of usage have produced many variants and implementations to overcome some of their…

Data Structures and Algorithms · Computer Science 2011-12-06 Roberto Grossi , Giuseppe Ottaviano

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

Programming Languages · Computer Science 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen

For many compiled languages, source-level types are erased very early in the compilation process. As a result, further compiler passes may convert type-safe source into type-unsafe machine code. Type-unsafe idioms in the original source and…

Programming Languages · Computer Science 2016-03-22 Matthew Noonan , Alexey Loginov , David Cok

We address the problem of reverse engineering of stripped executables, which contain no debug information. This is a challenging problem because of the low amount of syntactic information available in stripped executables, and the diverse…

Machine Learning · Computer Science 2020-12-01 Yaniv David , Uri Alon , Eran Yahav

Dynamic Programming Languages are quite popular because they increase the programmer's productivity. However, the absence of types in the source code makes the program written in these languages difficult to understand and virtual machines…

Programming Languages · Computer Science 2019-01-17 Abhinav Jangda , Gaurav Anand

Reconstructing high-dimensional spatiotemporal fields from sparse point-sensor measurements is a central challenge in learning parametric PDE dynamics. Existing approaches often struggle to generalize across trajectories and parameter…

Machine Learning · Computer Science 2026-02-05 Yanjie Tong , Peng Chen

Trace slicing is a widely used technique for execution trace analysis that is effectively used in program debugging, analysis and comprehension. In this paper, we present a backward trace slicing technique that can be used for the analysis…

Logic in Computer Science · Computer Science 2011-06-07 María Alpuente , Demis Ballis , Javier Espert , Daniel Romero

To efficiently execute dynamically typed languages, many language implementations have adopted a two-tier architecture. The first tier aims for low-latency startup times and collects dynamic profiles, such as the dynamic types of variables.…

Programming Languages · Computer Science 2020-10-07 Olivier Flückiger , Andreas Wälchli , Sebastián Krynski , Jan Vitek

We address the problem of automatic decompilation, converting a program in low-level representation back to a higher-level human-readable programming language. The problem of decompilation is extremely important for security researchers.…

Programming Languages · Computer Science 2019-05-22 Omer Katz , Yuval Olshaker , Yoav Goldberg , Eran Yahav
‹ Prev 1 2 3 10 Next ›