一句话:提出 DomGad,通过面向子域生成与随机优化,实现兼顾代码缩减和通用性的去膨胀。
程序日益复杂且常含大量不需要的特性,会降低性能与安全性。现有去膨胀技术通常依赖一组输入作为使用画像来生成缩减程序,但容易过拟合到这些输入,对其他输入无法正确工作。作者提出 DomGad:它面向子域而非具体输入生成缩减程序,保证缩减程序在相应子域内可用;并利用随机优化,在代码缩减与通用性(缩减程序在整个域上正确处理输入的程度)之间取得接近最优的权衡。作者在 10 个 Unix 工具程序上评估,平均实现 50% 代码缩减和 95% 通用性,且优于两种最先进的去膨胀方法。
Programs are becoming increasingly complex and typically contain an abundance of unneeded features, which can degrade the performance and security of the software. Recently, we have witnessed a surge of debloating techniques that aim to create a reduced version of a program by eliminating the unneeded features therein. To debloat a program, most existing techniques require a usage profile of the program, typically provided as a set of inputs I. Unfortunately, these techniques tend to generate a reduced program that is over-fitted to I and thus fails to behave correctly for other inputs. To address this limitation, we propose DomGad, which has two main advantages over existing debloating approaches. First, it produces a reduced program that is guaranteed to work for subdomains, rather than for specific inputs. Second, it uses stochastic optimization to generate reduced programs that achieve a close-to-optimal tradeoff between reduction and generality (i.e., the extent to which the reduced program is able to correctly handle inputs in its whole domain). To assess the effectiveness of DomGad, we applied our approach to a benchmark of ten Unix utility programs. Our results are promising, as they show that DomGad could produce debloated programs that achieve, on average, 50% code reduction and 95% generality. Our results also show that DomGad performs well when compared with two state-of-the-art debloating approaches.
DOI 原文 ·
@inproceedings{paperbot5995,
title = {Subdomain-based generality-aware debloating},
author = {Qi Xin and Myeongsoo Kim and Qirun Zhang and Alessandro Orso},
booktitle = {ASE},
year = {2020},
doi = {10.1145/3324884.3416644}
}