一句话:提出 FlaXifyer,用少量标注样本微调预训练语言模型,从 CI 作业日志预测间歇性失败类别并定位关键日志语句。
持续集成流水线中的作业常因非确定性测试、网络中断、基础设施故障、资源耗尽等原因间歇性(flaky)失败,重跑浪费资源,诊断耗时且常需专门团队介入。已有工作多聚焦于检测间歇性失败,其后续诊断仍研究不足。本文提出 FlaXifyer:一种基于预训练语言模型的少样本学习方法,仅需作业执行日志即可预测间歇性作业失败的类别,每个类别仅 12 个标注样本便达到 84.3% 的 Macro F1 与 92.0% 的 Top-2 准确率。作者还提出可解释性技术 LogSift,能在 1 秒内识别有影响力的日志语句,将人工审查工作量减少 74.4%,并在 87% 的案例中呈现相关失败信息。在 TELUS 的 2,458 条作业失败记录上评估表明,二者可帮助从业者自动化分诊并加速间歇性失败的诊断。
In principle, failures in Continuous Integration (CI) pipelines provide valuable feedback to developers about code-related errors. In practice, however, pipeline jobs often fail intermittently due to non-deterministic tests, network outages, infrastructure failures, resource exhaustion, and other reliability issues. These intermittent (flaky) job failures lead to substantial inefficiencies: wasted computational resources from repeated reruns and significant diagnosis time that distracts developers from core activities and often requires intervention from specialized teams. Prior studies have proposed machine learning techniques to detect intermittent failures, but the subsequent diagnosis remains underexplored. To fill this gap, we introduce FlaXifyer, a few-shot learning approach for predicting intermittent job failure categories using pre-trained language models. FlaXifyer requires only job execution logs and achieves 84.3% Macro F1 and 92.0% Top-2 accuracy with just 12 labeled examples per category. We also propose LogSift, an interpretability technique that identifies influential log statements in under one second, reducing review effort by 74.4% while surfacing relevant failure information in 87% of cases. Evaluated on 2,458 job failures from TELUS, FlaXifyer and LogSift enable practitioners to automate triage and accelerate the diagnosis of intermittent job failures.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2601-22264,
title = {Predicting Intermittent Job Failure Categories for Diagnosis Using Few-Shot Fine-Tuned Language Models},
author = {Henri Aïdasso and Francis Bordeleau and Ali Tizghadam},
booktitle = {FSE},
year = {2026},
doi = {10.1145/3803437.3805224}
}