English
Related papers

Related papers: Profile-Guided, Multi-Version Binary Rewriting

200 papers

Binary rewriting is a rapidly-maturing technique for modifying software for instrumentation, customization, optimization, and hardening without access to source code. Unfortunately, the practical applications of binary rewriting tools are…

Software Engineering · Computer Science 2022-09-09 Eric Schulte , Michael D. Brown , Vlad Folts

A function inlining optimization is a widely used transformation in modern compilers, which replaces a call site with the callee's body in need. While this transformation improves performance, it significantly impacts static features such…

Cryptography and Security · Computer Science 2025-12-17 Omar Abusabha , Jiyong Uhm , Tamer Abuhmed , Hyungjoon Koo

Profile guided optimization is an effective technique for improving the optimization ability of compilers based on dynamic behavior, but collecting profile data is expensive, cumbersome, and requires regular updating to remain fresh. We…

Programming Languages · Computer Science 2022-01-05 Nadav Rotem , Chris Cummins

Basic block reordering is an important step for profile-guided binary optimization. The state-of-the-art goal for basic block reordering is to maximize the number of fall-through branches. However, we demonstrate that such orderings may…

Programming Languages · Computer Science 2020-04-14 Andy Newell , Sergey Pupyrev

Modern compilers leverage block coverage profile data to carry out downstream profile-guided optimizations to improve the runtime performance and the size of a binary. Given a control-flow graph $G=(V, E)$ of a function in the binary, where…

Data Structures and Algorithms · Computer Science 2022-08-31 Li Chen , Ellis Hoag , Kyungwoo Lee , Julian Mestre , Sergey Pupyrev

Profile-Guided Optimization (PGO) is an excellent means to improve the performance of a compiled program. Indeed, the execution path data it provides helps the compiler to generate better code and better cacheline packing. At the time of…

Programming Languages · Computer Science 2014-11-25 Baptiste Wicht , Roberto A. Vitillo , Dehao Chen , David Levinthal

Profile-guided optimizations rely on profile data for directing compilers to generate optimized code. To achieve the maximum performance boost, profile data needs to be collected on the same version of the binary that is being optimized. In…

Programming Languages · Computer Science 2024-01-31 Amir Ayupov , Maksim Panchenko , Sergey Pupyrev

Profile Guided Optimization (PGO) uses runtime profiling to direct compiler optimization decisions, effectively combining static analysis with actual execution behavior to enhance performance. Runtime profiles, collected through…

Performance · Computer Science 2025-07-23 Bingxin Liu , Yinghui Huang , Jianhua Gao , Jianjun Shi , Yongpeng Liu , Yipin Sun , Weixing Ji

Mutation analysis is an effective technique to evaluate a test suite adequacy in terms of revealing unforeseen bugs in software. Traditional source- or IR-level mutation analysis is not applicable to the software only available in binary…

Software Engineering · Computer Science 2021-02-16 Mohsen Ahmadi , Pantea Kiaei , Navid Emamdoost

Binary analysis is a core component of many critical security tasks, including reverse engineering, malware analysis, and vulnerability detection. Manual analysis is often time-consuming, but identifying commonly-used or previously-seen…

Machine Learning · Computer Science 2024-10-31 Rebecca Saul , Chang Liu , Noah Fleischmann , Richard Zak , Kristopher Micinski , Edward Raff , James Holt

This paper proposes ReBNet, an end-to-end framework for training reconfigurable binary neural networks on software and developing efficient accelerators for execution on FPGA. Binary neural networks offer an intriguing opportunity for…

Machine Learning · Computer Science 2018-03-29 Mohammad Ghasemzadeh , Mohammad Samragh , Farinaz Koushanfar

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

Zipr is a tool for static binary rewriting, first published in 2016. Zipr was engineered to support arbitrary program modification with an emphasis on low overhead, robustness, and flexibility to perform security enhancements and…

Cryptography and Security · Computer Science 2023-12-04 Jason D. Hiser , Anh Nguyen-Tuong , Jack W. Davidson

Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a common and useful technique that helps programmers detect incorrect program behaviors. This is specially true in dynamic languages such as…

Programming Languages · Computer Science 2018-04-09 Maximiliano Klemen , Nataliia Stulova , Pedro Lopez-Garcia , José F. Morales , Manuel V. Hermenegildo

We present and formalize a general approach for profiling workload by leveraging only a priori available static metadata to supply appropriate resource needs. Understanding the requirements and characteristics of a workload's runtime is…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-30 Andrea Morichetta , Stefan Nastic , Victor Casamayor Pujol , Schahram Dustdar

Binary rewriting is a widely adopted technique in software analysis. WebAssembly (Wasm), as an emerging bytecode format, has attracted great attention from our community. Unfortunately, there is no general-purpose binary rewriting framework…

Software Engineering · Computer Science 2023-05-03 Shangtong Cao , Ningyu He , Yao Guo , Haoyu Wang

We propose an online auto-tuning approach for computing kernels. Differently from existing online auto-tuners, which regenerate code with long compilation chains from the source to the binary code, our approach consists on deploying…

Performance · Computer Science 2017-07-17 Fernando Endo , Damien Couroussé , Henri-Pierre Charles

Dynamic program analysis is invaluable for malware detection, debugging, and performance profiling. However, software-based instrumentation incurs high overhead and can be evaded by anti-analysis techniques. In this paper, we propose…

Cryptography and Security · Computer Science 2025-10-21 Changyu Zhao , Yohan Beugin , Jean-Charles Noirot Ferrand , Quinn Burke , Guancheng Li , Patrick McDaniel

System call filtering is widely used to secure programs in multi-tenant environments, and to sandbox applications in modern desktop software deployment and package management systems. Filtering rules are hard to write and maintain manually,…

Cryptography and Security · Computer Science 2024-10-24 Gaspard Thévenon , Kevin Nguetchouang , Kahina Lazri , Alain Tchana , Pierre Olivier

Most of hardware-assisted solutions for software security, program monitoring, and event-checking approaches require instrumentation of the target software, an operation which can be performed using an SBI (Static Binary Instrumentation) or…

Cryptography and Security · Computer Science 2018-12-06 Muhammad Abdul Wahab , Pascal Cotret , Mounir Nasr Allah , Guillaume Hiet , Arnab Kumar Biswas , Vianney Lapôtre , Guy Gogniat
‹ Prev 1 2 3 10 Next ›