English
Related papers

Related papers: Debloating Software through Piece-Wise Compilation…

200 papers

Testing is the primary approach for detecting software defects. A major challenge faced by testers lies in crafting efficient test suites, able to detect a maximum number of bugs with manageable effort. To do so, they rely on coverage…

Software Engineering · Computer Science 2018-02-07 Michaël Marcozzi , Sébastien Bardin , Nikolai Kosmatov , Mike Papadakis , Virgile Prevosto , Loïc Correnson

In this paper, we present a software compilation approach for microprocessor/FPGA platforms that partitions a software binary onto custom hardware implemented in the FPGA. Our approach imposes less restrictions on software tool flow than…

Software Engineering · Computer Science 2011-11-09 Greg Stitt , Frank Vahid

Researchers have recently devised tools for debloating software and detecting configuration errors. Several of these tools rely on the observation that programs are composed of an initialization phase followed by a main-computation phase.…

Software Engineering · Computer Science 2023-11-21 Mohannad Alhanahnah , Philipp Schubert , Thomas Reps , Somesh Jha , Eric Bodden

Debugging consumes a substantial portion of the software development lifecycle, yet the effectiveness of Large Language Models(LLMs) in this task is not well understood. Competitive programming offers a rich benchmark for such evaluation,…

Software Engineering · Computer Science 2026-03-23 Nabiha Parvez , Tanvin Sarkar Pallab , Mia Mohammad Imran , Tarannum Shaila Zaman

Despite much recent interest in compiler randomized testing (fuzzing), the practical impact of fuzzer-found compiler bugs on real-world applications has barely been assessed. We present the first quantitative and qualitative study of the…

Software Engineering · Computer Science 2019-09-06 Michaël Marcozzi , Qiyi Tang , Alastair F. Donaldson , Cristian Cadar

Hardware accelerators such as Graphics Processing Units (GPUs), Intel Xeon Phi co-processors (PHIs), and Field-Programmable Gate Arrays (FPGAs) are now ubiquitous in extreme-scale high performance computing (HPC), cloud, and Big data…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-08-16 Daniel Hanlon , Hamidreza Khalighzadeh , Ravi Reddy Manumachu , Alexey Lastovetsky

Researchers have developed numerous debugging approaches to help programmers in the debugging process, but these approaches are rarely used in practice. In this paper, we investigate how programmers debug their code and what researchers…

Software Engineering · Computer Science 2021-03-24 Thomas Hirsch , Birgit Hofer

To reduce the source of potential exploits, binary debloating or specialization tools are used to remove unnecessary code from binaries. This paper presents a new binary debloating and specialization tool, LeanBin, that harnesses lifting…

Software Engineering · Computer Science 2024-09-17 Igor Wodiany , Antoniu Pop , Mikel Luján

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

Assembly code search is vital for reducing the burden on reverse engineers, allowing them to quickly identify specific functions using natural language within vast binary programs. Despite its significance, this critical task is impeded by…

Software Engineering · Computer Science 2024-08-14 Zeyu Gao , Hao Wang , Yuanda Wang , Chao Zhang

Automated debugging, long pursued in a variety of fields from software engineering to cybersecurity, requires a framework that offers the building blocks for a programmable debugging workflow. However, existing debuggers are primarily…

Software Engineering · Computer Science 2025-06-06 Gabriele Digregorio , Roberto Alessandro Bertolini , Francesco Panebianco , Mario Polino

Compilers play a foundational role in building reliable software systems, and bugs within them can lead to catastrophic consequences. The compilation process typically involves hundreds of files, making traditional automated bug isolation…

Software Engineering · Computer Science 2025-06-24 Yixian Qi , Jiajun Jiang , Fengjie Li , Bowen Chen , Hongyu Zhang , Junjie Chen

Disassembly is a challenging task, particularly for obfuscated executables containing junk bytes, which is designed to induce disassembly errors. Existing solutions rely on heuristics or leverage machine learning techniques, but only…

Cryptography and Security · Computer Science 2024-07-15 Huanyao Rong , Yue Duan , Hang Zhang , XiaoFeng Wang , Hongbo Chen , Shengchen Duan , Shen Wang

We present a comparison of several modern C++ libraries providing high-level interfaces for programming multi- and many-core architectures on top of CUDA or OpenCL. The comparison focuses on the solution of ordinary differential equations…

Mathematical Software · Computer Science 2017-10-13 Denis Demidov , Karsten Ahnert , Karl Rupp , Peter Gottschling

Code-reuse attacks have become a kind of common attack method, in which attackers use the existing code in the program to hijack the control flow. Most existing defenses focus on control flow integrity (CFI), code randomization, and…

Cryptography and Security · Computer Science 2023-03-23 Xiaoqi Song , Wenjie Lv , Haipeng Qu , Lingyun Ying

Today's Android developers tend to include numerous features to accommodate diverse user requirements, which inevitably leads to bloated apps. Yet more often than not, only a fraction of these features are frequently utilized by users, thus…

Cryptography and Security · Computer Science 2025-01-10 Zicheng Zhang , Jiakun Liu , Ferdian Thung , Haoyu Ma , Rui Li , Yan Naing Tun , Wei Minn , Lwin Khin Shar , Shahar Maoz , Eran Toch , David Lo , Joshua Wong , Debin Gao

Programs written in C/C++ can suffer from serious memory fragmentation, leading to low utilization of memory, degraded performance, and application failure due to memory exhaustion. This paper introduces Mesh, a plug-in replacement for…

Programming Languages · Computer Science 2020-04-30 Bobby Powers , David Tench , Emery D. Berger , Andrew McGregor

Compilers are complex, and significant effort has been expended on testing them. Techniques such as random program generation and differential testing have proved highly effective and have uncovered thousands of bugs in production…

Software Engineering · Computer Science 2025-01-03 Davide Italiano , Chris Cummins

Software debloating seeks to mitigate security risks and improve performance by eliminating unnecessary code. In recent years, a plethora of debloating tools have been developed, creating a dense and varied landscape. Several studies have…

Software Engineering · Computer Science 2024-07-17 Mohannad Alhanahnah , Yazan Boshmaf , Ashish Gehani

OpenCL is an open standard for parallel programming of heterogeneous compute devices, such as GPUs, CPUs, DSPs or FPGAs. However, the verbosity of its C host API can hinder application development. In this paper we present cf4ocl, a…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-16 Nuno Fachada , Vitor V. Lopes , Rui C. Martins , Agostinho C. Rosa