利用1-DU链最小性改进程序消臃肿
软件工程
2024-02-02 v1
摘要
现代软件经常受到臃肿的困扰,导致内存消耗增加以及因未使用代码引发的安全漏洞。为此,人们开发了各种程序消臃肿技术,这些技术通常利用代表用户希望保留功能的测试用例。这些方法涵盖了从激进方法(优先考虑最大程度地缩减代码,但可能对测试用例过拟合并可能重新引入过去的安全问题)到保守策略(旨在保留所有受影响的代码,但往往以消臃肿效果不佳和安全改进有限为代价)。在本研究中,我们提出了RLDebloatDU,一种在抽象语法树中采用1-DU链最小性的创新消臃肿技术。我们的方法维持了基本的程序数据依赖,在激进缩减代码与保留程序语义之间取得了平衡。我们在十个Linux内核程序上评估了RLDebloatDU,并将其性能与两种领先的消臃肿技术进行了比较:以激进消臃肿方法著称的Chisel,以及以保守策略闻名的Razor。与这两者相比,RLDebloatDU显著降低了常见漏洞和暴露(CVE)的发生率并提高了健全性,突显了其在减少安全问题且不重新引入已解决安全问题方面的有效性。
引用
@article{arxiv.2402.00276,
title = {Improving Program Debloating with 1-DU Chain Minimality},
author = {Myeongsoo Kim and Santosh Pande and Alessandro Orso},
journal= {arXiv preprint arXiv:2402.00276},
year = {2024}
}
备注
To be published in the 46th IEEE/ACM International Conference on Software Engineering: Companion Proceedings(ICSE-Companion 2024)