UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Adonis: Practical and Efficient Control Flow Recovery through OS-Level Traces

Liu, Xuanzhe; Yang, Chengxu; Li, Ding; Zhou, Yuhan; Li, Shaofei; Chen, Jiali; Chen, Zhenpeng; (2023) Adonis: Practical and Efficient Control Flow Recovery through OS-Level Traces. ACM Transactions on Software Engineering and Methodology (In press). Green open access

[thumbnail of ASPLOS22_SysPath.pdf]
Preview
Text
ASPLOS22_SysPath.pdf - Accepted Version

Download (1MB) | Preview

Abstract

Control flow recovery is critical to promise the software quality, especially for large-scale software in production environment. However, the efficiency of most current control flow recovery techniques is compromised due to their runtime overheads along with deployment and development costs. To tackle this problem, we propose a novel solution, Adonis, which harnesses OS-level traces, such as dynamic library calls and system call traces, to efficiently and safely recover control flows in practice. Adonis operates in two steps: it first identifies the call-sites of trace entries, then it executes a pair-wise symbolic execution to recover valid execution paths. This technique has several advantages. First, Adonis does not require the insertion of any probes into existing applications, thereby minimizing runtime cost. Second, given that OS-level traces are hardware-independent, Adonis can be implemented across various hardware configurations without the need for hardware-specific engineering efforts, thus reducing deployment cost. Third, as Adonis is fully automated and does not depend on manually created logs, it circumvents additional development cost. We conducted an evaluation of Adonis on representative desktop applications and real-world IoT applications. Adonis can faithfully recover the control flow with 86.8% recall and 81.7% precision. Compared to the state-of-the-art log-based approach, Adonis can not only cover all the execution paths recovered, but also recover 74.9% of statements that cannot be covered. In addition, the runtime cost of Adonis is 18.3× lower than the instrument-based approach; the analysis time and storage cost (indicative of the deployment cost) of Adonis is 50× smaller and 443× smaller than the hardware-based approach, respectively. To facilitate future replication and extension of this work, we have made the code and data publicly available.

Type: Article
Title: Adonis: Practical and Efficient Control Flow Recovery through OS-Level Traces
Open access status: An open access version is available from UCL Discovery
Publisher version: https://dl.acm.org/
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: Control Flow Recovery, OS-level Traces, Reverse Engineering
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10170891
Downloads since deposit
101Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item