TitleAccumulation analysis
Publication TypeConference Paper
Year of Publication2022
AuthorsKellogg M, Shadab N, Sridharan M, Ernst MD
Conference NameECOOP 2022 –- Object-Oriented Programming, 33rd European Conference
Pagination10:1-10:31
Date or Month PublishedJune
Conference LocationBerlin, Germany
AbstractA typestate specification indicates which behaviors of an object are permitted in each of the object's states. In the general case, soundly checking a typestate specification requires precise information about aliasing (i.e., an alias or pointer analysis), which is computationally expensive. This requirement has hindered the adoption of sound typestate analyses in practice. \par This paper identifies \emphaccumulation typestate specifications, which are the subset of typestate specifications that can be soundly checked without any information about aliasing. An accumulation typestate specification can be checked instead by an accumulation analysis: a simple, fast dataflow analysis that conservatively approximates the operations that have been performed on an object. \par This paper formalizes the notions of accumulation analysis and accumulation typestate specification. It proves that accumulation typestate specifications are exactly those typestate specifications that can be checked soundly without aliasing information. research literature are accumulation typestate specifications.
Downloadshttps://docs.google.com/presentation/d/1cEk5wH9L1a5a9bXof3BmA7DN6Nwx9NIV... slides (Google Slides) https://checkerframework.org/ implementation https://doi.org/10.5281/zenodo.5771196 artifact
Citation KeyKelloggSSE2022