Identifying Bad Software Changes via Multimodal Anomaly Detection for Online Service Systems

清华裴丹团队的论文:论文地址
demo:https://github.com/FSEwork/SCWarn

为了识别软件变更中的问题,文章提出了一种叫“SCWarn”的方法,方法的主要思想是利用多模态学习,从异构数据源中识别异常。用商业银行的真实数据进行了试验验证,同时在两个数据集(Train- Ticket [65] and E-commerce [18])进行了实验,该方法的 F1-score 可以达到0.95。

服务发布后进行变更检测,现有变更检测工作主要是采用异常检测(或变化点检测)算法来检测部署后业务KPI是否存在异常行为。对于异常检测,主要有针对KPI和日志的异常检测,现有的异常检测算法或工具并非专门用于识别变更中的异常。相比于现有的方法,SCWarn 集成了涉及软件变更的多源数据,并采用多模态异常检测,实现了比现有工作更好的性能。

主要的挑战

1、缺乏足够的异常标记数据,此外,不同的异常变更往往会在不同的数据上表现出不同的异常模式。 因此,监督学习方法无法使用。
2、如何从软件变更涉及的异构多源数据中,准确提取有用信息,进行异常检测。

该方法存在的缺陷:

1、软件变更中的“无声事件”很难被检测。如隐藏在很少使用的函数中的代码缺陷,可能会在很长一段时间内未被发现。SCWarn 是数据驱动的方法,依赖于被监测指

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
As an AI language model, I am not capable of providing a personal report. However, I can provide you with a general report for software requirement engineering. Software requirement engineering is an important process that involves identifying, analyzing, documenting, and validating the requirements for a software project. It is essential to ensure that the software meets the needs of end-users and stakeholders. The software requirement engineering process involves several stages, including: 1. Requirements gathering: This involves collecting information about the end-users' needs, expectations, and preferences. 2. Requirements analysis: This stage involves analyzing and prioritizing the collected requirements based on their importance, feasibility, and impact on the project. 3. Requirements documentation: This stage involves documenting the requirements in a clear and concise manner, including use cases, functional and non-functional requirements, and constraints. 4. Requirements validation: This stage involves reviewing and verifying the requirements with stakeholders and end-users to ensure they meet their needs and expectations. The software requirement engineering process is crucial to the success of a software project. It helps to ensure that the software meets the needs of end-users, is delivered on time, and within budget. It also helps to minimize the risk of errors and defects in the software, which can be costly to fix. In conclusion, the software requirement engineering process is an essential part of software development. It helps to ensure that the software meets the needs of end-users and stakeholders, is delivered on time, and within budget. By following the software requirement engineering process, software developers can minimize the risk of errors and defects in the software, which can be costly to fix.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值