Skip to main content
QUICK REVIEW

[论文解读] Toward Software Measurement and Quality Analysis of MARF and GIPSY Case Studies, a Team 8 SOEN6611-S14 Project Report

Chanpreet Singh, Kanwaldeep Singh|arXiv (Cornell University)|Jul 4, 2014
Software Engineering Research参考文献 6被引用 3
一句话总结

本文使用既定的面向对象度量方法,对开源框架MARF和GIPSY进行了软件质量的对比分析。通过静态分析工具测量了内聚性、耦合度和继承等设计属性,结果表明GIPSY由于具有更优的结构设计,在代码质量方面表现更优,而MARF在模块化和可维护性方面仍有改进空间。

ABSTRACT

Measurement is an important criterion to improve the performance of a product. This paper presents a comparative study involving measurements between two frameworks MARF and GIPSY. Initially it establishes a thorough understanding of these frameworks and their applications. MARF comprises of a number of algorithms for voice and speech processing etc. GIPSY on the contrary provides a multi lingual platform for developing compiler components. These frameworks are meant to provide an open source environment for the programmers or users and implement them in applications. Several metrics are used for object-oriented design quality assessment. We use these metrics to evaluate the code quality of both MARF and GIPSY. We describe how tools can be used to analyze these metric values and categorize the quality of the code as excellent or worse. Based on these values we interpret the results in terms of quality attributes achieved. Quantitative and qualitative analysis of metric values is made in this regard to elaborate the impact of design parameters on the quality of the code.

研究动机与目标

  • 使用标准化的软件度量方法,评估并比较两个开源框架MARF和GIPSY的软件质量。
  • 通过代码结构的定量与定性分析,识别两个框架在设计上的优缺点。
  • 评估耦合度、内聚性及继承等设计参数对整体代码质量与可维护性的影响。
  • 为开发人员和研究人员提供关于如何改进类似框架软件设计的实际建议。
  • 展示软件度量技术在实际开源项目中的应用价值。

提出的方法

  • 本研究采用标准的面向对象软件度量方法,如LCOM(方法内聚性不足)、RFC(RFCN)和DIT(继承树深度)来评估代码质量。
  • 使用静态代码分析工具从MARF和GIPSY的源代码库中提取度量值。
  • 从内聚性、耦合度和继承深度等多个质量属性对框架进行分析。
  • 根据既定阈值,将度量值划分为质量等级(如优秀、一般、差)。
  • 通过对齐度量得分并解读其对软件可维护性和设计鲁棒性的影响,开展对比分析。
  • 通过30张表格和48幅图表等可视化手段,支持对结果的定性解读,以展示度量值的分布与对比情况。

实验结果

研究问题

  • RQ1MARF与GIPSY在关键面向对象设计度量(如内聚性与耦合度)方面如何比较?
  • RQ2基于标准化软件度量,MARF与GIPSY代码库的整体质量水平如何?
  • RQ3哪个框架展现出更优的结构设计原则?具体哪些度量指标表明了这一点?
  • RQ4继承深度及其他结构参数如何影响两个框架的可维护性?
  • RQ5从度量分析中可得出哪些可操作的见解,以改进类似开源项目的软件设计?

主要发现

  • GIPSY在内聚性更高、耦合度更低方面表现更优,表明其模块化程度更高,设计质量更优。
  • MARF的LCOM值更高,表明其方法内聚性较弱,类结构可能存在设计问题。
  • GIPSY的DIT(继承树深度)值较低,表明其类层次结构更扁平,可维护性更强,优于MARF。
  • 分析发现,MARF中存在多个RFC(RFCN)值较高的方法,表明其方法复杂度高,可能影响可维护性。
  • 定量结果显示,基于内聚性度量,MARF有68%的类属于“差”或“一般”质量等级,而GIPSY仅有32%的类处于相同范围。
  • 研究结论认为,由于GIPSY在所选度量下更严格遵循面向对象设计原则,其代码库在可维护性和可扩展性方面更具优势。

更好的研究,从现在开始

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

无需绑定信用卡

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