English
Related papers

Related papers: B-Side: Binary-Level Static System Call Identifica…

200 papers

Formally verified compilers and formally verified static analyzers are a solution to the problem that certain industries face when they have to demonstrate to authorities that the object code they run truly corresponds to its source code…

Logic in Computer Science · Computer Science 2024-07-12 David Monniaux

Static analysis is an essential component of many modern software development tools. Unfortunately, the ever-increasing complexity of static analyzers makes their coding error-prone. Even analysis tools based on rigorous mathematical…

Software Engineering · Computer Science 2025-05-08 Daniela Ferreiro , Ignacio Casso , Jose F. Morales , Pedro López-García , Manuel V. Hermenegildo

Static analysis is an important approach for finding bugs and vulnerabilities in software. However, inspecting and confirming static warnings are challenging and time-consuming. In this paper, we present a novel solution that automatically…

Software Engineering · Computer Science 2021-06-30 Ashwin Kallingal Joshy , Xueyuan Chen , Benjamin Steenhoek , Wei Le

Side-channel attacks, which are capable of breaking secrecy via side-channel information, pose a growing threat to the implementation of cryptographic algorithms. Masking is an effective countermeasure against side-channel attacks by…

Cryptography and Security · Computer Science 2020-06-17 Pengfei Gao , Hongyi Xie , Fu Song , Taolue Chen

We propose a deep learning approach for identifying malware families using the function call graphs of x86 assembly instructions. Though prior work on static call graph analysis exists, very little involves the application of modern,…

Cryptography and Security · Computer Science 2020-12-04 Thomas Dalton , Mauritius Schmidtler , Alireza Hadj Khodabakhshi

Reversible debuggers have been developed at least since 1970. Such a feature is useful when the cause of a bug is close in time to the bug manifestation. When the cause is far back in time, one resorts to setting appropriate breakpoints in…

Software Engineering · Computer Science 2012-12-21 Kapil Arya , Tyler Denniston , Ana-Maria Visan , Gene Cooperman

Program debloating aims to remove unused code to reduce performance overhead, attack surfaces, and maintenance costs. Over time, debloating has evolved across multiple layers (container, library, and application), each building on the…

Software Engineering · Computer Science 2026-04-22 Muhammad Bilal , Moiz Ali , Mohit Kumar , Fareed Zaffar , Fahad Shaon , Ashish Gehani , Sazzadur Rahaman

Early identification of security issues in software development is vital to minimize their unanticipated impacts. Code review is a widely used manual analysis method that aims to uncover security issues along with other coding issues in…

Software Engineering · Computer Science 2024-07-18 Wachiraphan Charoenwet , Patanamon Thongtanunam , Van-Thuan Pham , Christoph Treude

Malware authors are continuously evolving their code base to include counter-analysis methods that can significantly hinder their detection and blocking. While the execution of malware in a sandboxed environment may provide a lot of…

Cryptography and Security · Computer Science 2022-04-11 Vasilis Vouvoutsis , Fran Casino , Constantinos Patsakis

Context: Specification mining techniques are typically used to extract the specification of a software in the absence of (up-to-date) specification documents. This is useful for program comprehension, testing, and anomaly detection.…

Software Engineering · Computer Science 2019-05-09 Mohammad Jafar Mashhadi , Taha R. Siddiqui , Hadi Hemmati , Howard Loewen

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

We present DIO, a generic tool for observing inefficient and erroneous I/O interactions between applications and in-kernel storage systems that lead to performance, dependability, and correctness issues. DIO facilitates the analysis and…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-04-19 Tânia Esteves , Ricardo Macedo , Rui Oliveira , João Paulo

We describe a novel approach to monitoring high level behaviors using concepts from AI planning. Our goal is to understand what a program is doing based on its system call trace. This ability is particularly important for detecting malware.…

Artificial Intelligence · Computer Science 2017-09-12 Alexandre Cukier , Ronen I. Brafman , Yotam Perkal , David Tolpin

The large body of existing research in Test Case Prioritization (TCP) techniques, can be broadly classified into two categories: dynamic techniques (that rely on run-time execution information) and static techniques (that operate directly…

Software Engineering · Computer Science 2018-01-19 Qi Luo , Kevin Moran , Denys Poshyvanyk

In the domain of large-scale software development, the demands for dynamic and multifaceted static code analysis exceed the capabilities of traditional tools. To bridge this gap, we present CodeFuse-Query, a system that redefines static…

Binary function similarity detection plays an important role in a wide range of security applications. Existing works usually assume that the query function and target function share equal semantics and compare their full semantics to…

Software Engineering · Computer Science 2024-01-12 Ang Jia , Ming Fan , Xi Xu , Wuxia Jin , Haijun Wang , Ting Liu

We show that abstract interpretation-based static program analysis can be made efficient and precise enough to formally verify a class of properties for a family of large programs with few or no false alarms. This is achieved by refinement…

Programming Languages · Computer Science 2016-08-14 Bruno Blanchet , Patrick Cousot , Radhia Cousot , Jerôme Feret , Laurent Mauborgne , Antoine Miné , David Monniaux , Xavier Rival

Extended Berkeley Packet Filter (BPF) has emerged as a powerful method to extend packet-processing functionality in the Linux operating system. BPF allows users to write code in high-level languages (like C or Rust) and execute them at…

Networking and Internet Architecture · Computer Science 2021-07-16 Qiongwen Xu , Michael D. Wong , Tanvi Wagle , Srinivas Narayana , Anirudh Sivaraman

Code localization constitutes a key bottleneck in automated software development pipelines. While concurrent tool execution can enhance discovery speed, current agents demonstrate a 34.9\% redundant invocation rate, which negates…

Artificial Intelligence · Computer Science 2026-01-28 Ke Xu , Siyang Xiao , Ming Liang , Yichen Yu , Zhixiang Wang , Jingxuan Xu , Dajun Chen , Wei Jiang , Yong Li

To detect security vulnerabilities, static analysis tools need to be configured with security-relevant methods. Current approaches can automatically identify such methods using binary relevance machine learning approaches. However, they…

Machine Learning · Computer Science 2024-03-13 Oshando Johnson , Goran Piskachev , Ranjith Krishnamurthy , Eric Bodden