一句话:提出 Active Hotspot 模型,通过追踪 issue 修复涉及的文件交互来自动检测软件演化中的架构退化热点。
软件架构退化会严重损害质量,但通常由大量 issue 修复和新功能开发逐步累积而成,开发者难以察觉。本文提出面向 issue 的 Active Hotspot 模型,通过追踪为解决问题而修改的文件之间的交互来监控软件演化,并自动检测活跃热点以揭示架构问题。作者在 21 个开源项目的演化时间线上研究了数百个热点,发现每个项目在任意时刻仅有少数占主导地位的活跃热点;这些主导热点会长期持续,值得特别关注。与最先进的设计/代码坏味检测工具相比,Active Hotspot 能更早且更精确地发现软件退化迹象。
Architecture degradation has a strong negative impact on software quality and can result in significant losses. Severe software degradation does not happen overnight. Software evolves continuously, through numerous issues, fixing bugs and adding new features, and architecture flaws emerge quietly and largely unnoticed until they grow in scope and significance when the system becomes difficult to maintain. Developers are largely unaware of these flaws or the accumulating debt as they are focused on their immediate tasks of address individual issues. As a consequence, the cumulative impacts of their activities, as they affect the architecture, go unnoticed. To detect these problems early and prevent them from accumulating into severe ones we propose to monitor software evolution by tracking the interactions among files revised to address issues. In particular, we propose and show how we can automatically detect active hotspots, to reveal architecture problems. We have studied hundreds of hotspots along the evolution timelines of 21 open source projects and showed that there exist just a few dominating active hotspots per project at any given time. Moreover, these dominating active hotspots persist over long time periods, and thus deserve special attention. Compared with state-of-the-art design and code smell detection tools we report that, using active hotspots, it is possible to detect signs of software degradation both earlier and more precisely.
DOI 原文 ·
@inproceedings{paperbot5199,
title = {Active Hotspot: An Issue-Oriented Model to Monitor Software Evolution and Degradation},
author = {Qiong Feng and Yuanfang Cai and Rick Kazman and Di Cui and Ting Liu and Hongzhou Fang},
booktitle = {ASE},
year = {2019},
doi = {10.1109/ase.2019.00095}
}