摘要

基于动态插桩的工具被广泛应用于程序分析中,但该类工具都面临着严重的性能问题。这类工具的性能开销主要由两部分组成,即插桩引擎的开销和用户定义的分析程序的开销。为降低用户定义的分析工具的开销,首先分析了基于动态插桩的工具的性能开销的组成,并通过实验分析了造成性能开销的几点原因及其对工具的性能影响;根据分析结论提出了使用离线分析方式来优化工具性能,最后通过并行数据收集来进一步提升工具性能。使用该方法能减少分析程序5%~15%的CPU占用时间。