Software source code often harbours "hotspots": small portions of the code that change far more often than the rest of the project and thus concentrate maintenance activity. We mine the complete version histories of 91 evolving, actively developed GitHub repositories and identify 15 recurring line-level hotspot patterns that explain why these hotspots emerge. The three most prevalent patterns are Pinned Version Bump (26%), revealing brittle release practices; Long Line Change (17%), signalling deficient layout; and Formatting Ping-Pong (9%), indicating missing or inconsistent style automation. Surprisingly, automated accounts generate 74% of all hotspot edits, suggesting that bot activity is a dominant but largely avoidable source of noise in change histories. By mapping each pattern to concrete refactoring guidelines and continuous integration checks, our taxonomy equips practitioners with actionable steps to curb hotspots and systematically improve software quality in terms of configurability, stability, and changeability.
翻译:软件源代码中常存在“热点”:即代码中那些相较于项目其他部分变更频率显著更高、因而集中了大量维护活动的少量代码片段。本研究挖掘了91个持续演化、活跃开发的GitHub仓库的完整版本历史,识别出15种反复出现的行级热点模式,这些模式解释了热点产生的原因。其中三种最普遍的模式是:版本锁定更新(26%),揭示了脆弱的发布实践;长行变更(17%),暗示了布局设计的缺陷;以及格式化拉锯(9%),表明缺乏或未统一自动化代码风格规范。值得注意的是,自动化账户产生了74%的热点编辑记录,这表明机器人活动是变更历史中一个主要但基本可避免的噪声来源。通过将每种模式映射到具体的重构指导原则和持续集成检查项,本分类体系为从业者提供了可操作的步骤,以抑制热点产生,并从可配置性、稳定性和可变更性三个维度系统性地提升软件质量。