架构坏味与并发缺陷:一项探索性研究与阴性结果
软件工程
2023-04-03 v1
摘要
技术债务在软件制品中以许多不同形式出现。其中一种形式与软件架构相关,其中债务以架构元素间的结构性反模式(即架构坏味)形式出现。如文献所定义,“架构坏味是对内部系统质量产生负面影响的反复出现的架构决策”,从而增加了技术债务。在本文中,我们旨在探索架构技术债务是否存在超出代码或架构质量下降的表现,即架构坏味(主要反映结构特征)与并发缺陷(主要在运行时显现)的发生之间是否存在关联。我们研究了 5 个大型数据密集型软件系统的 125 个发布版本,揭示出(1)若干架构坏味实际上可能指示出可能在运行时显现的并发问题的存在,但(2)坏味与并发性总体上并不相关——相反,对于特定的并发缺陷,必须将坏味与特定项目特征(如项目分布)的相应表述相结合。例如,代码中可能存在循环依赖,但该特定执行流在运行时可能永远不会被执行。
引用
@article{arxiv.2303.17862,
title = {Architecture Smells vs. Concurrency Bugs: an Exploratory Study and Negative Results},
author = {Damian Andrew Tamburri and Francesca Arcelli Fontana and Riccardo Roveda and Valentina Lenarduzzi},
journal= {arXiv preprint arXiv:2303.17862},
year = {2023}
}