[论文解读] The landscape of software failure cause models
本篇系统映射研究分析了文献中的156个软件故障原因模型,将其分类为八个主题聚类,以描绘该研究领域的全景。研究发现,研究重点高度集中于源代码缺陷,而故障触发条件和运行时错误状态等方面则明显不足,凸显了在动态故障建模方面存在研究空白,尽管在测试和可靠性方面的需求日益增长。
The software engineering field has a long history of classifying software failure causes. Understanding them is paramount for fault injection, focusing testing efforts or reliability prediction. Since software fails in manifold complex ways, a broad range of software failure cause models is meanwhile published in dependability literature. We present the results of a meta-study that classifies publications containing a software failure cause model in topic clusters. Our results structure the research field and can help to identify gaps. We applied the systematic mapping methodology for performing a repeatable analysis. We identified 156 papers presenting a model of software failure causes. Their examination confirms the assumption that a large number of the publications discusses source code defects only. Models of fault-activating state conditions and error states are rare. Research seems to be driven mainly by the need for better testing methods and code-based quality improvement. Other motivations such as online error detection are less frequently given. Mostly, the IEEE definitions or orthogonal defect classification is used as base terminology. The majority of use cases comes from web, safety- and security-critical applications.
研究动机与目标
- 对现有软件故障原因模型研究进行系统化映射与结构化整理,以提升该领域的可及性与连贯性。
- 识别软件故障原因建模文献中的主导主题、术语体系及研究动机。
- 揭示如故障触发条件和错误状态等尚未充分探索的领域,这些领域对运行时测试和容错能力至关重要。
- 通过基于Laprie/Avižienis和IEEE标准的术语体系,为从业者和研究人员建立共享的术语基础。
- 通过识别研究空白,特别是超越静态代码缺陷的动态故障建模,为未来研究提供指导。
提出的方法
- 在七个数据库(IEEE、ACM、Web of Science、ScienceDirect、Springer、Arxiv.org及其他)中使用预定义的搜索字符串,开展系统映射研究(SMS)。
- 实施多阶段过滤流程:初始数据库搜索、去重处理,以及基于相关性与纳入标准的逐篇人工筛选。
- 开发标签分类体系,对文献按故障原因类型、应用领域和术语基础等维度进行分类。
- 以Laprie/Avižienis术语模型为基础,定义故障、错误和故障,并将其调整聚焦于代码级故障。
- 根据研究重点将模型划分为八个主题聚类,例如:源代码缺陷、故障触发条件、错误状态及测试应用等。
- 评估IEEE和ODC(正交缺陷分类)等标准分类体系在文献中作为基础术语的使用情况。
实验结果
研究问题
- RQ1文献中主导的软件故障原因模型类型是什么?它们如何被分类?
- RQ2现有模型在多大程度上涵盖了故障触发条件和运行时错误状态等动态方面?
- RQ3推动软件故障原因建模研究的主要动机是什么?例如:测试、可靠性预测或错误检测?
- RQ4像IEEE或ODC这样的既定术语体系在故障原因建模研究中的采用程度如何?
- RQ5在故障原因模型研究中,哪些应用领域(如网络应用、安全关键系统、安全关键系统等)占据主导地位?
主要发现
- 共识别并分析了156篇呈现软件故障原因模型的文献,构成了系统映射的基础。
- 绝大多数模型(主要)聚焦于源代码缺陷,仅有少数模型涉及故障触发条件或运行时错误状态。
- 研究主要受对更优测试方法和基于代码的质量改进需求的驱动,而在线错误检测则较少作为研究动机。
- IEEE定义和正交缺陷分类(ODC)是文献中最常使用的术语基础。
- 网络应用、安全关键系统和安全关键应用是故障原因模型研究的主要应用领域。
- 尽管存在如薛定谔虫(Schrödingbugs)和海森堡虫(Heisenbugs)等动态故障现象,但学术文献中对运行时行为的建模仍明显不足。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。