一句话:提出基于 Transformer 的 GitSense,融合提交产物中的文本与统计特征,显著提升 CI 失败构建预测性能。
持续集成中,准确的构建预测对降低开发成本至关重要。现有方法依赖预定义规则或特征工程,难以充分利用代码变更、提交消息等提交产物中的复杂信息。本文提出 GitSense,一个基于 Transformer 的构建预测模型:它使用带滑动窗口文本采样器的文本编码器提取文本特征,并用统计特征编码器提取统计特征,从而对冗长复杂的提交产物进行综合分析。实验将 GitSense 与五种先进构建预测模型、Longformer 及 ChatGPT 对比,结果表明其在失败构建预测上显著更优,F1-score 提升 32.7%–872.1%,Precision 提升 23.9%–437.5%,Recall 提升 40.2%–1396.0%。
In Continuous Integration (CI), accurate build prediction is crucial for minimizing development costs and enhancing efficiency. However, existing build prediction methods, typically based on predefined rules or machine learning classifiers employing feature engineering, have been constrained by their limited ability to fully capture the intricate details of commit artifacts, such as code change and commit messages. These artifacts are critical for understanding the commit under a build but have been inadequately utilized in existing approaches. To address this problem, we propose GitSense, a Transformer-based model specifically designed to incorporate the rich and complex information contained within commit artifacts for the first. GitSense employs an advanced textual encoder with built-in sliding window text samplers for textual features and a statistical feature encoder for extracted statistical features. This innovative approach allows for a comprehensive analysis of lengthy and intricate commit artifacts, surpassing the capabilities of traditional methods. We conduct comprehensive experiments to compare GitSense with five state-of-the-art build prediction models, Longformer, and ChatGPT. The experimental results show that GitSense outperforms these models in predicting failed builds, evidenced by 32.7%-872.1.0% better on F1-score, 23.9%-437.5% better on Precision, and 40.2%-1396.0% better on Recall.
DOI 原文 ·
@inproceedings{paperbot8530,
title = {Commit Artifact Preserving Build Prediction},
author = {Guoqing Wang and Zeyu Sun and Yizhou Chen and Yifan Zhao and Qingyuan Liang and Dan Hao},
booktitle = {ISSTA},
year = {2024},
doi = {10.1145/3650212.3680356}
}