2008
DOI: 10.1007/978-3-540-93900-9_7
|View full text |Cite
|
Sign up to set email alerts
|

Mostly-Functional Behavior in Java Programs

Abstract: Abstract. We present a lightweight type-and-effect system for Java programs that features two major innovations over extant object-oriented effects systems: initialization effects, which are writes to an object's state while it is being constructed, and quiescing fields, which are fields that are never written after an object is constructed. We also present a novel taxonomy of degrees of method purity in object-oriented programs, which characterizes methods whose effects are confined to their receiver object. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
4
0

Year Published

2011
2011
2018
2018

Publication Types

Select...
3
1
1

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(4 citation statements)
references
References 14 publications
0
4
0
Order By: Relevance
“…The results in this paper show that, despite previous experience suggesting otherwise [12,7], strong updates and the associated machinery are not critical in practice, and that weak updates are sufficient for computing large amounts of useful shape and sharing information in real world object-oriented programs. This conclusion is reached via experimental evaluation with the heap analysis constructed in this paper, Structural Analysis, and an analysis of other recent empirical research [2,1,41,3,5]. Thus, this work opens new possibilities for exploring the relationships between shape and points-to analyses and represents a new approach to building scalable and precise memory analysis tools.…”
Section: Introductionmentioning
confidence: 60%
See 2 more Smart Citations
“…The results in this paper show that, despite previous experience suggesting otherwise [12,7], strong updates and the associated machinery are not critical in practice, and that weak updates are sufficient for computing large amounts of useful shape and sharing information in real world object-oriented programs. This conclusion is reached via experimental evaluation with the heap analysis constructed in this paper, Structural Analysis, and an analysis of other recent empirical research [2,1,41,3,5]. Thus, this work opens new possibilities for exploring the relationships between shape and points-to analyses and represents a new approach to building scalable and precise memory analysis tools.…”
Section: Introductionmentioning
confidence: 60%
“…Recent empirical work on the structure and behavior of the heap in modern objectoriented programs has shed light on how heap structures are constructed [41,3], the configuration of the pointers and objects in them [5], and their invariant structural properties [31,2,1]. These results affirm several common assumptions about how object-oriented programs are designed and how the heap structures in them behave.…”
Section: Introductionmentioning
confidence: 74%
See 1 more Smart Citation
“…writes to object state during construction) and quiesing fields (i.e. fields which are never written after construction) [2]. Their approach is parameterised on the pointer analysis algorithm.…”
Section: Related Workmentioning
confidence: 99%