DynaCut: A Framework for Dynamic and Adaptive Program Customization

dc.contributor.authorMahurkar, Abhijiten
dc.contributor.authorWang, Xiaoguangen
dc.contributor.authorZhang, Hangen
dc.contributor.authorRavindran, Binoyen
dc.date.accessioned2023-12-04T18:14:21Zen
dc.date.available2023-12-04T18:14:21Zen
dc.date.issued2023-11-27en
dc.date.updated2023-12-01T08:51:54Zen
dc.description.abstractSoftware is becoming increasingly complex and feature-rich, yet only part of any given codebase is frequently used. Existing software customization and debloating approaches target static binaries, focusing on feature discovery, control-flow analysis, and binary rewriting. As a result, the customized program binary has a smaller attack surface as well as less available functionality. This means that once a software’s use scenario changes, the customized binary may not be usable. This paper presents DynaCut, for dynamic software code customization. DynaCut can disable “not being used” code features during software runtime and re-enable them when required again. DynaCut works at the binary level; no source code is needed. To achieve its goal, DynaCut includes a dynamic process rewriting technique that seamlessly and transparently updates the image of a running process, with specific code features blocked or re-enabled. To help identify potentially unused code, DynaCut employs an execution trace-based differential analysis to pinpoint the code related to specific software features, which can be dynamically turned on/off based on user configuration. We also develop automatic methods to locate code that is only temporally used (e.g., initialization code), which can be dropped in a timely manner (e.g., after the initialization phase). We prototype DynaCut and evaluate it using 3 widely used server applications and the SPECint2017_speed benchmark suite. The result shows that, compared to existing static binary customization approaches, DynaCut removes an additional 10% of code on average and up to 56% of temporally executed code due to the dynamic code customization.en
dc.description.versionPublished versionen
dc.format.mimetypeapplication/pdfen
dc.identifier.doihttps://doi.org/10.1145/3590140.3629121en
dc.identifier.urihttps://hdl.handle.net/10919/116729en
dc.language.isoenen
dc.publisherACMen
dc.rightsIn Copyrighten
dc.rights.holderThe author(s)en
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.titleDynaCut: A Framework for Dynamic and Adaptive Program Customizationen
dc.typeArticle - Refereeden
dc.type.dcmitypeTexten

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3590140.3629121.pdf
Size:
2.92 MB
Format:
Adobe Portable Document Format
Description:
Published version
License bundle
Now showing 1 - 1 of 1
Name:
license.txt
Size:
1.5 KB
Format:
Item-specific license agreed upon to submission
Description: