Toward a quantifiable definition of software faults

J. Munson, A. Nikora
{"title":"Toward a quantifiable definition of software faults","authors":"J. Munson, A. Nikora","doi":"10.1109/ISSRE.2002.1173299","DOIUrl":null,"url":null,"abstract":"An important aspect of developing models relating the number and type of faults in a software system to a set of structural measurement is defining what constitutes a fault. By definition, a fault is a structural imperfection in a software system that may lead to the system's eventually failing. A measurable and precise definition of what faults are makes it possible to accurately identify and count them, which in turn allows the formulation of models relating fault counts and types to other measurable attributes of a software system. Unfortunately, the most widely-used definitions are not measurable; there is no guarantee that two different individuals looking at the same set of failure reports and the same set of fault definitions will count the same number of underlying faults. The incomplete and ambiguous nature of current fault definitions adds a noise component to the inputs used in modeling fault content. If this noise component is sufficiently large, any attempt to develop a fault model will produce invalid results. As part of our on-going work in modeling software faults, we have developed a method of unambiguously identifying and counting faults. Specifically, we base our recognition and enumeration of software faults on the grammar of the language of the software system. By tokenizing the differences between a version of the system exhibiting a particular failure behavior, and the version in which changes were made to eliminate that behavior, we are able to unambiguously count the number of faults associated with that failure. With modern configuration management tools, the identification and counting of software faults can be automated.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"51 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"28","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSRE.2002.1173299","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 28

Abstract

An important aspect of developing models relating the number and type of faults in a software system to a set of structural measurement is defining what constitutes a fault. By definition, a fault is a structural imperfection in a software system that may lead to the system's eventually failing. A measurable and precise definition of what faults are makes it possible to accurately identify and count them, which in turn allows the formulation of models relating fault counts and types to other measurable attributes of a software system. Unfortunately, the most widely-used definitions are not measurable; there is no guarantee that two different individuals looking at the same set of failure reports and the same set of fault definitions will count the same number of underlying faults. The incomplete and ambiguous nature of current fault definitions adds a noise component to the inputs used in modeling fault content. If this noise component is sufficiently large, any attempt to develop a fault model will produce invalid results. As part of our on-going work in modeling software faults, we have developed a method of unambiguously identifying and counting faults. Specifically, we base our recognition and enumeration of software faults on the grammar of the language of the software system. By tokenizing the differences between a version of the system exhibiting a particular failure behavior, and the version in which changes were made to eliminate that behavior, we are able to unambiguously count the number of faults associated with that failure. With modern configuration management tools, the identification and counting of software faults can be automated.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
向软件故障的可量化定义迈进
开发将软件系统中故障的数量和类型与一组结构度量相关联的模型的一个重要方面是定义什么构成了故障。根据定义,故障是软件系统中的结构性缺陷,可能导致系统最终失败。对故障的可测量的和精确的定义使得准确地识别和计数故障成为可能,这反过来又允许将故障计数和类型与软件系统的其他可测量属性相关联的模型的形成。不幸的是,最广泛使用的定义是不可测量的;不能保证两个不同的人查看相同的故障报告集和相同的故障定义集将计算相同数量的潜在故障。当前故障定义的不完全性和模糊性为建模故障内容所使用的输入增加了噪声成分。如果这个噪声分量足够大,任何建立故障模型的尝试都会产生无效的结果。作为我们正在进行的软件错误建模工作的一部分,我们已经开发了一种明确识别和计数错误的方法。具体来说,我们基于软件系统语言的语法来识别和列举软件故障。通过标记显示特定故障行为的系统版本,以及为消除该行为而进行更改的版本之间的差异,我们能够明确地计算与该故障相关的故障数量。使用现代配置管理工具,软件故障的识别和计数可以自动化。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Test reuse in the spreadsheet paradigm Heterogeneous software reliability modeling Toward a quantifiable definition of software faults Emulation of software faults by educated mutations at machine-code level Metrics for measuring the effectiveness of software-testing tools
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1