Skip to main content
QUICK REVIEW

[论文解读] The Distribution of Program Sizes and Its Implications: An Eclipse Case Study

Hongyu Zhang, Hee Beng Kuan Tan|ArXiv.org|May 14, 2009
Software Engineering Research参考文献 18被引用 5
一句话总结

本研究分析了Eclipse开源生态系统,发现程序规模服从对数正态分布,而按规模排序后,各程序的缺陷数量则服从威布尔分布。研究结果可提升对大型Java系统的规模估计精度,并揭示出少数大型程序对缺陷的贡献远超其规模比例,凸显规模分布是软件质量预测的关键因素。

ABSTRACT

A large software system is often composed of many inter-related programs of different sizes. Using the public Eclipse dataset, we replicate our previous study on the distribution of program sizes. Our results confirm that the program sizes follow the lognormal distribution. We also investigate the implications of the program size distribution on size estimation and quality predication. We find that the nature of size distribution can be used to estimate the size of a large Java system. We also find that a small percentage of largest programs account for a large percentage of defects, and the number of defects across programs follows the Weibull distribution when the programs are ranked by their sizes. Our results show that the distribution of program sizes is an important property for understanding large and complex software systems.

研究动机与目标

  • 调查大型软件系统中程序规模的统计分布特征,以Eclipse平台为案例研究。
  • 研究程序规模分布对软件质量预测与缺陷分布的影响。
  • 验证对数正态分布与威布尔分布对现实世界软件系统的适用性。
  • 探讨规模分布对软件工程实践(如工作量估计与缺陷预测)的影响。
  • 提供实证证据,支持在大规模软件开发中采用基于规模的模型。

提出的方法

  • 作者分析公开的Eclipse软件数据集,提取各程序的规模(如代码行数)。
  • 应用统计拟合技术,检验程序规模是否符合对数正态分布。
  • 按规模对程序进行排序,并分析缺陷数量以评估分布模式,检验威布尔分布的适用性。
  • 利用Eclipse发布版本的实证数据,验证规模估计与缺陷预测模型。
  • 采用统计假设检验与拟合优度度量(如Kolmogorov-Smirnov检验)确认分布假设。
  • 分析包括概率图的视觉检查与分布拟合的定量比较。

实验结果

研究问题

  • RQ1大型软件系统(如Eclipse)中的程序规模是否服从对数正态分布?
  • RQ2当程序按规模排序时,缺陷分布与程序规模有何关系?
  • RQ3能否利用程序规模的对数正态分布来估计大型Java系统的规模?
  • RQ4少数大型程序在缺陷总量中所占比例是否显著偏高?
  • RQ5当程序按规模排序时,缺陷数量是否适合用威布尔分布进行建模?

主要发现

  • Eclipse生态系统中程序规模服从对数正态分布,基于更大且更丰富的数据集,验证了早期研究结果。
  • 极少数最大规模的程序贡献了绝大多数缺陷,表明缺陷在大型组件中高度集中。
  • 按规模排序后,各程序的缺陷数量服从威布尔分布,表明缺陷增长呈非线性模式。
  • 对数正态规模分布可提升对大型Java系统规模估计的准确性,支持软件工程中的预测建模。
  • 本研究表明,规模分布是理解缺陷动态与系统复杂性的关键因素。
  • 研究结果表明,聚焦于大型程序可显著提升缺陷预测精度与软件维护中的资源分配效率。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。