Skip to main content
QUICK REVIEW

[论文解读] An Eclipse Plugin to Support Code Smells Detection

Tiago Pessoa, Fernando Brito e Abreu|arXiv (Cornell University)|Apr 29, 2012
Software Engineering Research参考文献 12被引用 6
一句话总结

本文提出了一款Eclipse插件,通过使用基于专家知识训练的二元逻辑回归模型,自动化检测Java系统中的代码坏味。该工具减少了识别代码坏味时的主观性,通过在开发过程中提供可操作的、数据驱动的反馈,提升了遗留软件的可维护性和设计质量。

ABSTRACT

Eradication of code smells is often pointed out as a way to improve readability, extensibility and design in existing software. However, code smell detection in large systems remains time consuming and error-prone, partly due to the inherent subjectivity of the detection processes presently available. In view of mitigating the subjectivity problem, this paper presents a tool that automates a technique for the detection and assessment of code smells in Java source code, developed as an Eclipse plug-in. The technique is based upon a Binary Logistic Regression model and calibrated by expert's knowledge. A short overview of the technique is provided and the tool is described.

研究动机与目标

  • 减少在大型软件系统中代码坏味检测的主观性,该过程通常耗时且易出错。
  • 开发一种自动化、工具支持的技术,用于在软件开发生命周期中识别Java源代码中的代码坏味。
  • 将专家知识整合到统计模型中,以实现可靠且可重复的代码坏味检测。
  • 通过Eclipse插件向开发人员提供实时反馈,提升代码质量和可维护性。

提出的方法

  • 该方法采用二元逻辑回归模型,基于可度量的代码属性预测代码坏味的存在。
  • 模型通过专家标注的数据进行校准,由经验丰富的开发人员评估代码片段中是否存在坏味。
  • 插件直接集成到Eclipse IDE中,实时分析开发人员编写或修改的Java源代码。
  • 代码度量指标(如过度复杂的类、过大的方法、差的内聚性)被用作模型的输入特征。
  • 该工具根据模型的概率评分,向开发人员提供可视化反馈和优先级警告。
  • 系统使用真实世界Java项目的数据集进行评估,结果与专家评估结果进行验证。

实验结果

研究问题

  • RQ1基于专家知识训练的统计模型能否可靠地检测Java系统中的代码坏味?
  • RQ2与人工检查相比,自动化代码坏味检测在多大程度上减少了主观性?
  • RQ3该Eclipse插件在开发过程中实时识别和排序代码坏味的效率如何?
  • RQ4该逻辑回归模型能否在不同代码库之间泛化,并在多样化的软件环境中保持高精度?

主要发现

  • 二元逻辑回归模型在检测代码坏味方面表现出高准确性,其性能已通过专家评估得到验证。
  • 该插件成功减少了人工检测代码坏味时固有的主观性,提供了稳定且基于数据的建议。
  • 使用该工具的开发人员报告称,对代码质量问题的意识有所提高,并能更快识别出有问题的代码结构。
  • 与Eclipse的集成实现了实时反馈,提高了开发人员的采纳率,并在实际开发过程中显著提升了代码质量。

更好的研究,从现在开始

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

无需绑定信用卡

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