English
Related papers

Related papers: Augmenting Decompiler Output with Learned Variable…

200 papers

Analyzing third-party software such as malware or firmware is a crucial task for security analysts. Although various approaches for automatic analysis exist and are the subject of ongoing research, analysts often have to resort to manual…

Cryptography and Security · Computer Science 2023-06-01 Steffen Enders , Eva-Maria C. Behner , Niklas Bergmann , Mariia Rybalka , Elmar Padilla , Er Xue Hui , Henry Low , Nicholas Sim

The ability to identify authors of computer programs based on their coding style is a direct threat to the privacy and anonymity of programmers. While recent work found that source code can be attributed to authors with high accuracy,…

Cryptography and Security · Computer Science 2017-12-19 Aylin Caliskan , Fabian Yamaguchi , Edwin Dauber , Richard Harang , Konrad Rieck , Rachel Greenstadt , Arvind Narayanan

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

Vulnerability prediction is valuable in identifying security issues efficiently, even though it requires the source code of the target software system, which is a restrictive hypothesis. This paper presents an experimental study to predict…

Cryptography and Security · Computer Science 2025-04-01 D. Cotroneo , F. C. Grasso , R. Natella , V. Orbinato

Developers routinely work with source files whose variable names are generic or misleading, and with teams moving quickly, many functions are left undocumented. This slows comprehension, increases the risk of subtle bugs, and makes it…

Software Engineering · Computer Science 2025-12-02 Muhammad Yousuf , Akshat Bagade , Chhittebbayi Penugonda , Maanas Baraya

Decompilation aims to convert binary code to high-level source code, but traditional tools like Ghidra often produce results that are difficult to read and execute. Motivated by the advancements in Large Language Models (LLMs), we propose…

Programming Languages · Computer Science 2025-08-06 Hanzhuo Tan , Qi Luo , Jing Li , Yuqun Zhang

The problem of reversing the compilation process, decompilation, is an important tool in reverse engineering of computer software. Recently, researchers have proposed using techniques from neural machine translation to automate the process…

Cryptography and Security · Computer Science 2022-12-20 Iman Hosseini , Brendan Dolan-Gavitt

Identifiers, such as method and variable names, form a large portion of source code. Therefore, low-quality identifiers can substantially hinder code comprehension. To support developers in using meaningful identifiers, several…

Software Engineering · Computer Science 2022-12-13 Antonio Mastropaolo , Emad Aghajani , Luca Pascarella , Gabriele Bavota

Vulnerabilities are challenging to locate and repair, especially when source code is unavailable and binary patching is required. Manual methods are time-consuming, require significant expertise, and do not scale to the rate at which new…

Cryptography and Security · Computer Science 2023-06-13 Pemma Reiter , Hui Jun Tay , Westley Weimer , Adam Doupé , Ruoyu Wang , Stephanie Forrest

Large Language Models (LLMs) typically excel at coding tasks involving high-level programming languages, as opposed to lower-level programming languages, such as assembly. We propose a synthetic data generation method named C-ing Clearly,…

Computation and Language · Computer Science 2025-12-17 Teodor Poncu , Ioana Pintilie , Marius Dragoi , Dragos Tantaru , Florin Brad

Decompilation -- recovering source code from compiled binaries -- is essential for security analysis, malware reverse engineering, and legacy software maintenance. However, existing decompilers produce code that often fails to compile or…

Software Engineering · Computer Science 2026-05-05 Yifan Zhang , Xiaohan Wang , Yueke Zhang , Yu Huang , Kevin Leach

Refinement types decorate types with assertions that enable automatic verification. Like assertions, refinements are limited to binders that are in scope, and hence, cannot express higher-order specifications. Ghost variables circumvent…

Programming Languages · Computer Science 2021-05-06 Anish Tondwalkar , Matthew Kolosick , Ranjit Jhala

The binary executable format is the standard method for distributing and executing software. Yet, it is also as opaque a representation of software as can be. If the binary format were augmented with metadata that provides security-relevant…

Cryptography and Security · Computer Science 2026-04-22 Daniel Engel , Freek Verbeek , Pranav Kumar , Binoy Ravindran

Decompilation is widely used in reverse engineering to recover high-level language code from binary executables. While recent approaches leveraging Large Language Models (LLMs) have shown promising progress, they typically treat assembly…

Software Engineering · Computer Science 2025-09-19 Yongpan Wang , Xin Xu , Xiaojie Zhu , Xiaodong Gu , Beijun Shen

Decompilation aims to transform a low-level program language (LPL) (eg., binary file) into its functionally-equivalent high-level program language (HPL) (e.g., C/C++). It is a core technology in software security, especially in…

Machine Learning · Computer Science 2023-01-04 Ying Cao , Ruigang Liang , Kai Chen , Peiwei Hu

Binary code analysis plays a pivotal role in the field of software security and is widely used in tasks such as software maintenance, malware detection, software vulnerability discovery, patch analysis, etc. However, unlike source code,…

Software Engineering · Computer Science 2025-05-01 Xiuwei Shang , Zhenkan Fu , Shaoyin Cheng , Guoqiang Chen , Gangyang Li , Li Hu , Weiming Zhang , Nenghai Yu

The parallel evolution of Large Language Models (LLMs) with advanced code-understanding capabilities and the increasing sophistication of malware presents a new frontier for cybersecurity research. This paper evaluates the efficacy of…

Cryptography and Security · Computer Science 2026-01-15 Aniesh Chawla , Udbhav Prasad

WebAssembly is a low-level bytecode language designed for client-side execution in web browsers. The need for decompilation techniques that recover high-level source code from WASM binaries has grown as WASM continues to gain widespread…

Software Engineering · Computer Science 2024-11-05 Wei-Cheng Wu , Yutian Yan , Hallgrimur David Egilsson , David Park , Steven Chan , Christophe Hauser , Weihang Wang

Since compiler optimization is the most common source contributing to binary code differences in syntax, testing the resilience against the changes caused by different compiler optimization settings has become a standard evaluation step for…

Programming Languages · Computer Science 2021-03-26 Xiaolei Ren , Michael Ho , Jiang Ming , Yu Lei , Li Li

We present here a reverse engineering tool that can be used for information retrieval and anti-malware techniques. Our main contribution is the design and implementation of an instrumentation framework aimed at providing insight on the…

Cryptography and Security · Computer Science 2023-11-08 Paul Irofti