arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2201.00060cs.SEcs.PL
收藏

Statistical Program Slicing:一种用于部署软件分析的混合切片技术

Statistical Program Slicing: a Hybrid Slicing Technique for Analyzing Deployed Software

Bogdan Alexandru Stoica, Swarup K. Sahoo, James R. Larus, Vikram S. Adve

摘要:

动态程序切片可以通过将其缩小到相关程序语句的子集来显著减少开发人员需要检查的代码。然而,尽管大量的研究表明它的有用性,动态切片仍然是短期的生产级使用,由于运行时插装成本高。作为替代方案,我们提出了统计程序切片,一种新的混合动态-静态切片技术,探讨了准确性和运行时成本之间的权衡。我们的方法依赖于现代硬件支持的控制流监控和一个新的,协同堆内存跟踪机制结合静态程序分析的数据流跟踪。我们评估统计切片调试21个故障,从6个广泛部署的应用程序,并显示它恢复94%的程序语句的动态切片,只有5%的开销。

英文摘要:

Dynamic program slicing can significantly reduce the code developers need to inspect by narrowing it down to only a subset of relevant program statements. However, despite an extensive body of research showing its usefulness, dynamic slicing is still short from production-level use due to the high cost of runtime instrumentation. As an alternative, we propose statistical program slicing, a novel hybrid dynamic-static slicing technique that explores the trade-off between accuracy and runtime cost. Our approach relies on modern hardware support for control flow monitoring and a novel, cooperative heap memory tracing mechanism combined with static program analysis for data flow tracking. We evaluate statistical slicing for debugging on 21 failures from 6 widely deployed applications and show it recovers 94% of the program statements on a dynamic slice with only 5% overhead.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑