一句话:实证研究关注团队为何放弃 Bazel 等现代构建技术并降级回传统构建技术。
软件构建系统负责将源代码转换为可交付产物,并需在快速产出更新与保持同步方面持续投入维护成本。Bazel、Buck 等现代构建技术以高级特性吸引团队迁移,以期降低维护与执行开销,但并非所有迁移都被认为带来改进,部分团队最终放弃这些现代技术。已有研究主要关注向更先进构建技术的向上迁移,而从现代构建技术降级、即放弃现代技术转向传统技术的现象仍缺乏探索。本文以从 Bazel 构建技术降级为研究对象开展实证研究,旨在揭示此类降级行为的特征与成因。原文摘要未报告具体数据、分析方法和研究发现。
Software build systems specify how source code is transformed into deliverables. Keeping build systems in sync with the software artifacts that they build while retaining their capacity to quickly produce updated deliverables requires a serious investment of development effort. Enticed by advanced features, several software teams have migrated their build systems to a modern generation of build technologies (e.g., Bazel, Buck), which aim to reduce the maintenance and execution overhead that build systems impose on development. However, not all migrations lead to perceived improvements, ultimately culminating in abandonment of the build technology. While prior work has focused on upward migration towards more advanced technologies, so-called downgrades, i.e., abandonment of a modern build technology in favour of a traditional one, remains largely unexplored.