Dependence-cache slicing: a program slicing method using lightweight dynamic information

Tomonori Takada, Fumiaki Ohata, Katsuro Inoue
{"title":"Dependence-cache slicing: a program slicing method using lightweight dynamic information","authors":"Tomonori Takada, Fumiaki Ohata, Katsuro Inoue","doi":"10.1109/WPC.2002.1021338","DOIUrl":null,"url":null,"abstract":"When we try to debug or to comprehend a large program, it is important to separate suspicious program portions from the overall source program. Program slicing is a promising technique used to extract a program portion; however, such slicing sometimes raises difficulties. Static slicing sometimes produces a large portion of a source program, especially for programs with array and pointer variables, and dynamic slicing requires unacceptably large run-time overhead. In this paper, we propose a slicing method named \"dependence-cache slicing\", which uses both static and dynamic information. An algorithm has been implemented in our experimental slicing system, and execution data for several sample programs have been collected The results show that dependence-cache slicing reduces the slice size by 30-90% compared with the static slice size, with an increased and affordable run-time overhead, even for programs using array variables. In the future, dependence-cache slicing will become an important feature for effective debugging environments.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 10th International Workshop on Program Comprehension","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WPC.2002.1021338","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

When we try to debug or to comprehend a large program, it is important to separate suspicious program portions from the overall source program. Program slicing is a promising technique used to extract a program portion; however, such slicing sometimes raises difficulties. Static slicing sometimes produces a large portion of a source program, especially for programs with array and pointer variables, and dynamic slicing requires unacceptably large run-time overhead. In this paper, we propose a slicing method named "dependence-cache slicing", which uses both static and dynamic information. An algorithm has been implemented in our experimental slicing system, and execution data for several sample programs have been collected The results show that dependence-cache slicing reduces the slice size by 30-90% compared with the static slice size, with an increased and affordable run-time overhead, even for programs using array variables. In the future, dependence-cache slicing will become an important feature for effective debugging environments.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
依赖缓存切片:一种使用轻量级动态信息的程序切片方法
当我们试图调试或理解一个大程序时,将可疑的程序部分从整个源程序中分离出来是很重要的。程序切片是一种很有前途的技术,用于提取程序部分;然而,这种切片有时会带来困难。静态切片有时会产生很大一部分源程序,特别是对于具有数组和指针变量的程序,而动态切片需要不可接受的大运行时开销。本文提出了一种同时使用静态和动态信息的切片方法——“依赖缓存切片”。在我们的实验切片系统中实现了一种算法,并收集了几个示例程序的执行数据。结果表明,与静态切片大小相比,依赖缓存切片减少了30-90%的切片大小,即使对于使用数组变量的程序,也增加了可承受的运行时开销。在未来,依赖缓存切片将成为有效调试环境的一个重要特性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
On using a benchmark to evaluate C++ extractors Using graph patterns to extract scenarios Evaluating using animation to improve understanding of sequence diagrams Where's the schema? A taxonomy of patterns for software exchange Building program understanding tools using visitor combinators
×
引用
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