面向软件过程控制的序贯模型优化
软件工程
2020-02-18 v2
摘要
已有许多方法被提出用于估算构建和维护软件所需的工作量。其中大量研究假设了一种“经典”的基于瀑布模型的方法,而非当代项目(其开发过程本质上可能更具迭代性而非线性)。此外,许多工作试图推荐单一方法——这种做法做出了一个可疑的假设,即一种方法能够处理软件项目数据的多样性。为解决这些缺陷,我们应用了一种称为“ROME”(Rapid Optimizing Methods for Estimation,快速估算优化方法)的配置技术,它使用基于序贯模型的优化(SMO)来寻找对特定数据集最有效的估算技术组合。我们使用来自 1161 个经典瀑布项目和 120 个当代项目(来自 Github)的数据测试了该方法。在相对误差幅度和标准化准确度方面,我们发现 ROME 在经典和当代问题上均取得了优于现有最先进方法的性能。此外,我们得出结论:不应推荐单一的估算方法。相反,更好地做法是在广泛的不同方法中搜索以找到对局部数据最有效者。据我们所知,这是迄今为止规模最大的工作量估算实验,也是唯一在经典与当代项目上测试其方法的实验。
引用
@article{arxiv.1912.04189,
title = {Sequential Model Optimization for Software Process Control},
author = {Tianpei Xia and Rui Shu and Xipeng Shen and Tim Menzies},
journal= {arXiv preprint arXiv:1912.04189},
year = {2020}
}