Dynamic shape analysis via degree metrics

Dynamic shape analysis via degree metrics
复制标题

通过度数度量进行动态形状分析

DOI:
--
复制
发表时间:
2009
期刊:
International Symposium on Mathematical Morphology and Its Application to Signal and Image Processing
影响因子:
--
通讯作者:
K. McKinley
K. McKinley
中科院分区:
--
文献类型:
--
作者:
M. Jump;K. McKinley

文献摘要

被引文献

相似文献

Applications continue to increase in size and complexity which makes debugging and program understanding more challenging. Programs written in managed languages, such as Java, C#, and Ruby, further exacerbate this challenge because they tend to encode much of their state in the heap. This paper introduces dynamic shape analysis, which seeks to characterize data structures in the heap by dynamically summarizing the object pointer relationships and detecting dynamic degree metrics based on class. The analysis identifies recursive data structures, automatically discovers dynamic degree metrics, and reports errors when degree metrics are violated. Uses of dynamic shape analysis include helping programmers find data structure errors during development, generating assertions for verification with static or dynamic analysis, and detecting subtle errors in deployment. We implement dynamic shape analysis in a Java Virtual Machine (JVM). Using SpecJVM and DaCapo benchmarks, we show that most objects in the heap are part of recursive data structures that maintain strong dynamic degree metrics. We show that once dynamic shape analysis establishes degree metrics from correct executions, it can find automatically inserted errors on subsequent executions in microbenchmarks. These suggests it can be used in deployment for improving software reliability.