一种基于测试需求的调试策略

M. Chaim, José Carlos Maldonado, M. Jino
{"title":"一种基于测试需求的调试策略","authors":"M. Chaim, José Carlos Maldonado, M. Jino","doi":"10.1109/CSMR.2003.1192424","DOIUrl":null,"url":null,"abstract":"Testing and debugging are activities that consume a significant amount of the software quality and maintenance budget. To reduce such cost, the use of testing information for debugging purposes has been advocated In general, heuristics are used to select structural testing requirements (nodes, branches, and definition use associations) more closely related to the manifestation of failures which are then mapped into pieces of code. The problem with this approach is that it relies only on a static information-a fragment of code. We introduce a strategy for fault localization based on the investigation of indications (or hints) provided at run-time by data-flow testing requirements. The intuition is that the selected data-flow testing requirements may fail to hit the fault site but they still provide useful information for fault localization. The strategy-called Debugging strategy based on Requirements of Testing (DRT)-is targeted to such situations. The strategy's novelty and attractiveness are threefold: (i) it focuses on dynamic information related to testing data; (ii) it can be implemented in state-of-the-practice symbolic debuggers with limited overhead; and (iii) it utilizes algorithms that consume constant memory and are linear with respect to the number of branches in the program. The paper presents a case study which shows that our intuition is valid (for the subject program) and a proof-of-concept tool that implements the strategy.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"114 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"A debugging strategy based on requirements of testing\",\"authors\":\"M. Chaim, José Carlos Maldonado, M. Jino\",\"doi\":\"10.1109/CSMR.2003.1192424\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Testing and debugging are activities that consume a significant amount of the software quality and maintenance budget. To reduce such cost, the use of testing information for debugging purposes has been advocated In general, heuristics are used to select structural testing requirements (nodes, branches, and definition use associations) more closely related to the manifestation of failures which are then mapped into pieces of code. The problem with this approach is that it relies only on a static information-a fragment of code. We introduce a strategy for fault localization based on the investigation of indications (or hints) provided at run-time by data-flow testing requirements. The intuition is that the selected data-flow testing requirements may fail to hit the fault site but they still provide useful information for fault localization. The strategy-called Debugging strategy based on Requirements of Testing (DRT)-is targeted to such situations. The strategy's novelty and attractiveness are threefold: (i) it focuses on dynamic information related to testing data; (ii) it can be implemented in state-of-the-practice symbolic debuggers with limited overhead; and (iii) it utilizes algorithms that consume constant memory and are linear with respect to the number of branches in the program. The paper presents a case study which shows that our intuition is valid (for the subject program) and a proof-of-concept tool that implements the strategy.\",\"PeriodicalId\":236632,\"journal\":{\"name\":\"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.\",\"volume\":\"114 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2003-03-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSMR.2003.1192424\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSMR.2003.1192424","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

测试和调试是消耗大量软件质量和维护预算的活动。为了减少这样的成本,为了调试目的而使用测试信息已经被提倡。通常,启发式被用来选择与故障表现更密切相关的结构测试需求(节点、分支和定义使用关联),然后将其映射到代码片段中。这种方法的问题在于它只依赖于静态信息——代码片段。我们介绍了一种基于数据流测试需求在运行时提供的指示(或提示)调查的故障定位策略。直觉是,所选择的数据流测试需求可能无法到达故障点,但它们仍然为故障定位提供有用的信息。称为基于测试需求(DRT)的调试策略就是针对这种情况的。该策略的新颖性和吸引力有三个方面:(i)它侧重于与测试数据相关的动态信息;(ii)它可以在最实用的符号调试器中实现,开销有限;(iii)它利用的算法消耗恒定的内存,并且与程序中的分支数量呈线性关系。本文提出了一个案例研究,表明我们的直觉是有效的(对于主题程序),并提供了实现该策略的概念验证工具。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
A debugging strategy based on requirements of testing
Testing and debugging are activities that consume a significant amount of the software quality and maintenance budget. To reduce such cost, the use of testing information for debugging purposes has been advocated In general, heuristics are used to select structural testing requirements (nodes, branches, and definition use associations) more closely related to the manifestation of failures which are then mapped into pieces of code. The problem with this approach is that it relies only on a static information-a fragment of code. We introduce a strategy for fault localization based on the investigation of indications (or hints) provided at run-time by data-flow testing requirements. The intuition is that the selected data-flow testing requirements may fail to hit the fault site but they still provide useful information for fault localization. The strategy-called Debugging strategy based on Requirements of Testing (DRT)-is targeted to such situations. The strategy's novelty and attractiveness are threefold: (i) it focuses on dynamic information related to testing data; (ii) it can be implemented in state-of-the-practice symbolic debuggers with limited overhead; and (iii) it utilizes algorithms that consume constant memory and are linear with respect to the number of branches in the program. The paper presents a case study which shows that our intuition is valid (for the subject program) and a proof-of-concept tool that implements the strategy.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Fast symbolic evaluation of C/C++ preprocessing using conditional values Fast flow analysis to compute fuzzy estimates of risk levels Software services and software maintenance Enabling legacy system accessibility by Web heterogeneous clients Towards a benchmark for Web site extractors: a call for community participation
×
引用
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