iReplayer: in-situ and identical record-and-replay for multithreaded applications

Hongyu Liu, Sam Silvestro, Wei Wang, Chen Tian, Tongping Liu
{"title":"iReplayer: in-situ and identical record-and-replay for multithreaded applications","authors":"Hongyu Liu, Sam Silvestro, Wei Wang, Chen Tian, Tongping Liu","doi":"10.1145/3192366.3192380","DOIUrl":null,"url":null,"abstract":"Reproducing executions of multithreaded programs is very challenging due to many intrinsic and external non-deterministic factors. Existing RnR systems achieve significant progress in terms of performance overhead, but none targets the in-situ setting, in which replay occurs within the same process as the recording process. Also, most existing work cannot achieve identical replay, which may prevent the reproduction of some errors. This paper presents iReplayer, which aims to identically replay multithreaded programs in the original process (under the \"in-situ\" setting). The novel in-situ and identical replay of iReplayer makes it more likely to reproduce errors, and allows it to directly employ debugging mechanisms (e.g. watchpoints) to aid failure diagnosis. Currently, iReplayer only incurs 3% performance overhead on average, which allows it to be always enabled in the production environment. iReplayer enables a range of possibilities, and this paper presents three examples: two automatic tools for detecting buffer overflows and use-after-free bugs, and one interactive debugging tool that is integrated with GDB.","PeriodicalId":20583,"journal":{"name":"Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2018-04-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"25","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3192366.3192380","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 25

Abstract

Reproducing executions of multithreaded programs is very challenging due to many intrinsic and external non-deterministic factors. Existing RnR systems achieve significant progress in terms of performance overhead, but none targets the in-situ setting, in which replay occurs within the same process as the recording process. Also, most existing work cannot achieve identical replay, which may prevent the reproduction of some errors. This paper presents iReplayer, which aims to identically replay multithreaded programs in the original process (under the "in-situ" setting). The novel in-situ and identical replay of iReplayer makes it more likely to reproduce errors, and allows it to directly employ debugging mechanisms (e.g. watchpoints) to aid failure diagnosis. Currently, iReplayer only incurs 3% performance overhead on average, which allows it to be always enabled in the production environment. iReplayer enables a range of possibilities, and this paper presents three examples: two automatic tools for detecting buffer overflows and use-after-free bugs, and one interactive debugging tool that is integrated with GDB.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
iReplayer:多线程应用程序的原位和相同的记录和重播
由于许多内部和外部的不确定性因素,重新执行多线程程序非常具有挑战性。现有的RnR系统在性能开销方面取得了重大进展,但没有一个针对原位设置,在原位设置中,重播发生在与记录过程相同的过程中。此外,大多数现有工作不能实现相同的重放,这可能会防止一些错误的再现。本文介绍了iReplayer,它旨在在原始进程中(在“原位”设置下)相同地重播多线程程序。iReplayer新颖的原位和相同的重放使其更有可能重现错误,并允许它直接使用调试机制(例如观察点)来帮助故障诊断。目前,iReplayer平均只产生3%的性能开销,这使得它可以在生产环境中始终启用。iReplayer提供了一系列的可能性,本文给出了三个例子:两个用于检测缓冲区溢出和use-after-free错误的自动工具,以及一个与GDB集成的交互式调试工具。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Partial control-flow linearization Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation Bayonet: probabilistic inference for networks Advanced automata-based algorithms for program termination checking Guarded impredicative polymorphism
×
引用
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