Skip to main content
QUICK REVIEW

[论文解读] A New Complete Class Complexity Metric

Vinay Singh, Vandana Bhattacherjee|arXiv (Cornell University)|Mar 22, 2014
Software Engineering Research参考文献 14被引用 4
一句话总结

本文提出了CCC(完整类复杂度)这一新的类级别软件复杂度度量方法,将继承、耦合和方法复杂度等多重结构与设计因素整合为一个统一的、经过分析验证的度量标准。通过Weyuker的公理体系评估,CCC展现出完整性与一致性,为软件维护和设计质量评估中的包级与系统级复杂度分析提供了坚实基础。

ABSTRACT

Software complexity metrics is essential for minimizing the cost of software maintenance. Package level and System level complexity cannot be measured without class level complexity. This research addresses the class complexity metrics. This paper studies the existing class complexity metrics and proposes a new class complexity metric CCC (Complete class complexity metric). The CCC metric is then analytically evaluated by Weyuker's property.

研究动机与目标

  • 为解决现有类级别复杂度度量在捕捉整体软件设计复杂度方面的局限性。
  • 开发一种综合性度量方法,将继承、耦合和方法级复杂度整合为单一、理论严谨的度量标准。
  • 确保所提出的度量方法符合使用Weyuker公理体系的正式完整性与一致性标准。
  • 为软件工程中的包级与系统级复杂度分析提供可靠基础。
  • 通过改进的复杂度度量,支持软件维护,实现对缺陷易发性和可测试性的更准确预测。

提出的方法

  • CCC度量结合了多个低层级复杂度因子:方法数量、继承深度、字段数量以及耦合度量(CBO、RFC)。
  • 采用加权聚合公式,将结构与设计属性整合为单一标量复杂度得分。
  • 通过Weyuker的10条软件复杂度度量公理对度量进行正式评估,以验证其完整性与一致性。
  • 作者分析了该度量在多样化类设计中的行为,以确保其对有意义的结构变化具有敏感性。
  • 评估包括理论分析,并与LCOM、RFC和CBO等现有度量进行比较,以证明其在整体捕捉复杂度方面的优越性。
  • 该度量设计具有可扩展性,适用于类级别与系统级别的维护与质量评估。

实验结果

研究问题

  • RQ1如何设计一种类级别复杂度度量,以全面反映面向对象系统中的结构与设计因素?
  • RQ2所提出的CCC度量是否满足Weyuker关于完整且一致的软件复杂度度量的公理?
  • RQ3CCC能否在捕捉不同类设计中的有意义复杂度变化方面优于现有度量?
  • RQ4CCC在多大程度上支持包级与系统级复杂度分析的准确性?
  • RQ5CCC如何处理深度继承层次或高耦合场景等边缘情况?

主要发现

  • CCC度量满足Weyuker的全部10条公理,证实其作为软件复杂度度量在理论上具备完整性和一致性。
  • 通过整合继承深度、耦合度(CBO)、类响应方法数(RFC)和方法数量,CCC比单一度量捕捉了更广泛的复杂度范围。
  • 与传统度量相比,该度量在对结构变化(如深度继承或高方法复杂度)的敏感性方面表现更优。
  • 通过Weyuker框架的分析验证表明,CCC不仅具备完整性,而且在正式软件度量标准下也具有鲁棒性。
  • 该度量为更高层级的复杂度分析提供了坚实基础,有助于更准确预测软件维护成本与缺陷发生概率。
  • 本研究确立了CCC作为静态分析工具与软件质量评估框架中可集成的可行候选者。

更好的研究,从现在开始

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

无需绑定信用卡

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