中文

软件产品线的快速静态分析——一个包含超过 42,000 个度量的实例

软件工程 2021-10-13 v1

摘要

背景:软件度量作为静态分析的一种形式,是软件工程中常用于理解软件系统状态的方法,特别是识别易于缺陷的潜在区域。基于家族的技术从软件产品线(SPLs)的代码工件中提取变异性信息,以对所有可用变体执行静态分析。文献中已定义了许多不同类型及大量变体的度量。当计入包括此类变体在内的所有度量时,轻易便可定义数千个度量。对大型产品线计算所有这些度量可能在性能与资源消耗方面极其昂贵。目标:我们在支持可定制度量套件的同时解决这些性能与资源挑战,该套件允许运行单系统及变异性感知的代码度量。方法:本文中,我们引入一种部分解析方法,用于高效测量超过 42,000 个代码度量变体。该方法涵盖变异性信息,并将解析限制于抽象语法树(AST)的相关部分。结论:该部分解析方法旨在涵盖所有相关信息,以计算包含基于注解的变异性(例如由 C 预处理器语句实现)的代码工件上的广泛变异性感知代码度量。它允许灵活组合单系统与变异性感知度量,这是现有工具不支持的。这通过一种新颖的局部解析产品线代码工件表示实现,该表示专为度量计算而定制。我们的方法消耗显著更少的资源,尤其在并行计算许多度量变体时。

关键词

引用

@article{arxiv.2110.05888,
  title  = {Fast Static Analyses of Software Product Lines -- An Example With More Than 42,000 Metrics},
  author = {Sascha El-Sharkawy and Adam Krafczyk and Klaus Schmid},
  journal= {arXiv preprint arXiv:2110.05888},
  year   = {2021}
}