中文

slash:一种静态配置逻辑识别技术

软件工程 2023-11-21 v2 编程语言

摘要

研究人员近来设计了用于软件瘦身和配置错误检测的工具。其中若干工具依赖于这样一个观察:程序由初始化阶段和主计算阶段组成。这些工具的用户需要手动标注分隔这两个阶段的边界,这是一项耗时且易出错的任务(通常用户必须阅读并理解源代码或用调试器追踪执行)。由于错误会损害工具的准确性和功能,手动标注的要求阻碍了这些工具的大规模应用。在本文中,我们对 24 个广泛使用的 C/C++ 程序进行了田野研究,在其中的 96% 里识别出常见的边界属性。随后我们引入了 slash,一种基于所识别属性自动定位边界的工具。slash 在 8.5 分钟内、最多使用 4.4 GB 内存的情况下,成功识别了所研究程序中 87.5% 的边界。在 slash 开发完成后进行的一项独立测试中,slash 在由 21 个流行 C/C++ GitHub 仓库组成的数据集中识别出了 85.7% 的边界。最后,我们展示了 slash 在简化软件瘦身和错误检测工具边界识别流程方面的潜力。

关键词

引用

@article{arxiv.2310.06758,
  title  = {slash: A Technique for Static Configuration-Logic Identification},
  author = {Mohannad Alhanahnah and Philipp Schubert and Thomas Reps and Somesh Jha and Eric Bodden},
  journal= {arXiv preprint arXiv:2310.06758},
  year   = {2023}
}