vix.ing · top · new · best · stats · spec

slash: A Technique for Static Configuration-Logic Identification

2023/10/10 by Mohannad Alhanahnah, Philipp Schubert, Alhanahnah, Mohannad +7 · 1 citation
Computer Science · #FOS: Computer and information sciences #Programming Languages (cs.PL) #Security and Verification in Computing #Software Engineering (cs.SE) #Software Engineering Research #Software System Performance and Reliability

paper · pdf · doi:10.48550/arxiv.2310.06758

openalex publication_date 2023/10/10 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

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. Users of these tools are required to manually annotate the boundary that separates these phases, a task that can be time-consuming and error-prone (typically, the user has to read and understand the source code or trace executions with a debugger). Because errors can impair the tool's accuracy and functionality, the manual-annotation requirement hinders the ability to apply the tools on a large scale. In this paper, we present a field study of 24 widely-used C/C++ programs, identifying common boundary properties in 96% of them. We then introduce slash, an automated tool that locates the boundary based on the identified properties. slash successfully identifies the boundary in 87.5% of the studied programs within 8.5 minutes, using up to 4.4 GB memory. In an independent test, carried out after slash was developed, slash identified the boundary in 85.7% of a dataset of 21 popular C/C++ GitHub repositories. Finally, we demonstrate slash's potential to streamline the boundary-identification process of software-debloating and error-detection tools.

Cited by

Related