Skip to main content
QUICK REVIEW

[论文解读] Code smells: A Synthetic Narrative Review

Peter Kokol, Marko Kokol|arXiv (Cornell University)|Mar 1, 2021
Software Engineering Research被引用 4
一句话总结

本篇合成性叙事综述综合分析了来自Scopus的442篇关于代码异味的研究文献,采用文献计量学与主题分析方法,绘制了研究趋势、核心主题与研究空白。研究识别出八个核心研究主题,包括软件维护、重构与技术债务等,并突出强调了如异味传播与‘良好异味’等尚未充分探索的领域,为软件质量与可维护性研究与实践提供了全面的路线图。

ABSTRACT

Code smells are symptoms of poor design and implementation choices, which might hinder comprehension, increase code complexity and fault-proneness and decrease maintainability of software systems. The aim of our study was to perform a triangulation of bibliometric and thematic analysis on code smell literature production. The search was performed on Scopus (Elsevier, Netherlands) database using the search string code smells which resulted in 442 publications. The Go-to statement was the first bad code smells identified in software engineering history in 1968. The literature production trend has been positive. The most productive countries were the United States, Italy and Brazil. Eight research themes were identified: Managing software maintenance, Smell detection-based software refactoring, Architectural smells, Improving software quality with multi-objective approaches, Technical debt and its instance, Quality improvement/assurance with mining software repositories, Programming education, Integrating the concepts of anti-pattern, design defects and design smells. Some research gaps also emerged, namely, New uncatalogued smell identification; Smell propagation from architectural, design, code to test, and other possible smells; and Identification of good smells. The results of our study can help code smell researchers and practitioners understand the broader aspects of code smells research and its translation to practice.

研究动机与目标

  • 通过全面的文献综合,绘制代码异味研究的演变过程与当前状态。
  • 利用主题分析,识别代码异味文献中的主导研究主题与主题聚类。
  • 考察文献计量学趋势,包括出版数量、领先国家与研究产出。
  • 揭示尚未充分研究的领域,如异味传播与‘良好异味’的识别。
  • 通过将研究成果转化为可操作的见解,支持研究人员与实践者在软件质量改进方面的行动。

提出的方法

  • 在Scopus数据库中系统性检索关键词‘code smells’,共获得442篇文献。
  • 应用文献计量学分析,评估出版趋势、国家产出与引用模式。
  • 开展主题分析,从文献中识别并分类重复出现的研究主题。
  • 通过文献计量与主题数据的三角验证,以确认并丰富研究发现。
  • 基于标题、摘要与关键词的内容分析,对研究主题进行分类。
  • 通过主题聚类与出版趋势的对比分析,识别研究空白。

实验结果

研究问题

  • RQ1代码异味文献中的主导研究主题是什么?这些主题随时间如何演变?
  • RQ2哪些国家与机构在代码异味研究中贡献最为显著?
  • RQ3代码异味研究的出版量如何随时间变化?存在哪些显著趋势?
  • RQ4当前代码异味研究中的关键空白是什么,特别是关于未被探索的异味类型?
  • RQ5如何使代码异味研究更好地与软件维护、质量保证及教育实践相契合?

主要发现

  • 自1968年首次记录代码异味以来,相关文献呈现出稳定且积极的增长趋势。
  • 美国、意大利与巴西是代码异味研究中产出最高的国家。
  • 识别出八大主要研究主题:软件维护、异味检测与重构、架构异味、多目标质量改进、技术债务、软件库挖掘、编程教育,以及反模式整合。
  • 仍存在显著的研究空白,包括新发现但尚未归类的代码异味,以及在架构、设计、代码与测试层之间异味传播的研究。
  • ‘良好异味’(即积极的设计提示)的概念尚未得到系统研究,构成显著的研究空白。
  • 综述表明,代码异味研究已形成稳固基础,但在系统性异味动态与建设性设计模式相关领域仍存在较大探索空间。

更好的研究,从现在开始

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

无需绑定信用卡

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