Combined Static and Dynamic Mutability Analysis

Combined Static and Dynamic Mutability Analysis
1 / 1
Combined Static and Dynamic Mutability Analysis - slide 1 of 44 Combined Static and Dynamic Mutability Analysis - slide 2 of 44 Combined Static and Dynamic Mutability Analysis - slide 3 of 44 Combined Static and Dynamic Mutability Analysis - slide 4 of 44 Combined Static and Dynamic Mutability Analysis - slide 5 of 44 Combined Static and Dynamic Mutability Analysis - slide 6 of 44 Combined Static and Dynamic Mutability Analysis - slide 7 of 44 Combined Static and Dynamic Mutability Analysis - slide 8 of 44 Combined Static and Dynamic Mutability Analysis - slide 9 of 44 Combined Static and Dynamic Mutability Analysis - slide 10 of 44 Combined Static and Dynamic Mutability Analysis - slide 11 of 44 Combined Static and Dynamic Mutability Analysis - slide 12 of 44 Combined Static and Dynamic Mutability Analysis - slide 13 of 44 Combined Static and Dynamic Mutability Analysis - slide 14 of 44 Combined Static and Dynamic Mutability Analysis - slide 15 of 44 Combined Static and Dynamic Mutability Analysis - slide 16 of 44 Combined Static and Dynamic Mutability Analysis - slide 17 of 44 Combined Static and Dynamic Mutability Analysis - slide 18 of 44 Combined Static and Dynamic Mutability Analysis - slide 19 of 44 Combined Static and Dynamic Mutability Analysis - slide 20 of 44 Combined Static and Dynamic Mutability Analysis - slide 21 of 44 Combined Static and Dynamic Mutability Analysis - slide 22 of 44 Combined Static and Dynamic Mutability Analysis - slide 23 of 44 Combined Static and Dynamic Mutability Analysis - slide 24 of 44 Combined Static and Dynamic Mutability Analysis - slide 25 of 44 Combined Static and Dynamic Mutability Analysis - slide 26 of 44 Combined Static and Dynamic Mutability Analysis - slide 27 of 44 Combined Static and Dynamic Mutability Analysis - slide 28 of 44 Combined Static and Dynamic Mutability Analysis - slide 29 of 44 Combined Static and Dynamic Mutability Analysis - slide 30 of 44 Combined Static and Dynamic Mutability Analysis - slide 31 of 44 Combined Static and Dynamic Mutability Analysis - slide 32 of 44 Combined Static and Dynamic Mutability Analysis - slide 33 of 44 Combined Static and Dynamic Mutability Analysis - slide 34 of 44 Combined Static and Dynamic Mutability Analysis - slide 35 of 44 Combined Static and Dynamic Mutability Analysis - slide 36 of 44 Combined Static and Dynamic Mutability Analysis - slide 37 of 44 Combined Static and Dynamic Mutability Analysis - slide 38 of 44 Combined Static and Dynamic Mutability Analysis - slide 39 of 44 Combined Static and Dynamic Mutability Analysis - slide 40 of 44 Combined Static and Dynamic Mutability Analysis - slide 41 of 44 Combined Static and Dynamic Mutability Analysis - slide 42 of 44 Combined Static and Dynamic Mutability Analysis - slide 43 of 44 Combined Static and Dynamic Mutability Analysis - slide 44 of 44
Combined Static and Dynamic Mutability Analysis Shay Artzi, Adam Kiezun, David Glasser Michael D. Ernst CSAIL, MIT Parameter P of method M is: Mutable if some execution of M can change the state of Ps referent object using P Immutable if

Related Topics

Download this presentation From Below

"Combined Static and Dynamic Mutability Analysis" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

Presentation Transcript

01
Combined Static and Dynamic Mutability Analysis Shay Artzi, Adam Kiezun,
David Glasser Michael D. Ernst
CSAIL, MIT<br>
02
Parameter P of method M is:
Mutable if some execution of M can change the state of P’s referent object using P
Immutable if no such execution exists
A method is pure (side-effect free) if:
All its parameters are immutable (including receiver and global state) 2 Mutability/Immutability Definition<br>
03
3 Mutability Example class List {
…
int size(List this){ return n;}
void add(List this, Object o) {…}
List addAll(List this, List l){…}
List clone(List this){
return new List().addAll(this); }
void remove(List this, Object O) {
if(!this.contains(o)) return;
…
}
}<br>