TY - GEN
T1 - From object fields to local variables
T2 - 17th International Static Analysis Symposium, SAS 2010
AU - Albert, Elvira
AU - Arenas, Puri
AU - Genaim, Samir
AU - Puebla, German
AU - Ramírez Deantes, Diana Vanessa
PY - 2010/11/12
Y1 - 2010/11/12
N2 - Static analysis which takes into account the value of data stored in the heap is typically considered complex and computationally intractable in practice. Thus, most static analyzers do not keep track of object fields (or fields for short), i.e., they are field-insensitive. In this paper, we propose locality conditions for soundly converting fields into local variables. This way, field-insensitive analysis over the transformed program can infer information on the original fields. Our notion of locality is context-sensitive and can be applied both to numeric and reference fields. We propose then a polyvariant transformation which actually converts object fields meeting the locality condition into variables and which is able to generate multiple versions of code when this leads to increasing the amount of fields which satisfy the locality conditions. We have implemented our analysis within a termination analyzer for Java bytecode.
AB - Static analysis which takes into account the value of data stored in the heap is typically considered complex and computationally intractable in practice. Thus, most static analyzers do not keep track of object fields (or fields for short), i.e., they are field-insensitive. In this paper, we propose locality conditions for soundly converting fields into local variables. This way, field-insensitive analysis over the transformed program can infer information on the original fields. Our notion of locality is context-sensitive and can be applied both to numeric and reference fields. We propose then a polyvariant transformation which actually converts object fields meeting the locality condition into variables and which is able to generate multiple versions of code when this leads to increasing the amount of fields which satisfy the locality conditions. We have implemented our analysis within a termination analyzer for Java bytecode.
UR - https://www.scopus.com/pages/publications/78149239638
U2 - 10.1007/978-3-642-15769-1_7
DO - 10.1007/978-3-642-15769-1_7
M3 - Conference contribution
AN - SCOPUS:78149239638
SN - 3642157688
SN - 9783642157684
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 100
EP - 116
BT - Static Analysis - 17th International Symposium, SAS 2010, Proceedings
Y2 - 14 September 2010 through 16 September 2010
ER -