TY - GEN
T1 - Inferring method effect summaries for nested heap regions
AU - Vakilian, Mohsen
AU - Dig, Danny
AU - Bocchino, Robert
AU - Overbey, Jeffrey
AU - Adve, Vikram
AU - Johnson, Ralph
PY - 2009
Y1 - 2009
N2 - Effect systems are important for reasoning about the side effects of a program. Although effect systems have been around for decades, they have not been widely adopted in practice because of the large number of annotations that they require. A tool that infers effects automatically can make effect systems practical. We present an effect inference algorithm and an Eclipse plug-in, DPJIZER, which alleviate the burden of writing effect annotations for a language called Deterministic Parallel Java (DPJ). The key novel feature of the algorithm is the ability to infer effects on nested heap regions. Besides DPJ, we also illustrate how the algorithm can be used for a different effect system based on object ownership. Our experience shows that DPJIZER is both useful and effective: (i) inferring effect annotations automatically saves significant programming burden; and (ii) inferred effects are more precise than those written manually, and are fine-grained enough to enable the compiler to prove determinism of the program.
AB - Effect systems are important for reasoning about the side effects of a program. Although effect systems have been around for decades, they have not been widely adopted in practice because of the large number of annotations that they require. A tool that infers effects automatically can make effect systems practical. We present an effect inference algorithm and an Eclipse plug-in, DPJIZER, which alleviate the burden of writing effect annotations for a language called Deterministic Parallel Java (DPJ). The key novel feature of the algorithm is the ability to infer effects on nested heap regions. Besides DPJ, we also illustrate how the algorithm can be used for a different effect system based on object ownership. Our experience shows that DPJIZER is both useful and effective: (i) inferring effect annotations automatically saves significant programming burden; and (ii) inferred effects are more precise than those written manually, and are fine-grained enough to enable the compiler to prove determinism of the program.
UR - http://www.scopus.com/inward/record.url?scp=77951170755&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77951170755&partnerID=8YFLogxK
U2 - 10.1109/ASE.2009.68
DO - 10.1109/ASE.2009.68
M3 - Conference contribution
AN - SCOPUS:77951170755
SN - 9780769538914
T3 - ASE2009 - 24th IEEE/ACM International Conference on Automated Software Engineering
SP - 421
EP - 432
BT - ASE2009 - 24th IEEE/ACM International Conference on Automated Software Engineering
T2 - 24th IEEE/ACM International Conference on Automated Software Engineering, ASE2009
Y2 - 16 November 2009 through 20 November 2009
ER -