cs0608104/hra.bbl
1: \begin{thebibliography}{}
2: 
3: \bibitem[\protect\citeauthoryear{Agesen, Detlefs, and Moss}{Agesen
4:   et~al\mbox{.}}{1998}]{AgesenDetMos98}
5: {\sc Agesen, O.}, {\sc Detlefs, D.}, {\sc and} {\sc Moss, J.~E.} 1998.
6: \newblock Garbage collection and local variable type-precision and liveness in
7:   {J}ava virtual machines.
8: \newblock In {\em PLDI '98: Proceedings of the ACM SIGPLAN 1998 conference on
9:   Programming language design and implementation}. ACM Press, New York, NY,
10:   USA, 269--279.
11: 
12: \bibitem[\protect\citeauthoryear{Aho, Sethi, and Ullman}{Aho
13:   et~al\mbox{.}}{1986}]{asu}
14: {\sc Aho, A.~V.}, {\sc Sethi, R.}, {\sc and} {\sc Ullman, J.~D.} 1986.
15: \newblock {\em Compilers -- Principles, Techniques, and Tools}.
16: \newblock Addison-Wesley.
17: 
18: \bibitem[\protect\citeauthoryear{Blanchet}{Blanchet}{1999}]{Blanchet:1999:EAO}
19: {\sc Blanchet, B.} 1999.
20: \newblock Escape analysis for object-oriented languages: application to {J}ava.
21: \newblock In {\em OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on
22:   Object-oriented programming, systems, languages, and applications}. ACM
23:   Press, New York, NY, USA, 20--34.
24: 
25: \bibitem[\protect\citeauthoryear{Blanchet}{Blanchet}{2003}]{Blanchet:2003:EAJ}
26: {\sc Blanchet, B.} 2003.
27: \newblock Escape analysis for {Java$^{TM}$}: {T}heory and practice.
28: \newblock {\em ACM Transactions on Programming Languages and Systems\/}~{\em
29:   25,\/}~6, 713--775.
30: 
31: \bibitem[\protect\citeauthoryear{Boehm}{Boehm}{}]{gcbench}
32: {\sc Boehm, H.}
33: \newblock An artificial garbage collection benchmark.
34: \newblock \url{http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_bench.html}.
35: 
36: \bibitem[\protect\citeauthoryear{Cannarozzi, Plezbert, and Cytron}{Cannarozzi
37:   et~al\mbox{.}}{2000}]{cann00}
38: {\sc Cannarozzi, D.~J.}, {\sc Plezbert, M.~P.}, {\sc and} {\sc Cytron, R.~K.}
39:   2000.
40: \newblock Contaminated garbage collection.
41: \newblock In {\em PLDI '00: Proceedings of the ACM SIGPLAN 2000 conference on
42:   Programming language design and implementation}. ACM Press, New York, NY,
43:   USA, 264--273.
44: 
45: \bibitem[\protect\citeauthoryear{Carlisle}{Carlisle}{1996}]{jolden}
46: {\sc Carlisle, M.~C.} 1996.
47: \newblock Olden: Parallelizing programs with dynamic data structures on
48:   distributed-memory machines.
49: \newblock Ph.D. thesis, Princeton University.
50: 
51: \bibitem[\protect\citeauthoryear{Chase, Wegman, and Zadeck}{Chase
52:   et~al\mbox{.}}{1990}]{ChaseWegZad90}
53: {\sc Chase, D.~R.}, {\sc Wegman, M.}, {\sc and} {\sc Zadeck, F.~K.} 1990.
54: \newblock Analysis of pointers and structures.
55: \newblock In {\em PLDI '90: Proceedings of the ACM SIGPLAN 1990 conference on
56:   Programming language design and implementation}. ACM Press, New York, NY,
57:   USA, 296--310.
58: 
59: \bibitem[\protect\citeauthoryear{Cheng and Hwu}{Cheng and
60:   Hwu}{2000}]{cheng00modular}
61: {\sc Cheng, B.-C.} {\sc and} {\sc Hwu, W.-M.~W.} 2000.
62: \newblock Modular interprocedural pointer analysis using access paths: design,
63:   implementation, and evaluation.
64: \newblock In {\em PLDI '00: Proceedings of the ACM SIGPLAN 2000 conference on
65:   Programming language design and implementation}. ACM Press, New York, NY,
66:   USA, 57--69.
67: 
68: \bibitem[\protect\citeauthoryear{Cherem and Rugina}{Cherem and
69:   Rugina}{2006}]{cherem06compile}
70: {\sc Cherem, S.} {\sc and} {\sc Rugina, R.} 2006.
71: \newblock Compile-time deallocation of individual objects.
72: \newblock In {\em ISMM '06: Proceedings of the 2006 international symposium on
73:   Memory management}. ACM Press, New York, NY, USA, 138--149.
74: 
75: \bibitem[\protect\citeauthoryear{Choi, Burke, and Carini}{Choi
76:   et~al\mbox{.}}{1993}]{choi93efficient}
77: {\sc Choi, J.-D.}, {\sc Burke, M.}, {\sc and} {\sc Carini, P.} 1993.
78: \newblock Efficient flow-sensitive interprocedural computation of
79:   pointer-induced aliases and side effects.
80: \newblock In {\em POPL '93: Proceedings of the 20th ACM SIGPLAN-SIGACT
81:   symposium on Principles of programming languages}. ACM Press, New York, NY,
82:   USA, 232--245.
83: 
84: \bibitem[\protect\citeauthoryear{Choi, Gupta, Serrano, Sreedhar, and
85:   Midkiff}{Choi et~al\mbox{.}}{1999}]{choi99escape}
86: {\sc Choi, J.-D.}, {\sc Gupta, M.}, {\sc Serrano, M.}, {\sc Sreedhar, V.~C.},
87:   {\sc and} {\sc Midkiff, S.} 1999.
88: \newblock Escape analysis for {J}ava.
89: \newblock In {\em OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on
90:   Object-oriented programming, systems, languages, and applications}. ACM
91:   Press, New York, NY, USA, 1--19.
92: 
93: \bibitem[\protect\citeauthoryear{Gadbois, Fiterman, Chase, Shapiro, Nilsen,
94:   Haahr, Barnes, and Pirinen}{Gadbois et~al\mbox{.}}{}]{gcfaq}
95: {\sc Gadbois, D.}, {\sc Fiterman, C.}, {\sc Chase, D.}, {\sc Shapiro, M.}, {\sc
96:   Nilsen, K.}, {\sc Haahr, P.}, {\sc Barnes, N.}, {\sc and} {\sc Pirinen,
97:   P.~P.}
98: \newblock The {GC FAQ}.
99: \newblock \url{http://www.iecc.com/gclist/GC-faq.html}.
100: 
101: \bibitem[\protect\citeauthoryear{Guyer, McKinley, and Frampton}{Guyer
102:   et~al\mbox{.}}{2006}]{guyer06free}
103: {\sc Guyer, S.~Z.}, {\sc McKinley, K.~S.}, {\sc and} {\sc Frampton, D.} 2006.
104: \newblock Free-me: a static analysis for automatic individual object
105:   reclamation.
106: \newblock In {\em PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on
107:   Programming language design and implementation}. ACM Press, New York, NY,
108:   USA, 364--375.
109: 
110: \bibitem[\protect\citeauthoryear{Hackett and Rugina}{Hackett and
111:   Rugina}{2005}]{hackett05region}
112: {\sc Hackett, B.} {\sc and} {\sc Rugina, R.} 2005.
113: \newblock Region-based shape analysis with tracked locations.
114: \newblock In {\em POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT
115:   symposium on Principles of programming languages}. ACM Press, New York, NY,
116:   USA, 310--323.
117: 
118: \bibitem[\protect\citeauthoryear{Hallenberg, Elsman, and Tofte}{Hallenberg
119:   et~al\mbox{.}}{2002}]{tofte-region-pldi-02}
120: {\sc Hallenberg, N.}, {\sc Elsman, M.}, {\sc and} {\sc Tofte, M.} 2002.
121: \newblock Combining region inference and garbage collection.
122: \newblock In {\em PLDI '02: Proceedings of the ACM SIGPLAN 2002 Conference on
123:   Programming language design and implementation}. ACM Press, New York, NY,
124:   USA, 141--152.
125: 
126: \bibitem[\protect\citeauthoryear{Hecht}{Hecht}{1977}]{hect}
127: {\sc Hecht, M.~S.} 1977.
128: \newblock {\em Flow Analysis of Computer Programs}.
129: \newblock Elsevier North-Holland Inc.
130: 
131: \bibitem[\protect\citeauthoryear{Hind, Burke, Carini, and Choi}{Hind
132:   et~al\mbox{.}}{1999}]{hind99interprocedural}
133: {\sc Hind, M.}, {\sc Burke, M.}, {\sc Carini, P.}, {\sc and} {\sc Choi, J.-D.}
134:   1999.
135: \newblock Interprocedural pointer alias analysis.
136: \newblock {\em ACM Transactions on Programming Languages and Systems\/}~{\em
137:   21,\/}~4, 848--894.
138: 
139: \bibitem[\protect\citeauthoryear{Hirzel, Diwan, and Henkel}{Hirzel
140:   et~al\mbox{.}}{2002}]{Hirzel.liveness.02}
141: {\sc Hirzel, M.}, {\sc Diwan, A.}, {\sc and} {\sc Henkel, J.} 2002.
142: \newblock On the usefulness of type and liveness accuracy for garbage
143:   collection and leak detection.
144: \newblock {\em ACM Transactions on Programming Languages and Systems\/}~{\em
145:   24,\/}~6, 593--624.
146: 
147: \bibitem[\protect\citeauthoryear{Hirzel, Henkel, Diwan, and Hind}{Hirzel
148:   et~al\mbox{.}}{2002}]{hirz02}
149: {\sc Hirzel, M.}, {\sc Henkel, J.}, {\sc Diwan, A.}, {\sc and} {\sc Hind, M.}
150:   2002.
151: \newblock Understanding the connectivity of heap objects.
152: \newblock In {\em ISMM '02: Proceedings of the 3rd international symposium on
153:   Memory management}. ACM Press, New York, NY, USA, 36--49.
154: 
155: \bibitem[\protect\citeauthoryear{Horwitz, Pfeiffer, and Reps}{Horwitz
156:   et~al\mbox{.}}{1989}]{horw89dependence}
157: {\sc Horwitz, S.}, {\sc Pfeiffer, P.}, {\sc and} {\sc Reps, T.} 1989.
158: \newblock Dependence analysis for pointer variables.
159: \newblock In {\em PLDI '89: Proceedings of the ACM SIGPLAN 1989 Conference on
160:   Programming language design and implementation}. ACM Press, New York, NY,
161:   USA, 28--40.
162: 
163: \bibitem[\protect\citeauthoryear{Iyer}{Iyer}{2005}]{hra.AG.Safety}
164: {\sc Iyer, P.~C.} 2005.
165: \newblock {PVS} based proofs of safety properties of access graph operations.
166: \newblock \url{http://www.cse.iitb.ac.in/~uday/hraResources/AGSafety.html}.
167: 
168: \bibitem[\protect\citeauthoryear{Jones and Muchnick}{Jones and
169:   Muchnick}{1979}]{DBLP:conf/popl/JonesM79}
170: {\sc Jones, N.~D.} {\sc and} {\sc Muchnick, S.~S.} 1979.
171: \newblock Flow analysis and optimization of lisp-like structures.
172: \newblock In {\em POPL '79: Proceedings of the 6th ACM SIGACT-SIGPLAN symposium
173:   on Principles of programming languages}. ACM Press, New York, NY, USA,
174:   244--256.
175: 
176: \bibitem[\protect\citeauthoryear{Jones and Muchnick}{Jones and
177:   Muchnick}{1982}]{jones82flexible}
178: {\sc Jones, N.~D.} {\sc and} {\sc Muchnick, S.~S.} 1982.
179: \newblock A flexible approach to interprocedural data flow analysis and
180:   programs with recursive data structures.
181: \newblock In {\em POPL '82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium
182:   on Principles of programming languages}. ACM Press, New York, NY, USA,
183:   66--74.
184: 
185: \bibitem[\protect\citeauthoryear{Karkare}{Karkare}{2005}]{hra.prototype}
186: {\sc Karkare, A.} 2005.
187: \newblock {XSB}-{P}rolog based prototype implementation of heap reference
188:   analysis.
189: \newblock \url{http://www.cse.iitb.ac.in/~uday/hraResources/hraPrototpye.html}.
190: 
191: \bibitem[\protect\citeauthoryear{Karkare, Khedker, and Sanyal}{Karkare
192:   et~al\mbox{.}}{2007}]{karkare07liveness}
193: {\sc Karkare, A.}, {\sc Khedker, U.}, {\sc and} {\sc Sanyal, A.} 2007.
194: \newblock Liveness of heap data for functional programs.
195: \newblock In {\em HAV 2007: Heap Analysis and Verification Workshop}. 64--80.
196: \newblock \url{http://research.microsoft.com/~jjb/papers/HAV_proceedings.pdf}.
197: 
198: \bibitem[\protect\citeauthoryear{Karkare, Sanyal, and Khedker}{Karkare
199:   et~al\mbox{.}}{2007}]{karkare07hra}
200: {\sc Karkare, A.}, {\sc Sanyal, A.}, {\sc and} {\sc Khedker, U.} 2007.
201: \newblock Heap reference analysis for functional programs.
202: \newblock (In preparation).
203: 
204: \bibitem[\protect\citeauthoryear{Karkare}{Karkare}{2007}]{bageshri07phd}
205: {\sc Karkare, B.} 2007.
206: \newblock Complexity and efficiency issues in data flow analysis.
207: \newblock Ph.D. thesis, Department of Computer Science and Engineering, Indian
208:   Institute of Technology, Bombay.
209: \newblock (Submitted).
210: 
211: \bibitem[\protect\citeauthoryear{Khedker}{Khedker}{2002}]{dfa.chap}
212: {\sc Khedker, U.~P.} 2002.
213: \newblock Data flow analysis.
214: \newblock In {\em Compiler Design Handbook: Optimizations and Machine Code
215:   Generation}, {Y.~N. Srikant} {and} {P.~Shankar}, Eds. CRC Press, Inc., Boca
216:   Raton, FL, USA.
217: 
218: \bibitem[\protect\citeauthoryear{Khedker, Dhamdhere, and Mycroft}{Khedker
219:   et~al\mbox{.}}{2003}]{kdm.typeinferencing}
220: {\sc Khedker, U.~P.}, {\sc Dhamdhere, D.~M.}, {\sc and} {\sc Mycroft, A.} 2003.
221: \newblock Bidirectional data flow analysis for type inferencing.
222: \newblock {\em Computer Languages, Systems and Structures\/}~{\em 29,\/}~1-2,
223:   15--44.
224: 
225: \bibitem[\protect\citeauthoryear{Larus and Hilfinger}{Larus and
226:   Hilfinger}{1988}]{LarusH1988}
227: {\sc Larus, J.~R.} {\sc and} {\sc Hilfinger, P.~N.} 1988.
228: \newblock Detecting conflicts between structure accesses.
229: \newblock In {\em PLDI '88: Proceedings of the ACM SIGPLAN 1988 conference on
230:   Programming Language design and Implementation}. ACM Press, New York, NY,
231:   USA, 24--31.
232: 
233: \bibitem[\protect\citeauthoryear{McDowell}{McDowell}{1998}]{mcdo98}
234: {\sc McDowell, C.~E.} 1998.
235: \newblock Reducing garbage in java.
236: \newblock {\em SIGPLAN Notices\/}~{\em 33,\/}~9, 84--86.
237: 
238: \bibitem[\protect\citeauthoryear{Reid, McCorquodale, Baker, Hsieh, and
239:   Zachary}{Reid et~al\mbox{.}}{1999}]{reid99}
240: {\sc Reid, A.}, {\sc McCorquodale, J.}, {\sc Baker, J.}, {\sc Hsieh, W.}, {\sc
241:   and} {\sc Zachary, J.} 1999.
242: \newblock The need for predictable garbage collection.
243: \newblock In {\em Proceedings of the {ACM} {SIGPLAN} Workshop on Compiler
244:   Support for System Software ({WCSSS}'99)}.
245: 
246: \bibitem[\protect\citeauthoryear{Sagiv, Reps, and Wilhelm}{Sagiv
247:   et~al\mbox{.}}{2002}]{shape.chap}
248: {\sc Sagiv, M.}, {\sc Reps, T.}, {\sc and} {\sc Wilhelm, R.} 2002.
249: \newblock Shape analysis and applications.
250: \newblock In {\em Compiler Design Handbook: Optimizations and Machine Code
251:   Generation}, {Y.~N. Srikant} {and} {P.~Shankar}, Eds. CRC Press, Inc, Boca
252:   Raton, FL, USA.
253: 
254: \bibitem[\protect\citeauthoryear{Shaham, Kolodner, and Sagiv}{Shaham
255:   et~al\mbox{.}}{2000}]{shah00}
256: {\sc Shaham, R.}, {\sc Kolodner, E.~K.}, {\sc and} {\sc Sagiv, M.} 2000.
257: \newblock On effectiveness of gc in java.
258: \newblock In {\em ISMM '00: Proceedings of the 2nd international symposium on
259:   Memory management}. ACM Press, New York, NY, USA, 12--17.
260: 
261: \bibitem[\protect\citeauthoryear{Shaham, Kolodner, and Sagiv}{Shaham
262:   et~al\mbox{.}}{2001}]{shah01}
263: {\sc Shaham, R.}, {\sc Kolodner, E.~K.}, {\sc and} {\sc Sagiv, M.} 2001.
264: \newblock Heap profiling for space-efficient java.
265: \newblock In {\em PLDI '01: Proceedings of the ACM SIGPLAN 2001 conference on
266:   Programming language design and implementation}. ACM Press, New York, NY,
267:   USA, 104--113.
268: 
269: \bibitem[\protect\citeauthoryear{Shaham, Kolodner, and Sagiv}{Shaham
270:   et~al\mbox{.}}{2002}]{shah02}
271: {\sc Shaham, R.}, {\sc Kolodner, E.~K.}, {\sc and} {\sc Sagiv, M.} 2002.
272: \newblock Estimating the impact of heap liveness information on space
273:   consumption in {J}ava.
274: \newblock In {\em ISMM '02: Proceedings of the 3rd international symposium on
275:   Memory management}. ACM Press, New York, NY, USA, 64--75.
276: 
277: \bibitem[\protect\citeauthoryear{Shaham, Yahav, Kolodner, and Sagiv}{Shaham
278:   et~al\mbox{.}}{2003}]{ran.shaham-sas03}
279: {\sc Shaham, R.}, {\sc Yahav, E.}, {\sc Kolodner, E.~K.}, {\sc and} {\sc Sagiv,
280:   S.} 2003.
281: \newblock Establishing local temporal heap safety properties with applications
282:   to compile-time memory management.
283: \newblock In {\em SAS '03: Proceedings of the 10th International Symposium on
284:   Static Analysis}. Springer-Verlag, London, UK, 483--503.
285: 
286: \bibitem[\protect\citeauthoryear{Tofte and Birkedal}{Tofte and
287:   Birkedal}{1998}]{tofte98region}
288: {\sc Tofte, M.} {\sc and} {\sc Birkedal, L.} 1998.
289: \newblock A region inference algorithm.
290: \newblock {\em ACM Transactions on Programming Languages and Systems\/}~{\em
291:   20,\/}~4, 724--767.
292: 
293: \bibitem[\protect\citeauthoryear{Vall\'ee-Rai, Hendren, Sundaresan, Lam,
294:   Gagnon, and Co}{Vall\'ee-Rai et~al\mbox{.}}{1999}]{vall99soot}
295: {\sc Vall\'ee-Rai, R.}, {\sc Hendren, L.}, {\sc Sundaresan, V.}, {\sc Lam, P.},
296:   {\sc Gagnon, E.}, {\sc and} {\sc Co, P.} 1999.
297: \newblock Soot - a java optimization framework.
298: \newblock In {\em Proceedings of CASCON 1999}. 125--135.
299: 
300: \bibitem[\protect\citeauthoryear{Wilson and Lam}{Wilson and
301:   Lam}{1995}]{wilson95efficient}
302: {\sc Wilson, R.~P.} {\sc and} {\sc Lam, M.~S.} 1995.
303: \newblock Efficient, context-sensitive pointer analysis for {C} programs.
304: \newblock In {\em PLDI '95: Proceedings of the ACM SIGPLAN 1995 conference on
305:   Programming language design and implementation}. ACM Press, New York, NY,
306:   USA, 1--12.
307: 
308: \bibitem[\protect\citeauthoryear{Yong, Horwitz, and Reps}{Yong
309:   et~al\mbox{.}}{1999}]{yong99pointer}
310: {\sc Yong, S.~H.}, {\sc Horwitz, S.}, {\sc and} {\sc Reps, T.} 1999.
311: \newblock Pointer analysis for programs with structures and casting.
312: \newblock In {\em PLDI '99: Proceedings of the ACM SIGPLAN 1999 conference on
313:   Programming language design and implementation}. ACM Press, New York, NY,
314:   USA, 91--103.
315: 
316: \end{thebibliography}
317: