2005
DOI: 10.1002/cpe.853
|View full text |Cite
|
Sign up to set email alerts
|

Immutability specification and its applications

Abstract: SUMMARYA location is said to be immutable if its value and the values of selected locations reachable from it are guaranteed to remain unchanged during a specified time interval. We introduce a framework for immutability specification, and discuss its application to code optimization. Compared with a final declaration, an immutability assertion in our framework can express a richer set of immutability properties along three dimensions-lifetime, reachability and context. We present a framework for processing an… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
26
0

Year Published

2005
2005
2020
2020

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 26 publications
(26 citation statements)
references
References 8 publications
0
26
0
Order By: Relevance
“…Immutability information is useful in many software engineering tasks, such as modeling [7], verification [30], compile-and runtime optimizations [9,25,28], refactoring [17], test input generation [1], regression oracle creation [24,32], invariant detection [15], specification mining [10], and program comprehension [13]. Three varieties of immutability guarantee are: Class immutability No instance of an immutable class may be changed; examples in Java include String and most subclasses of Number such as Integer and BigDecimal.…”
Section: Introductionmentioning
confidence: 99%
“…Immutability information is useful in many software engineering tasks, such as modeling [7], verification [30], compile-and runtime optimizations [9,25,28], refactoring [17], test input generation [1], regression oracle creation [24,32], invariant detection [15], specification mining [10], and program comprehension [13]. Three varieties of immutability guarantee are: Class immutability No instance of an immutable class may be changed; examples in Java include String and most subclasses of Number such as Integer and BigDecimal.…”
Section: Introductionmentioning
confidence: 99%
“…public, protected, private) had any bearing on the likelihood of a field being declared or undeclared final. It would also be interesting to extend our analysis to detect deep stationary behaviour, similar to the smaller analysis of Pechtchanski and Sarkar [20].…”
Section: Resultsmentioning
confidence: 84%
“…Pechtchanski and Sarkar present an interesting study of field immutability [20]. Their work includes a framework for specifying and verifying both shallow and deep field immutability, as well as a runtime study that found that at least 61% of field accesses were immutable, a similar property to stationary fields.…”
Section: Threats To Validitymentioning
confidence: 99%
“…This leads to the definition of immutability of an object [8], in relationship to the semantics of the program: an object is immutable if it is never modified by the code of the program. Our approach is to detect all immutable objects and to place them in ROM.…”
Section: Placing Data In Rommentioning
confidence: 99%