Accumulation Analysis
Accumulation Analysis
复制标题
DOI:
10.4230/lipics.ecoop.2022.10
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Martin Kellogg;Narges Shadab;Manu Sridharan;Michael D. Ernst
中科院分区:
文献类型:
--
作者:
Martin Kellogg;Narges Shadab;Manu Sridharan;Michael D. Ernst
10 A typestate specification indicates which behaviors of an object are permitted in each of the 11 object’s states. In the general case, soundly checking a typestate specification requires precise 12 information about aliasing (i.e., an alias or pointer analysis), which is computationally expensive. 13 This requirement has hindered the adoption of sound typestate analyses in practice. 14 This paper identifies accumulation typestate specifications , which are the subset of typestate 15 specifications that can be soundly checked without any information about aliasing. An accumulation 16 typestate specification can be checked instead by an accumulation analysis: a simple, fast dataflow 17 analysis that conservatively approximates the operations that have been performed on an object. 18 This paper formalizes the notions of accumulation analysis and accumulation typestate specifica- 19 tion. It proves that accumulation typestate specifications are exactly those typestate specifications 20 that can be checked soundly without aliasing information. Further, 41% of the typestate specifications 21 that appear in the research literature are accumulation typestate specifications. 22 in National Science