TY - JOUR
T1 - Parametric shape analysis via 3-valued logic
AU - Sagiv, Mooly
AU - Reps, Thomas
AU - Wilhelm, Reinhard
PY - 1999
Y1 - 1999
N2 - We present a family of abstract-interpretation algorithms that are capable of determining `shape invariants' of programs that perform destructive updating on dynamically allocated storage. The main idea is to represent the stores that can possibly arise during execution using three-valued logical structures. Questions about properties of stores can be answered by evaluating predicate-logic formulae using Kleene's semantics of three-valued logic: If a formula evaluates to true, then the formula holds in every store represented by the three-valued structure. If a formula evaluates to false, then the formula does not hold in any store represented by the three-valued structure. If a formula evaluates to unknown, then we do not know if this formula always holds, never holds, or sometimes holds and sometimes does not hold in the stores represented by the three-valued structure. Three-valued logical structures are thus a conservative representation of memory stores. The approach described is a parametric framework: It provides the basis for generating a family of shape-analysis algorithms by varying the vocabulary used in the three-valued logic.
AB - We present a family of abstract-interpretation algorithms that are capable of determining `shape invariants' of programs that perform destructive updating on dynamically allocated storage. The main idea is to represent the stores that can possibly arise during execution using three-valued logical structures. Questions about properties of stores can be answered by evaluating predicate-logic formulae using Kleene's semantics of three-valued logic: If a formula evaluates to true, then the formula holds in every store represented by the three-valued structure. If a formula evaluates to false, then the formula does not hold in any store represented by the three-valued structure. If a formula evaluates to unknown, then we do not know if this formula always holds, never holds, or sometimes holds and sometimes does not hold in the stores represented by the three-valued structure. Three-valued logical structures are thus a conservative representation of memory stores. The approach described is a parametric framework: It provides the basis for generating a family of shape-analysis algorithms by varying the vocabulary used in the three-valued logic.
UR - http://www.scopus.com/inward/record.url?scp=0032684782&partnerID=8YFLogxK
U2 - 10.1145/292540.292552
DO - 10.1145/292540.292552
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.conferencearticle???
AN - SCOPUS:0032684782
SN - 0730-8566
SP - 105
EP - 118
JO - Conference Record of the Annual ACM Symposium on Principles of Programming Languages
JF - Conference Record of the Annual ACM Symposium on Principles of Programming Languages
T2 - The 1999 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Language, POPL'99
Y2 - 20 January 1999 through 22 January 1999
ER -