Mark Marron, Researcher, IMDEA Software Institute
I will be giving an informal presentation of results from a recently concluded study on the heap structures that appear in “real-world” programs. This work, done in conjunction with collaborators at UC Davis and Microsoft Research, has substantial implications in a number of areas that are of interest to the researchers at Imdea. In particular the central message appears to be that heap is, in practice, a relatively simple structure where the vast majority of sharing (aliasing) and shapes that are present can be described in relatively simple ways that are closely related to standard programming idioms. This has interesting implications for type and annotation systems, the design of static analysis techniques, and work on software quality metrics.
As this work was motivated by a desire to view the heap from a naturalistic viewpoint (where we have an artifact which we wish to measure and understand) instead of an analytic viewpoint (where the heap is a defined by a known formalism) a substantial portion of the talk with be devoted to presenting the resulting measurements. I will, of course, present our interpretation of what these measurements mean wrt. understanding the heap in practice and our thoughts on the potential implications. However, as the goal of this work was to produce quantitative measurements that could be used to form and refute hypothesis about the heap in “practice” I also hope to solicit insights and thoughts from the audience.