2010
DOI: 10.1007/978-3-642-11319-2_20
|View full text |Cite
|
Sign up to set email alerts
|

Shape Analysis in the Absence of Pointers and Structure

Abstract: Abstract. Shape analyses (Chase et al. 1990, Sagiv et al. 2002) discover properties of dynamic and/or mutable structures. We ask, "Is there an equivalent to shape analysis for purely functional programs, and if so, what 'shapes' does it discover?" By treating binding environments as dynamically allocated structures, by treating bindings as addresses, and by treating value environments as heaps, we argue that we can analyze the "shape" of higher-order functions. To demonstrate this, we enrich an abstract-interp… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2011
2011
2017
2017

Publication Types

Select...
4
3
2

Relationship

4
5

Authors

Journals

citations
Cited by 15 publications
(9 citation statements)
references
References 29 publications
0
9
0
Order By: Relevance
“…However, their applicability has been limited owing to destructive updates and pointer manipulations in imperative programs. In [15], Might describes a shape analysis of closures in higher-order programs. Our type system is capable of describing some notion of control flow for higher-order functions; e.g., the order in which the higher-order argument of foldl is applied over the list.…”
Section: Related Workmentioning
confidence: 99%
“…However, their applicability has been limited owing to destructive updates and pointer manipulations in imperative programs. In [15], Might describes a shape analysis of closures in higher-order programs. Our type system is capable of describing some notion of control flow for higher-order functions; e.g., the order in which the higher-order argument of foldl is applied over the list.…”
Section: Related Workmentioning
confidence: 99%
“…Unfortunately, this approach also only works in theory -while its runtime is faster in practice than a full 1CFA (which is exponential), it is not scalable to large program intermediate representations. Might also worked on anodization, which is a more recent technique that identifies when a binding will only take on a single value, opening up the possibility of several optimizations similar to this one [Mig10].…”
Section: Related Workmentioning
confidence: 99%
“…work on anodization [Mig10] and might have an analog in our framework. Finally, our control-flow analysis needs further optimizations, both to improve its runtime and its precision.…”
Section: Future Workmentioning
confidence: 99%