Error Report Driven Post-Mortem Analysis

Yi Zhang, S. Iyer
{"title":"Error Report Driven Post-Mortem Analysis","authors":"Yi Zhang, S. Iyer","doi":"10.1109/ICPC.2007.43","DOIUrl":null,"url":null,"abstract":"Regulatory agencies, such as US FDA, and other third party reviewers of software have the task of comprehending apiece of software in the event of its failure. Program slicing is the preferred technique to analyze software failures. However, program slicing might yield extremely large slices and also demand that an user have intimate knowledge of the software (by specifying a slicing criterion). In this paper we propose solutions to ameliorate both of these problems. The main hypothesis of the paper is that error reports can be used to generate slicing criteria, thus allowing a third-party reviewer to use slicing without any knowledge of the system being analyzed. The first contribution of the paper is a study of how error reports can be formalized and how execution sequences (called error traces) that satisfy an error report can be identified, which can then be sliced. A primary feature of this work is that incomplete error reports could be dealt with. The second contribution of the paper is a scheme for using abstract interpretation in the generation of error traces and (potential) slicing criteria from error reports. These \"abstract\" error traces can be sliced, much like in dynamic/conditional slicing, with respect to the criteria generated, allowing for inputs to be used to reduce the size of slices. Furthermore, being abstract in nature, they are shorter than exact execution sequences and also allow for easier comprehension. We finally present a case study involving a medical device that illustrates how our approach can aid with program comprehension.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"15th IEEE International Conference on Program Comprehension (ICPC '07)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICPC.2007.43","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

Regulatory agencies, such as US FDA, and other third party reviewers of software have the task of comprehending apiece of software in the event of its failure. Program slicing is the preferred technique to analyze software failures. However, program slicing might yield extremely large slices and also demand that an user have intimate knowledge of the software (by specifying a slicing criterion). In this paper we propose solutions to ameliorate both of these problems. The main hypothesis of the paper is that error reports can be used to generate slicing criteria, thus allowing a third-party reviewer to use slicing without any knowledge of the system being analyzed. The first contribution of the paper is a study of how error reports can be formalized and how execution sequences (called error traces) that satisfy an error report can be identified, which can then be sliced. A primary feature of this work is that incomplete error reports could be dealt with. The second contribution of the paper is a scheme for using abstract interpretation in the generation of error traces and (potential) slicing criteria from error reports. These "abstract" error traces can be sliced, much like in dynamic/conditional slicing, with respect to the criteria generated, allowing for inputs to be used to reduce the size of slices. Furthermore, being abstract in nature, they are shorter than exact execution sequences and also allow for easier comprehension. We finally present a case study involving a medical device that illustrates how our approach can aid with program comprehension.
错误报告驱动的事后分析
监管机构,如美国食品药品监督管理局和其他第三方软件审查人员,有任务在软件出现故障时理解每个软件。程序切片是分析软件故障的首选技术。然而,程序切片可能产生非常大的切片,并且还要求用户对软件有深入的了解(通过指定切片标准)。在本文中,我们提出了改善这两个问题的解决方案。本文的主要假设是,错误报告可用于生成切片标准,从而允许第三方审稿人在不了解被分析系统的情况下使用切片。本文的第一个贡献是研究如何将错误报告形式化,以及如何识别满足错误报告的执行序列(称为错误跟踪),然后将其分割。这项工作的一个主要特点是可以处理不完整的错误报告。本文的第二个贡献是在错误报告中使用抽象解释生成错误跟踪和(潜在的)切片标准的方案。这些“抽象”错误跟踪可以根据生成的标准进行切片,就像在动态/条件切片中一样,允许使用输入来减少切片的大小。此外,由于本质上是抽象的,它们比精确的执行序列更短,也更容易理解。最后,我们提出了一个涉及医疗设备的案例研究,说明了我们的方法如何帮助程序理解。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信