中文

PyExamine:一个全面、无偏见的Python代码异味检测工具

软件工程 2025-01-31 v1

摘要

Python在多个领域的广泛采用导致代码库日益复杂,给代码质量维护带来了挑战。尽管许多工具试图应对这些挑战,但它们往往缺乏全面的分析能力,或未能考虑Python特有的上下文。PyExamine通过一种跨多个分析层次的代码异味检测方法解决了这些关键限制。PyExamine的架构通过三个不同但相互关联的层次(架构模式、结构关系和代码级实现)实现了对代码质量的详细检查。该方法能够检测和分析49个不同的度量指标,为开发者提供对其代码库健康状况的理解。这些度量指标涵盖代码组织的所有层次,从高层架构问题到细粒度实现细节。通过对7个不同项目的评估,PyExamine实现了以下检测准确率:代码级异味91.4%,结构级异味89.3%,架构级异味80.6%。这些结果通过广泛的用户反馈和专家评估进一步验证,确认了PyExamine在代码组织所有层次上以高召回率识别潜在问题的能力。此外,我们还使用PyExamine分析了183个不同Python项目(从小型工具到大规模企业应用)中不同类型异味的普遍性。PyExamine在全面分析、Python特异性检测和高可定制性方面的独特组合,使其成为个人开发者和大型团队提升代码质量实践的宝贵工具。

关键词

引用

@article{arxiv.2501.18327,
  title  = {PyExamine A Comprehensive, UnOpinionated Smell Detection Tool for Python},
  author = {Karthik Shivashankar and Antonio Martini},
  journal= {arXiv preprint arXiv:2501.18327},
  year   = {2025}
}

备注

Mining Software Repositories, MSR 2025