Custom-made instrumentation based on static analysis

T. Gutzmann, Welf Löwe
{"title":"Custom-made instrumentation based on static analysis","authors":"T. Gutzmann, Welf Löwe","doi":"10.1145/2002951.2002957","DOIUrl":null,"url":null,"abstract":"Many dynamic analysis tools capture the occurrences of events at runtime. The longer programs are being monitored, the more accurate the data they provide to the user. Then, the runtime overhead must be kept as low as possible, because it decreases the user's productivity.\n Runtime performance overhead occurs due to identifying events, and storing them in a result data-structure.\n We address the latter issue by generating custom-made instrumentation code for each program. By using static analysis to get a priori knowledge about which events of interest can occur and where they can occur, tailored code for storing those events can be generated for each program.\n We evaluate our idea by comparing the runtime overhead of a \"general purpose\" dynamic analysis tool that captures points-to information for Java programs with approaches based on custom-made instrumentation code. Experiments suggest highly reduced performance overhead for the latter.","PeriodicalId":315305,"journal":{"name":"International Workshop on Dynamic Analysis","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Workshop on Dynamic Analysis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2002951.2002957","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

Many dynamic analysis tools capture the occurrences of events at runtime. The longer programs are being monitored, the more accurate the data they provide to the user. Then, the runtime overhead must be kept as low as possible, because it decreases the user's productivity. Runtime performance overhead occurs due to identifying events, and storing them in a result data-structure. We address the latter issue by generating custom-made instrumentation code for each program. By using static analysis to get a priori knowledge about which events of interest can occur and where they can occur, tailored code for storing those events can be generated for each program. We evaluate our idea by comparing the runtime overhead of a "general purpose" dynamic analysis tool that captures points-to information for Java programs with approaches based on custom-made instrumentation code. Experiments suggest highly reduced performance overhead for the latter.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
基于静态分析的定制仪器
许多动态分析工具在运行时捕获事件的发生。监控程序的时间越长,提供给用户的数据就越准确。然后,运行时开销必须保持尽可能低,因为它会降低用户的工作效率。由于识别事件并将其存储在结果数据结构中,会产生运行时性能开销。我们通过为每个程序生成定制的工具代码来解决后一个问题。通过使用静态分析来获得关于哪些感兴趣的事件可能发生以及它们可能在哪里发生的先验知识,可以为每个程序生成用于存储这些事件的定制代码。我们通过比较“通用”动态分析工具的运行时开销来评估我们的想法,该工具为Java程序捕获点到信息,并基于定制的工具代码。实验表明,后者大大降低了性能开销。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Dynamic analysis of inefficiently-used containers Dynamic cost verification for cloud applications Communication-aware HW/SW co-design for heterogeneous multicore platforms Extended program invariants: applications in testing and fault localization Evaluating program analysis and testing tools with the RUGRAT random benchmark application generator
×
引用
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