期刊文献+

一种面向有环兴趣路径的过程内剖析方法 被引量:2

An Approach of Profiling Selected Paths with Loops
下载PDF
导出
摘要 路径剖析技术用于获取和分析程序中各条路径的执行次数.路径剖析采用在待剖析程序中插装探针的方式以跟踪执行,并使用对路径进行编码的方式以高效地获取剖析结果.选择性剖析是针对用户感兴趣的一部分路径,在非选择性剖析技术的基础上进行优化,以尽可能低的耗费来完成剖析.现有的选择性剖析技术采用的优化措施局限于减少探针数目和压缩路径编码空间,而且其允许的用户兴趣路径局限于无环路径.文中提出了一种新的选择性剖析方法 PSP(Profiling Selected Paths),可以精确的剖析带有循环的兴趣路径,并使用了在执行过程中对非兴趣路径进行检测和提前终止的技术来降低耗费.理论分析和实验评估表明PSP方法能够精确地剖析兴趣路径,并使用兴趣路径来提升剖析效率. Path profiling records the frequency of each path in an executed program. To accom- plish profiling, probes are instrumented in the program and executed as the program runs. So the number of probes has a significant impact on the efficiency of a profiling technique. By profiling only the interesting paths, existing techniques try to improve the profiling efficiency by reducing probes and optimizing path encodings for efficient storage. However, they lack accuracy, waste time on running uninteresting paths, and mainly deal with acyclic paths. In this paper, a novel technique called PSP (Profiling Selected Paths) is introduced to profile selected paths, which enables custom selection for both acyclic and cyclic paths, and increases the execution efficiency by early termination on uninteresting paths. Theoretical analysis and experimental evaluation indicate that PSP performs effectively in optimization of selective profiling.
出处 《计算机学报》 EI CSCD 北大核心 2014年第12期2464-2481,共18页 Chinese Journal of Computers
基金 国家自然科学基金(61402103) 江苏省自然科学基金(BK20130633 BK20140644)资助~~
关键词 路径剖析 兴趣路径 动态分析 软件测试 path profiling interesting paths dynamic analysis software testing
  • 相关文献

参考文献23

  • 1Ball T, Larus J R. Programs follow paths. Microsoft Research, Washington: Technical Report MSR-TR-99-01, 1999.
  • 2Tallam S: Zhang X, Gupta R. Extending path profiling across loop backedges and procedure boundaries//Proceedings of the International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization (CGO). Palo Alto, USA, 2004:251-264.
  • 3Bodik R, Gupta R, Sofia M L. Interprocedural conditional branch elimination//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implemen- tation (PLDI). Las Vegas, USA, 1997:146-158.
  • 4Bodik R, Gupta R. Partial dead code elimination using slicing transformations//Proceedings of the ACM SIGPLAN Confer- ence on Programming Language Design and Implementation (PLDI). Las Vegas, USA, 1997:159-170.
  • 5Bodik R, Gupta R, Sofia M L. Complete removal of redundant expressions//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implemen- tation (PLDI). Montreal, Canada, 1998:1-14.
  • 6Bodik R, Gupta R, Sof{a M L. Load-reuse analysis: Design and evaluation//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). Atlanta, USA, 1999:64-76.
  • 7Bodik R, Gupta R, Sarkar V. ABCD: Eliminating array bounds checks on demand//Proceedings of the ACM S1GP LAN Conference on Programming Language Design and Implementation ( PLDI ). Vancouver, British Columbia, Canada, 2000:321 333.
  • 8Gupta R, Berson D, Fang J Z. Resource sensitive profile- directed data flow analysis for code optimization//Proceedings of the 30th Annual ACM/IEEE International Symposium on Microarchitecture (MICRO). Research Triangle Park, USA, 1997:558-568.
  • 9Gupta R, Berson D, Fang J Z. Path profile guided partial dead code elimination using predication//Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT). San Francisco, USA, 1997:102-115.
  • 10Gupta R, Berson D, Fang J Z. Path profile guided partial redundancy elimination using speculation//Proceedings of the IEEE International Conference on Computer Languages (ICCL). Chicago, USA, 1998:230-239.

二级参考文献27

  • 1Ball T, Larus JR. Programs follow paths. Technical Report, MSR-TR-99-01, Washington: Microsoft Research, 1999.
  • 2Ball T, Mataga P, Sagiv M. Edge profiling versus path profiling: The showdown. In: Proc. of the 25th ACM SIGPLANSIGACT Symp. on Principles of Programming Languages. New York: ACM Press, 1998. 134-148 [doi: 10.1145/268946.268958].
  • 3Anderson JM, Berc LM, Dean J, Ghemawat S, Henzinger MR, Leung STA, Sites RL, Vandevoorde MT, Waldspurger CA, Weihl WE. Continuous profiling: Where have all the cycles gone? Journal of ACM, 1997,15(4):357-390. [doi: 10.1145/265924.265925].
  • 4Zhang XL, Wang Z, Gloy N, Chen JB, Smith MD. System support for automatic profiling and optimization. Journal of ACM, 1997, 31(5):15-26. [doi: 10.1145/269005.266640].
  • 5Conte TM, Menezes KN, Hirsch MA. Accurate and practical profile-driven compilation using the profile buffer. In: Proc. of the 29th Annual ACM/IEEE Int'l Syrup. on Microarchitecture. Washington: IEEE Computer Society, 1996. 36-45. [dol: 10.1109/ MICRO. 1996.566448].
  • 6Conte TM, Patel BA, Cox JS. Using branch handling hardware to support profile-driven optimization. In: Proc. of the 27th Annual Int'l Symp. on Microarchitecture. New York: ACM Press, 1994. 12-21. [doi: 10.1145/192724.192726].
  • 7Dean J, Hicks JE, Waldspurger CA,Weihl WE, Chrysos G. ProfileMe: Hardware support for instruction-level profiling on outof- order processors. In: Proc. of the 30th Annual ACM/IEEE Int'l Symp. on Microarchitecture. Washington: IEEE Computer Society, 1997.292-302. [dol: 10.1109/MICRO.1997.645821].
  • 8Heil T, Smith JE. Relational profiling: enabling thread-level parallelism in virtual machines. In: Proc. of the 33rd Annual ACM/IEEE Int'l Symp. on Microarchitecture. New York: ACM Press, 2000. 281-290. [doi: 10.1145/360128.360156].
  • 9Bond MD, McKinley KS. Practical path profiling for dynamic optimizers. In: Proc. of the Int'l Symp. on Code Generation and Optimization (CGO). Washington: IEEE Computer Society, 2005.205-216. [doi: 10.1109/CGO.2005.28].
  • 10Ball T, Larus JR. Optimally profiling and tracing programs. ACM Trans. on Programming Languages and Systems, 1994,16(4): 1319-1360. [doi: 10.1145/183432.183527].

共引文献2

同被引文献9

引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部