首页> 外文期刊>ACM transactions on software engineering and methodology >Concurrency Debugging with Differential Schedule Projections
【24h】

Concurrency Debugging with Differential Schedule Projections

机译:差异调度投影的并发调试

获取原文
获取原文并翻译 | 示例

摘要

We present Symbiosis: a concurrency debugging technique based on novel differential schedule projections (DSPs). A DSP shows the small set of memory operations and dataflows responsible for a failure, as well as a reordering of those elements that avoids the failure. To build a DSP, Symbiosis first generates a full, failing, multithreaded schedule via thread path profiling and symbolic constraint solving. Symbiosis selectively reorders events in the failing schedule to produce a nonfailing, alternate schedule. A DSP reports the ordering and dataflow differences between the failing and nonfailing schedules. Our evaluation on buggy real-world software and benchmarks shows that, in practical time, Symbiosis generates DSPs that both isolate the small fraction of event orders and dataflows responsible for the failure and report which event reorderings prevent failing. In our experiments, DSPs contain 90% fewer events and 96% fewer dataflows than the full failure-inducing schedules. We also conducted a user study that shows that, by allowing developers to focus on only a few events, DSPs reduce the amount of time required to understand the bug's root cause and find a valid fix.
机译:我们介绍了Symbiosis:一种基于新颖的差分进度计划(DSP)的并发调试技术。 DSP显示负责故障的一小部分存储器操作和数据流,以及避免故障的那些元素的重新排序。为了构建DSP,Symbiosis首先通过线程路径分析和符号约束解决方案生成完整的,失败的多线程计划。共生选择性地对失败的计划中的事件进行重新排序,以生成不失败的备用计划。 DSP报告失败计划和不失败计划之间的排序和数据流差异。我们对多虫的现实世界软件和基准的评估表明,在实际时间内,Symbiosis会生成DSP,该DSP可以隔离事件的一小部分事件和造成故障的数据流,并报告哪些事件重新排序可以防止失败。在我们的实验中,与引发故障的完整计划相比,DSP包含的事件减少了90%,数据流减少了96%。我们还进行了一项用户研究,该研究表明,通过允许开发人员仅关注少数事件,DSP减少了了解bug根本原因并找到有效解决方案所需的时间。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号