Dynamic and Adaptive Calling Context Encoding

Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization(2014)

引用 7|浏览0
暂无评分
摘要
Calling context has been widely used in many software development processes such as testing, event logging, and program analysis. It plays an even more important role in data race detection and performance bottleneck analysis for multi-threaded programs. This paper presents DACCE (Dynamic and Adaptive Calling Context Encoding), an efficient runtime encoding/decoding mechanism for single-threaded and multi-threaded programs that captures dynamic calling contexts. It can dynamically encode all call paths invoked at runtime, and adjust the encodings according to program's execution behavior. In contrast to existing context encoding method, DACCE can work on incomplete call graph, and it does not require source code analysis and offline profiling to conduct context encoding. DACCE has significantly expanded the functionality and applicability of calling context with even lower runtime overhead. DACCE is very efficient based on experiments with SPEC CPU2006 and Parsec 2.1 (with about 2% of runtime overhead) and effective for all tested benchmarks.
更多
查看译文
关键词
runtime overhead,efficient runtime encoding,source code analysis,performance bottleneck analysis,dynamic calling context,context encoding,existing context,program analysis,multi-threaded program,call path,adaptive,dynamic analysis
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要