国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:余广坝,陈鹏飞,唐锡涛,郑子彬
单位:余广坝,中山大学 计算机学院, 广东 广州 51000611,陈鹏飞,中山大学 计算机学院, 广东 广州 51000602,唐锡涛,中山大学 计算机学院, 广东 广州 51000603,郑子彬,中山大学 软件工程学院, 广东 珠海 51908204
关键词:软件变更;根因定位;故障;在线系统
基金:国家重点研发计划(2024YFB4505904); 国家自然科学基金(62272495); 广东省基础与应用基础研究基金(2023B1515020054)
在大规模在线服务系统中, 为了适应快速变化的用户需求和信息技术如连续集成/交付等, 软件变更频繁发生且呈现上升趋势. 尽管工程师会在软件变更上线之前对新版本进行严格的测试, 但由于测试环境与生产环境之间在负载、规模、用户等方面存在诸多差异, 导致部分隐蔽缺陷未能被及时发现, 随新版本发布带入生产环境, 对系统的可用性和稳定性造成影响. 为了更深入地了解缺陷变更在部署到生产环境后的影响和行为, 基于来自全球大规模即时通信系统微信的真实变更故障数据进行了实证分析, 并得出5个关于缺陷变更的关键发现. 基于实证研究的发现和结论, 提出一种轻量级故障根因变更识别方法. 该方法旨在自动化地识别导致变更故障的根因变更, 从而帮助运维工程师完成根因定位和故障修复工作. 为了验证提出的故障根因变更识别方法的有效性, 在微信的生产环境中采集了包含多种类型缺陷变更的真实数据集, 同时还构建一个微服务基准测试系统的模拟变更数据集, 然后对提出的方法进行系统性评估. 实验结果表明, 所提方法在微信生产环境数据集和模拟变更数据上的故障根因变更Top-3命中率分别达到80%和84%, 并且故障根因变更识别效果显著优于当前最先进的缺陷变更检测方法. 此外, 从工程实践角度, 系统在处理典型规模故障时内存占用仅为2.3 GB, 平均分析时延28.6 s, 满足实际生产环境需求.
来源:2026年第2期
《软件学报》期刊编辑部