FIXME:与数据库同步——数据访问自承认技术债务的实证研究
软件工程
2022-01-07 v1
摘要
开发者有时因紧凑发布周期的压力而选择设计与实现上的捷径。然而,捷径引入的技术债务会随软件演化而增长。需尽快偿还债务以最小化其对软件开发与软件质量的影响。有时,技术债务由开发者在注释与提交信息中承认,此类债务称为自承认技术债务(SATD)。在数据密集型系统中,数据操作为关键功能,数据访问逻辑中SATD的存在会严重损害性能与可维护性。理解各软件系统中SATD的构成与分布及其演化,可为高效管理技术债务提供洞见。我们呈现了一项关于数据密集型系统中SATD的普遍性、构成与演化的小规模实证研究。我们分析了83个依赖关系型数据库的开源系统,以及19个依赖NoSQL数据库的系统。我们在取自受试系统不同快照的源代码注释中检测SATD。为理解SATD演化动态,我们进行了生存分析。接下来,我们对361个数据访问SATD样本进行手动分析,考察数据访问SATD的构成及其引入与移除原因。我们识别出15个新SATD类别,其中11个特定于数据库访问操作。我们发现大多数数据访问SATD是在变更历史的后期而非初期引入的。我们还观察到缺陷修复与重构是数据访问SATD引入的主要原因。
引用
@article{arxiv.2201.02180,
title = {FIXME: Synchronize with Database An Empirical Study of Data Access Self-Admitted Technical Debt},
author = {Biruk Asmare Muse and Csaba Nagy and Anthony Cleve and Foutse Khomh and Giuliano Antoniol},
journal= {arXiv preprint arXiv:2201.02180},
year = {2022}
}