1: \begin{thebibliography}{}
2:
3: \bibitem[\protect\citename{Apt, }1997]{Apt97}
4: Apt,~K.~R. (1997)
5: \emph{From Logic Programming to Prolog}.
6: International Series in Computer Science, Prentice Hall.
7:
8:
9: \bibitem[\protect\citename{Barbuti \emph{et al.}, }1993]{BarbutiControl}
10: Barbuti,~R., Codish,~M., Giacobazzi,~R. and Levi,~G. (1993)
11: Modelling Prolog control.
12: \emph{Journal of Logic and Computation}, 3~(6): 579--603.
13:
14: %\bibitem{Bancilhon86}
15: %F.~Bancilhon and al.
16: %\newblock Magic sets and other strange ways to implement logic programs.
17: %\newblock In {\em Proceedings of Fifth {ACM} Symposium on Principles of
18: % Database Systems}, pages 1--15, Cambridge, Massachusetts, 1986.
19:
20: \bibitem[\protect\citename{Barbuti and Giacobazzi, }1992]{BG89b}
21: Barbuti,~R. and Giacobazzi,~R. (1992)
22: A bottom-up polymorphic type inference in logic programming.
23: \emph{Science of Computer Programming}, 19~(3): 281--313.
24:
25: \bibitem[\protect\citename{Barbuti \emph{et al.}, }1993]{Barbuti90}
26: Barbuti, R., Giacobazzi,~R. and Levi, G. (1993)
27: A general framework for semantics-based bottom-up abstract
28: interpretation of logic programs.
29: \emph{ACM Transactions on Programming Languages and Systems (TOPLAS)},
30: 15~(1): 133-181.
31:
32:
33: \bibitem[\protect\citename{Baudinet, }1992]{Baudinet}
34: Baudinet,~M. (1992)
35: Proving termination properties of Prolog programs: a semantic approach.
36: \emph{Journal of Logic Programming}, 14~(1\&2): 1--29.
37:
38:
39: \bibitem[\protect\citename{Bossi and Cocco, }1999]{BC99}
40: Bossi,~A. and Cocco,~N. (1999)
41: Successes in logic Programs.
42: In P.~Flener (editor), \emph{Proc. of the 8th International Workshop on
43: Logic-Based Program Synthesis and Transformation
44: ({LOPSTR}'98), Lecture Notes in Computer Science, 1559},
45: pp.~219--239. Springer-Verlag.
46:
47:
48:
49:
50:
51: \bibitem[\protect\citename{Braem \emph{et al.}, }1994]{cardinality}
52: Braem,~C., Le~Charlier,~B., Modard,~S. and Van~Hentenryck, P. (1994)
53: Cardinality analysis of Prolog.
54: In M.~Bruynooghe (editor), \emph{Proc. of the International Logic
55: Programming Symposium ({ILPS}'94)},
56: pp.~457--471. MIT Press.
57:
58:
59: \bibitem[\protect\citename{Braem and Modard, }1994]{Braem.Modard94}
60: Braem,~C. and Modard,~S. (1994)
61: Abstract interpretation for Prolog with cut: cardinality analysis.
62: Master's thesis, Institut d'Informatique, University of Namur,
63: Belgium.
64:
65: \bibitem[\protect\citename{Bruynooghe, }1991]{Bruynooghe91}
66: Bruynooghe,~M. (1991)
67: A practical framework for the abstract interpretation of logic
68: programs.
69: \emph{Journal of Logic Programming}, 10~(2): 91--124.
70:
71: \bibitem[\protect\citename{Bueno and Hermenegildo, }1991]{Bueno91b}
72: Bueno,~F. and Hermenegildo,~M. (1991)
73: Results on automatic translation from prolog
74: to the Andorra kernel language.
75: Technical Report, Facultad Informatica UPM,
76: Universidad Politecnica de Madrid, Spain.
77:
78: %Computer Science Dept, Universidad Politecnica de Madrid,
79: %Facultad Informatica UPM, 28660-Boadilla del Monte,
80: % Madrid-Spain, September 1991.
81: %Theory in technical report, ``Towards an automatic
82: % translation algorithm from prolog to the andorra
83: % kernel language''.
84:
85: \bibitem[\protect\citename{Cabeza~Gras and Hermenegildo, }1994]{SAS94.Gras}
86: Cabeza~Gras,~D. and Hermenegildo,~M. (1994)
87: Extracting non-strict independent And-parallelism
88: using sharing and freeness information.
89: In \cite{Book.SAS94}, pp.~297--313.
90:
91:
92:
93: \bibitem[\protect\citename{Chang \emph{et al.}, }1985]{Chang85}
94: Chang,~J.~H., Despain,~A.~M. and DeGroot,~D. (1985)
95: And-parallelism of logic programs based on a static
96: data dependency analysis.
97: In {\em Proc. of the 30th IEEE Compcon Spring
98: ({COMPCON}'85)}. IEEE Press.
99:
100:
101: \bibitem[\protect\citename{Codish \emph{et al.}, }1991]{Codish91}
102: Codish,~M., Dams,~D. and Yardeni,~E. (1991)
103: Derivation and safety of an abstract unification algorithm for
104: groundness and aliasing analysis.
105: In K.~Furukawa (editor), \emph{Proc. of the 8th International
106: Conference on Logic Programming ({ICLP}'91)},
107: pp.~79--93. MIT Press.
108:
109: \bibitem[\protect\citename{Codognet and Fil\`e, }1992]{Codognet92a}
110: Codognet,~P. and Fil\`{e},~G. (1992)
111: Computations, abstractions and constraints in logic programs.
112: In \emph{Proc. of IEEE International Conference on
113: Computer Languages (ICCL'92)}. IEEE Press.
114:
115: \bibitem[\protect\citename{Corsini, }1991]{Corsini91}
116: Corsini,~M.-M. (1991)
117: (Yet) an abstract domain and unification for accurate groundness and
118: sharing analysis based on graphs traversing.
119: In \emph{{ICLP}'91 Pre-Conference Workshop on Semantics-Based Analysis
120: of Logic Programs}, {INRIA} Rocquencourt.
121:
122: \bibitem[\protect\citename{Cortesi and Fil\`e, }1991]{Cortesi}
123: Cortesi,~A. and Fil\`{e},~G. (1991)
124: Abstract interpretation of logic programs: an abstract domain for
125: groundness, sharing, freeness and compoundness analysis.
126: In \emph{Proc. of
127: the Symposium on Partial Evaluation and Semantics-Based
128: Program Manipulation ({PEPM}'91)}, SIGPLAN Notices
129: 26~(9): 52--61.
130:
131:
132: \bibitem[\protect\citename{Cortesi \emph{et al.}, }1991]{Cortesi91}
133: Cortesi,~A., Fil\`e,~G. and Winsborough,~W. (1991)
134: Prop revisited: propositional formula as abstract domain for
135: groundness analysis.
136: In \emph{Proc. of the 6th Annual IEEE Symposium on Logic in
137: Computer Science (LICS'91)}, pp.~322--327.
138: IEEE Computer Society Press.
139:
140:
141: \bibitem[\protect\citename{Cortesi \emph{et al.}, }1994]{POPL94}
142: Cortesi,~A., Le~Charlier, B., and Van~Hentenryck, P. (1994)
143: Combinations of abstract domains for logic programming.
144: In \emph{Proc. of the 21th {ACM SIGPLAN-SIGACT} Symposium on
145: Principles of Programming Languages ({POPL}'94)}, pp.~227--239.
146: ACM Press.
147:
148:
149:
150: \bibitem[\protect\citename{Cortesi \emph{et al.}, }1995]{Graph.JLP}
151: Cortesi,~A., Le~Charlier,~B. and Van~Hentenryck,~P. (1995)
152: Type analysis of Prolog using type graphs.
153: \emph{Journal of Logic Programming}, 22~(3): 179--209.
154:
155: \bibitem[\protect\citename{Cortesi \emph{et al.}, }2000]{SCP00}
156: Cortesi,~A., Le~Charlier, B., and Van~Hentenryck, P. (2000)
157: Combinations of abstract domains for logic programming:
158: open product and generic pattern construction.
159: \emph{Science of Computer Programming}, to appear.
160:
161:
162:
163: \bibitem[\protect\citename{Cousot and Cousot, }1977]{Cousot77}
164: Cousot,~P. and Cousot,~R. (1977)
165: Abstract Interpretation: a unified lattice model for static analysis
166: of programs by construction or approximation of fixpoints.
167: In {\em Proc. of the 4th {ACM SIGPLAN-SIGACT} Symposium on
168: Principles of Programming Languages ({POPL}'77)}, pp.~238--252.
169: ACM Press.
170:
171: %Los Angeles, California, January
172:
173:
174: \bibitem[\protect\citename{Cousot and Cousot, }1979]{Cousot79a}
175: Cousot,~P. and Cousot,~R. (1979)
176: Systematic design of program analysis frameworks.
177: In {\em Proc. of the 6th {ACM SIGPLAN-SIGACT} Symposium on
178: Principles of Programming Languages ({POPL}'79)}, pp.~269--282.
179: ACM Press.
180:
181: %Los Angeles, California, January
182:
183:
184: \bibitem[\protect\citename{Cousot and Cousot, }1992a]{Cousot92}
185: Cousot,~P. and Cousot,~R. (1992)
186: Abstract interpretation and application to logic programs.
187: \emph{Journal of Logic Programming}, 13~(2\&3): 103--179.
188:
189: \bibitem[\protect\citename{Cousot and Cousot, }1992b]{CousotJLC92}
190: Cousot,~P. and Cousot,~R. (1992)
191: Abstract interpretation frameworks.
192: \emph{Journal of Logic and Computation}, 2~(4): 511--547.
193:
194:
195: \bibitem[\protect\citename{Cousot and Cousot, }1992c]{Cousot92c}
196: Cousot,~P. and Cousot,~R. (1992)
197: Comparing of the Galois connection and widening/narrowing
198: approaches to abstract interpretation (invited paper).
199: In M.~Bruynooghe and M.~Wirsing (editors), \emph{Proc. of the
200: 4th International Workshop on Programming Language Implementation and
201: Logic Programming ({PLILP}'92), Lecture Notes in Computer Science, 631},
202: pp.~269--295. Springer-Verlag.
203:
204:
205: \bibitem[\protect\citename{Cousot and Cousot, }1994]{CousotICCL94}
206: Cousot,~P. and Cousot,~R. (1994)
207: Higher-order abstract interpretation (and application to comportment
208: analysis generalizing strictness, termination, projection and PER analysis of
209: functional languages). (Invited paper).
210: In \emph{Proc. of IEEE International Conference on
211: Computer Languages ({ICCL}'94)}, pp.~95--112.
212: IEEE Press.
213:
214: %Toulouse, France, May 1994.
215:
216:
217: \bibitem[\protect\citename{Dawson \emph{et al.}, }1993]{Ramakrishnan93}
218: Dawson,~S., Ramakrishnan,~C.~R., Ramakrishnan,~I.~V. and Sekar,~R.~C.
219: (1993)
220: Extracting determinacy in logic programs.
221: In D.~S.~Warren (editor), \emph{Proc. of the 10th International
222: Conference on Logic Programming ({ICLP}'93)},
223: pp.~424--438. MIT Press.
224:
225:
226: \bibitem[\protect\citename{Debray, }1989]{D89}
227: Debray,~S.~K. (1989)
228: Static inference of modes and data dependencies in logic programs.
229: \emph{ACM Transactions on Programming Languages and Systems (TOPLAS)},
230: 11~(3): 418--450.
231:
232:
233:
234: \bibitem[\protect\citename{Debray \emph{et al.}, }1997]{DLH97}
235: Debray,~S.~K., L\'opez-Garc\'ia,~P., Hermenegildo,~M. (1997)
236: Non-failure analysis for logic programs.
237: In L.~Naish (editor), \emph{Proc. of the 14th International
238: Conference on Logic Programming ({ICLP}'97)},
239: pp.~48--62. MIT Press.
240:
241:
242:
243:
244: \bibitem[\protect\citename{Debray and Mishra, }1988]{Debray88b}
245: Debray,~S.~K. and Mishra,~P. (1988)
246: Denotational and operational semantics for Prolog.
247: \emph{Journal of Logic Programming}, 5~(1): 61--91.
248:
249: \bibitem[\protect\citename{Debray and Warren, }1988]{Debray88c}
250: Debray,~S.~K. and Warren,~D.~S. (1988)
251: Automatic mode inference for logic programs.
252: \emph{Journal of Logic Programming}, 5~(3): 207--229.
253:
254: \bibitem[\protect\citename{Debray and Warren, }1989]{Debray89a}
255: Debray,~S.~K. and Warren,~D.~S. (1989)
256: Functional computations in logic programs.
257: \emph{ACM Transactions on Programming Languages and Systems (TOPLAS)},
258: 11~(3): 451--481.
259:
260:
261: %\bibitem[\protect\citename{Demoen \emph{et al.}, }1987]{DVW87}
262: %Demoen,~B., Van~Roy,~P. and Willems,~Y.~D. (1987)
263: %Improving the execution speed of compiled Prolog with modes, clause
264: % selection and determinism.
265: %In H.~Ehrig, R.~A.~Kowalski, G.~Levi and U.~Montanari (editors),
266: %\emph{Proc. of the International Joint Conference on Theory and
267: %Practice of Software Develpment ({TAPSOFT}'87),
268: %Lecture Notes in Computer Science, 250}, pp.~111--125. Springer-Verlag.
269:
270:
271: \bibitem[\protect\citename{De~Bruin and De~Vink, }1989]{debruin}
272: De~Bruin,~A. and De~Vink,~E.
273: Continuation semantics for Prolog with cut.
274: In J. D\'iaz and F. Orejas (editors),
275: \emph{Proc. of the International Joint Conference on Theory and
276: Practice of Software Develpment ({TAPSOFT}'89),
277: Lecture Notes in Computer Science, 351}, pp.~178--192. Springer-Verlag.
278:
279:
280: \bibitem[\protect\citename{Englebert \emph{et al.}, }1993]{SPE}
281: Englebert,~V., Le~Charlier,~B., Roland,~D. and Van~Hentenryck,~P.
282: (1993)
283: Generic abstract interpretation algorithms for Prolog: two
284: optimization techniques and their experimental evaluation.
285: \emph{Software Practice and Experience}, 23~(4): 419--459.
286:
287: \bibitem[\protect\citename{Falaschi \emph{et al.}, }1989]{FLMP89}
288: Falaschi,~M., Levi,~G., Martelli,~M. and Palamidessi,~C. (1989)
289: Declarative modeling of the operational behaviour of logic
290: languages.
291: \emph{Theoretical Computer Science}, 69~(3): 289--318.
292:
293: \bibitem[\protect\citename{Fil\`e and Ranzato, }1994]{FileILPS94}
294: Fil\`e,~G. and Ranzato,~F. (1994)
295: Improving abstract interpretations by systematic lifting to the
296: powerset.
297: In M.~Bruynooghe (editor),
298: \emph{Proc. of the International Logic
299: Programming Symposium ({ILPS}'94)},
300: pp.~655--669. MIT Press.
301:
302:
303:
304: \bibitem[\protect\citename{Fil\`e and Rossi, }1993]{FileRossi}
305: Fil\`e,~G. and Rossi,~S. (1993)
306: Static analysis of Prolog with cut.
307: In A.~Voronkov (editor),
308: \emph{Proc. of 4th International
309: Conference on Logic Programming and Automated Reasoning ({LPAR}'93),
310: Lecture Notes in Computer Science
311: 698}, pp.~134--145. Springer--Verlag.
312:
313: \bibitem[\protect\citename{Gang and Zhiliang, }1986]{GZ86}
314: Gang,~Y. and Zhiliang,~X. (1986)
315: An efficient type system for Prolog.
316: In H.~J.~Kugler (editor). {\em Proc. of the 10th IFIP World Computer Congress,
317: Information Processing 86},
318: pp.~355--359. North-Holland/IFIP.
319:
320: \bibitem[\protect\citename{Getzinger, }1994]{Getzinger.SAS94}
321: Getzinger,~T.W. (1994)
322: The costs and benefits of abstract interpretation-driven Prolog
323: optimization.
324: In \cite{Book.SAS94}, pp.~1--25.
325:
326:
327:
328: \bibitem[\protect\citename{Giacobazzi and Ricci, }1990]{Giacobazzi90}
329: Giacobazzi,~R. and Ricci,~L. (1990)
330: Pipeline optimizations in AND-parallelism by
331: abstract interpretation.
332: In D. S. Warren and P.~Szeridi (editors),
333: \emph{Proc. of the 7th International
334: Conference on Logic Programming ({ICLP}'90)},
335: pp.~291--305. MIT Press.
336:
337: \bibitem[\protect\citename{Giacobazzi and Ricci, }1992]{Giacobazzi92}
338: Giacobazzi,~R. and Ricci,~L. (1992)
339: Detecting determinate computations by bottom-up abstract
340: interpretation.
341: In B.~Krieg-Br\"uckner (editor),
342: {\em Proc. of the 4th European Symposium
343: on Programming, {ESOP'92}, Lecture Notes in Computer Science
344: 582}, pp.~167--181. Springer--Verlag.
345:
346:
347: \bibitem[\protect\citename{Hermenegildo, }1986]{Hermenegildo86}
348: Hermenegildo,~M.~V. (1986)
349: An abstract machine for restricted AND-parallel execution of
350: logic programs.
351: In E.~Y.~Shapiro (editor), \emph{Proc. of the 3rd International
352: Conference on Logic Programming ({ICLP}'86),
353: Lecture Notes in Computer Science 225},
354: pp.~25--40. Springer--Verlag.
355:
356:
357:
358:
359: \bibitem[\protect\citename{Hermenegildo \emph{et al.}, }1992]{Hermenegildo92}
360: Hermenegildo,~M.~V., Warren,~R. and Debray,~S.~K. (1992)
361: Global flow analysis as a practical compilation tool.
362: \emph{Journal of Logic Programming}, 13~(4): 349--367.
363:
364:
365:
366: \bibitem[\protect\citename{Jacob and Langen, }1989]{Jacobs89}
367: Jacobs,~D. and Langen,~A. (1989)
368: Accurate and efficient approximation of variable aliasing in logic
369: programs.
370: In E.~L.~Lusk and R.~A.~Overbeek (editors), \emph{Proc. of the
371: North American Conference on Logic Programming ({NACLP}'89)},
372: pp.~154--165. MIT Press.
373:
374:
375: \bibitem[\protect\citename{Jacob and Langen, }1992]{Jacobs92}
376: Jacobs,~D. and Langen,~A. (1992)
377: Static analysis of logic programs for
378: independent AND parallelism.
379: \emph{Journal of Logic Programming}, 13~(2\&3): 291--314.
380:
381:
382:
383: \bibitem[\protect\citename{Janssens and Bruynooghe, }1992]{Janssens92}
384: Janssens,~G. and Bruynooghe,~M. (1992)
385: Deriving descriptions of possible values of program variables by
386: means of abstract interpretation.
387: \emph{Journal of Logic Programming}, 13~(2\&3): 205--258.
388:
389: \bibitem[\protect\citename{Jensen and Mogensen, }1990]{Jensen90}
390: Jensen,~T.~P. and Mogensen.~T.~\AE. (1990)
391: A backwards analysis for compile-time garbage collection.
392: In N.~Jones (editor),
393: {\em Proc. of the 3th European Symposium
394: on Programming, ({ESOP}'90), Lecture Notes in Computer Science
395: 432}, pp.~227--239. Springer--Verlag.
396:
397:
398: \bibitem[\protect\citename{Jones and Mycroft, }1984]{JonesMy}
399: Jones,~N.~D. and Mycroft,~A. (1984)
400: Stepwise development of operational and denotational semantics for
401: Prolog. In \emph{Proc. of the International
402: Symposium on Logic Programming ({SLP}'84)},
403: pp.~281--288. IEEE-CS.
404:
405:
406: \bibitem[\protect\citename{Jones and S{\o}ndergaard, }1987]{Jones87}
407: Jones,~N.~D. and S{\o}ndergaard,~H. (1987)
408: A semantic-based framework for the abstract interpretation of
409: Prolog.
410: In S.~Abramsky and C.~Hankin (editors) \emph{Abstract Interpretation
411: of Declarative Languages}, pp.~123--142.
412: Ellis Horwood.
413:
414:
415:
416: \bibitem[\protect\citename{Kanamori and Kawamura, }1987]{Kanamori87}
417: Kanamori,~T. and Kawamura,~T. (1987)
418: Analysing success patterns of logic programs by abstract hybrid
419: interpretation.
420: Technical Report 279, ICOT, Tokyo, Japan.
421:
422:
423: \bibitem[\protect\citename{Kanamori and Horiuchi, }1985]{KH85}
424: Kanamori,~T. and Horiuchi,~K. (1985)
425: Type inference in Prolog and its application.
426: In A.~K.~Joshi (editor),
427: \emph{Proc. of 9th International Joint Conference
428: on Artificial Intelligence, ({IJCAI}'85) IJCAI}, pp.~704--709.
429: Morgan Kaufmann.
430:
431:
432:
433: \bibitem[\protect\citename{Kieburtz, }1983]{K83}
434: Kieburtz,~R.~B. (1983)
435: Precise typing of abstract data type specification.
436: In {\em Proc. of the 10th {ACM} Symposium on
437: Principles of Programming Languages ({POPL}'83)}, pp.~109--116.
438: ACM Press.
439:
440:
441: \bibitem[\protect\citename{Klu\'zniak, }1987]{Kluzniak87}
442: Klu\'zniak,~F. (1987)
443: Type synthesis for ground Prolog.
444: In J.-L.~Lassez (editor), \emph{Proc. of the 4th International
445: Conference on Logic Programming ({ICLP}'87)},
446: pp.~788--816. MIT Press.
447:
448:
449:
450: \bibitem[\protect\citename{Klu\'zniak, }1988]{Kluzniak88}
451: Klu\'zniak,~F. (1988)
452: Compile-time garbage collection for ground Prolog.
453: In R.~A.~Kowalski and K.~A.~Bowen (editor), \emph{Proc. of the 5th
454: International Conference on Logic Programming ({ICLP}'88)},
455: pp.~1490--1505. MIT Press.
456:
457:
458:
459: \bibitem[\protect\citename{Le Charlier, }1994]{Book.SAS94}
460: Le~Charlier,~B. (Ed.). (1994)
461: \emph{Proceedings of the 1st
462: International Static
463: Analysis Symposium ({SAS'94}),
464: Lecture Notes in Computer Science
465: 864}. Springer-Verlag.
466:
467:
468: \bibitem[\protect\citename{Le Charlier \emph{et al.}, }1993]{WSA93}
469: Le~Charlier,~B., Degimbe,~O., Michel,~L. and Van~Hentenryck,~P. (1993)
470: Optimization techniques for general purpose fixpoint algorithms:
471: practical efficiency for the abstract interpretation of Prolog.
472: In P.~Cousot, M.~Falaschi, G.~Fil\`e and A.~Rauzy
473: (editors) {\em Proc. of the 3rd International
474: Workshop on Static Analysis ({WSA}'93),
475: Lecture Notes in Computer Science
476: 724}, pp.~15--26. Springer--Verlag.
477:
478:
479: \bibitem[\protect\citename{Le Charlier \emph{et al.}, }1999]{RP-98-002}
480: Le~Charlier,~B., Lecl\`ere,~C., Rossi,~S. and Cortesi,~A. (1999)
481: Automated verification of Prolog programs.
482: \emph{Journal of Logic Programming}, 39~(1--3): 3--42.
483:
484:
485:
486: \bibitem[\protect\citename{Le Charlier \emph{et al.}, }1991]{ICLP91AI}
487: Le~Charlier,~B., Musumbu,~K. and Van~Hentenryck,~P. (1991)
488: A generic abstract interpretation algorithm and its complexity
489: analysis.
490: In K.~Furukawa (editor), \emph{Proc. of the 8th International
491: Conference on Logic Programming ({ICLP}'91)},
492: pp.~64--78. MIT Press.
493:
494:
495:
496:
497:
498: \bibitem[\protect\citename{Le Charlier \emph{et al.}, }1996]{Cut_rep95}
499: Le~Charlier,~B. and Rossi,~S. (1996)
500: Sequence-based abstract semantics of Prolog.
501: Technical Report RR-96-001, Facult\'es Universitaires Notre-Dame de
502: la Paix, Institut d'Informatique, Namur, Belgium.
503:
504:
505: \bibitem[\protect\citename{Le Charlier \emph{et al.}, }1994]{CUT94}
506: Le~Charlier,~B., Rossi,~S. and Van~Hentenryck,~P. (1994)
507: An abstract interpretation framework which accurately handles
508: Prolog search-rule and the cut.
509: In M.~Bruynooghe (editor), \emph{Proc. of the International Logic
510: Programming Symposium ({ILPS}'94)},
511: pp.~157--171. MIT Press.
512:
513:
514: \bibitem[\protect\citename{Le Charlier \emph{et al.}, }1997]{sequence}
515: Le~Charlier,~B., Rossi,~S. and Van~Hentenryck,~P. (1997)
516: Sequence-based abstract interpretation of Prolog.
517: Technical Report RR-97-001, Facult\'es Universitaires Notre-Dame de
518: la Paix, Institut d'Informatique, Namur, Belgium.
519:
520:
521: \bibitem[\protect\citename{Le Charlier and Van Hentenryck, }1993]{universal}
522: Le~Charlier,~B. and Van~Hentenryck,~P. (1993)
523: A general top-down fixpoint algorithm (revised version).
524: Technical Report RR-93-022, Facult\'es Universitaires Notre-Dame de
525: la Paix, Institut d'Informatique, Namur, Belgium.
526:
527:
528: \bibitem[\protect\citename{Le Charlier and Van Hentenryck, }1994]{TOPLAS}
529: Le~Charlier,~B. and Van~Hentenryck,~P. (1994)
530: Experimental evaluation of a generic abstract interpretation
531: algorithm for Prolog.
532: \emph{ACM Transactions on Programming Languages and Systems (TOPLAS)},
533: 16~(1): 35--101.
534:
535:
536: \bibitem[\protect\citename{Le Charlier and Van Hentenryck, }1995]{ACTA95}
537: Le~Charlier,~B. and Van~Hentenryck,~P. (1995)
538: Reexecution in abstract interpretation of {P}rolog.
539: \emph{Acta Informatica}, 32~(3): 209--270.
540:
541:
542:
543: \bibitem[\protect\citename{Leivant, }1983]{L83}
544: Leivant,~D. (1983)
545: Polymorphic type inference.
546: In \emph{Proc. of the 10th {ACM} Symposium on
547: Principles of Programming Languages ({POPL}'83)}, pp.~88--98.
548: ACM Press.
549:
550:
551: \bibitem[\protect\citename{Lloyd, }1987]{Lloyd}
552: Lloyd,~J. W. (1987)
553: \emph{Foundations of Logic Programming}.
554: Springer Series: Symbolic Computation--Artificial Intelligence.
555: Springer-Verlag, second edition.
556:
557:
558: \bibitem[\protect\citename{Marien and Demoen, }1989]{Marien89}
559: Marien, A. and Demoen,~B. (1989)
560: On the management of choicepoint and environment frames in the WAM.
561: In E.~L. Lusk and R. A. Overbeek (editors) {\em Proc. of the
562: North American Conference on Logic Programming ({NACLP}'89)},
563: pp.~1030--1047. MIT Press.
564:
565: \bibitem[\protect\citename{Marien \emph{et al.}, }1989]{Marien89b}
566: Marien,~A., Janssens,~G., Mulkers,~A. and Bruynooghe.~M.
567: (1989)
568: The impact of abstract interpretation: an experiment in code
569: generation.
570: In G.~Levi and M.~Martelli (editors), \emph{Proc. of the 6th International
571: Conference on Logic Programming ({ICLP}'89)},
572: pp.~33--47. MIT Press.
573:
574:
575:
576: \bibitem[\protect\citename{Marriott, }1993]{Marriott93}
577: Marriott,~K. (1993)
578: Frameworks for abstract interpretation.
579: \emph{Acta Informatica}, 30~(2): 103--129.
580:
581:
582: \bibitem[\protect\citename{Marriott and S{\o}ndergaard, }1989a]{Marriott89}
583: Marriott,~K. and S{\o}ndergaard,~H. (1989)
584: Notes for a tutorial on abstract interpretation of logic programs.
585: North American Conference on Logic Programming ({NACLP}'89).
586:
587:
588: \bibitem[\protect\citename{Marriott and S{\o}ndergaard, }1989b]{Marriott89b}
589: Marriott,~K. and ~S{\o}ndergaard,~H. (1989)
590: Semantics-based dataflow analysis of logic programs.
591: In G.~Ritter (editor) {\em Proc. of the IFIP 11th World Computer
592: Congress, Information Processing 89},
593: pp.~601--606. North-Holland/IFIP.
594:
595:
596: \bibitem[\protect\citename{Maier, }1991]{Meier91}
597: Meier,~M. (1991)
598: Recursion versus iteration in Prolog.
599: In K.~Furukawa (editor), \emph{Proc. of the 8th International
600: Conference on Logic Programming ({ICLP}'91)},
601: pp.~157--169. MIT Press.
602:
603:
604: \bibitem[\protect\citename{Mellish, }1987]{Mellish87}
605: Mellish,~C. (1987)
606: Abstract interpretation of Prolog programs.
607: In S.~Abramsky and C.~Hankin (editors) {\em Abstract Interpretation
608: of Declarative Languages}, chapter~8,
609: pp.~181--198.
610: Ellis Horwood Limited.
611:
612:
613: \bibitem[\protect\citename{Mendelzon, }1991]{Mendelzon85}
614: Mendelzon,~A.~O. and Wood,~P.~T. (1991)
615: Functional dependencies in Horn Clause Queries.
616: \emph{ACM Transactions on Database Systems (TODS)},
617: 16~(1): 31--55.
618:
619: %\newblock In {\em Proceedings of the Eleventh International Conference on Very
620: % Large Data Bases},
621: %pages 324--330, 1985.
622:
623:
624:
625: \bibitem[\protect\citename{Mulkers, }1991]{Mulkers91a}
626: Mulkers,~A. (1991)
627: Deriving live data structures in logic programs by means of
628: abstract interpretation.
629: PhD thesis, Department of Computer Science, Katholieke Universiteit
630: Leuven, Belgium.
631:
632:
633: \bibitem[\protect\citename{Mulkers \emph{et al.}, }1990]{Mulkers90}
634: Mulkers,~A., Winsborough,~W. and Bruynooghe,~M. (1990)
635: Analysis of shared data structures for compile-time garbage
636: collection in logic programs.
637: In D.S. Warren and P.~Szeridi (editors),
638: \emph{Proc. of the 7th International
639: Conference on Logic Programming ({ICLP}'90)},
640: pp.~747--762. MIT Press.
641:
642:
643:
644:
645: \bibitem[\protect\citename{Musumbu, }1990]{MusumbuThesis}
646: Musumbu,~K. (1990)
647: Interpr\'etation abstraite de programmes Prolog.
648: PhD thesis, Institute of Computer Science, University of Namur,
649: Belgium.
650:
651:
652:
653:
654: \bibitem[\protect\citename{Muthukumar and Hermenegildo, }1991]{Muthukumar91}
655: Muthukumar,~K. and Hermenegildo,~M. (1991)
656: Combined determination of sharing and freeness of program variables
657: through abstract interpretation.
658: In K.~Furukawa (editor), \emph{Proc. of the 8th International
659: Conference on Logic Programming ({ICLP}'91)},
660: pp.~49--63. MIT Press.
661:
662:
663: \bibitem[\protect\citename{Muthukumar and Hermenegildo, }1992]{Muthukumar92}
664: Muthukumar,~K. and Hermenegildo,~M. (1992)
665: Compile-time derivation of variable dependency using abstract
666: interpretation.
667: \emph{Journal of Logic Programming}, 13~(2\&3): 315--347.
668:
669:
670: \bibitem[\protect\citename{Mycroft and O'Keefe, }1984]{MK84}
671: Mycroft,~A. and O'Keefe,~R.~A. (1984)
672: A polymorphic type system for Prolog.
673: \emph{Artificial Intelligence}, 23~(3): 295--307.
674:
675:
676: \bibitem[\protect\citename{Nilsson, }1990]{Nilsson90a}
677: Nilsson,~U. (1990)
678: Systematic semantic approximations of logic programs.
679: In P.~Deran\-sart and J.~Ma{\l}uszy\'nski (editors),
680: \emph{Proc. of the
681: International Workshop on Programming Language Implementation and
682: Logic Programming ({PLILP}'90), Lecture Notes in Computer Science, 456},
683: pp.~293--306. Springer-Verlag.
684:
685:
686:
687: \bibitem[\protect\citename{Plotkin, }1981]{Plotkin81}
688: Plotkin,~G.~D. (1981)
689: A structural approach to operational semantics.
690: Technical Report DAIMI FN-19, CS Department, University of Aarhus.
691:
692:
693: \bibitem[\protect\citename{Sahlin, }1991]{Sahlin91}
694: Sahlin,~D. (1991)
695: Determinacy analysis for full Prolog.
696: In \emph{Proc. of
697: the Symposium on Partial Evaluation and Semantics-Based
698: Program Manipulation ({PEPM}'91)}, SIGPLAN Notices
699: 26~(9): 23--30.
700:
701: \bibitem[\protect\citename{Sahlin, }1993]{Sahlin.PhD}
702: Sahlin,~D. (1993)
703: Mixtus: an automatic partial evaluator for full Prolog.
704: \emph{New Generation Computing}, 12~(1): 7--51.
705:
706: %\bibitem{Sahlin90}
707: %D.~Sahlin.
708: %\newblock The Mixtus Approach to Automatic Partial Evaluation for Full Prolog.
709: %\newblock In S.K. Debray, editor, {\em Proceedings of the North American
710: % Conference on Logic Programming ({NACLP}'90)}, Austin, Texas, October 1990.
711: % MIT Press.
712:
713:
714: \bibitem[\protect\citename{Schmidt, }1988]{Schmidt88}
715: Schmidt,~D.~A. (1988)
716: \emph{Denotational Semantics}.
717: Allyn and Bacon, Inc.
718:
719: \bibitem[\protect\citename{Somogyi, }1987]{So86}
720: Somogyi,~Z. (1987)
721: A system of precise models for logic programs.
722: In E.~Shapiro (editor), \emph{Proc. of the Fourth International
723: Conference on Logic Programming ({ICLP}'87)},
724: pp.~769--787. MIT Press.
725:
726:
727: \bibitem[\protect\citename{Spoto, }2000]{Spoto}
728: Spoto,~F. (2000)
729: Operational and goal-independent denotational
730: semantics for Prolog with cut.
731: \emph{Journal of Logic Programming}, 42~(1): 1--46.
732:
733:
734: %\newblock In M. Falaschi, M. Navarro, and A. Policriti, editors,
735: %{\em Proceeding of APPIA-GULP-PRODE'97},
736: %pages 201--213, Grado, Italy, June 1997.
737:
738: \bibitem[\protect\citename{Sterling and Shapiro, }1986]{Sterling86}
739: Sterling,~L. and Shapiro,~E. (1986)
740: \emph{The Art of Prolog: Advanced Programming Techniques}.
741: MIT Press, Cambridge Mass.
742:
743:
744: \bibitem[\protect\citename{Stoy, }1977]{Stoy77}
745: Stoy,~J. (1977)
746: Denotational semantics: the Scott-Strachey approach to
747: programming language theory.
748: MIT Press, Cambridge Mass.
749:
750:
751: \bibitem[\protect\citename{Tamaki, }1986]{Tamaki86}
752: Tamaki,~H. and Sato,~T. (1986)
753: {OLD}-resolution with tabulation.
754: In E.~Y.~Shapiro (editor), \emph{Proc. of the 3rd International
755: Conference on Logic Programming ({ICLP}'86),
756: Lecture Notes in Computer Science 225},
757: pp.~84--98. Springer--Verlag.
758:
759:
760: \bibitem[\protect\citename{Taylor, }1989]{Taylor89}
761: Taylor,~A. (1989)
762: Removal of dereferencing and trailing in Prolog compilation.
763: In G.~Levi and M.~Martelli (editors), \emph{Proc. of the 6th International
764: Conference on Logic Programming ({ICLP}'89)},
765: pp.~48--60. MIT Press.
766:
767:
768: \bibitem[\protect\citename{Ueda, }1987]{Ueda}
769: Ueda,~K. (1987)
770: Making exhaustive search programs deterministic, part II.
771: In J.-L.~Lassez (editor), \emph{Proc. of the 4th International
772: Conference on Logic Programming ({ICLP}'87)},
773: pp.~356--375. MIT Press.
774:
775:
776:
777: \bibitem[\protect\citename{Van~Hentenryck \emph{et al.}, }1993]{WSA93_Granularity}
778: Van~Hentenryck,~P., Degimbe,~O., Le~Charlier,~B. and Michel,~L. (1993)
779: The impact of granularity in abstract interpretation of
780: Prolog.
781: In P.~Cousot, M.~Falaschi, G.~Fil\`e and A.~Rauzy
782: (editors) {\em Proc. of the 3rd International
783: Workshop on Static Analysis ({WSA}'93),
784: Lecture Notes in Computer Science
785: 724}, pp.~1--14. Springer--Verlag.
786:
787:
788: \bibitem[\protect\citename{Van Roy \emph{et al.}, }1987]{Vanroy87}
789: Van~Roy,~P., Demoen,~B., and Willems,~Y.~D. (1987)
790: Improving the execution speed of compiled Prolog
791: with modes, clause selection, and determinism.
792: In H.~Ehrig, R.~A.~Kowalski, G.~Levi and U.~Montanari (editors),
793: \emph{Proc. of the International Joint Conference on Theory and
794: Practice of Software Develpment ({TAPSOFT}'87),
795: Lecture Notes in Computer Science, 250}, pp.~111--125. Springer-Verlag.
796:
797:
798: \bibitem[\protect\citename{Van Roy and Despain, }1992]{Vanroy92}
799: Van~Roy,~P. and Despain,~A.~M. (1992)
800: High-performance computing with the Aquarius compiler.
801: \emph{IEEE Computer}, 25~(1): 54-68.
802:
803:
804:
805: \bibitem[\protect\citename{Warren, }1992]{Warren92}
806: Warren,~D.~S. (1992)
807: Memoing for logic programs.
808: \emph{Communications of the {ACM}}, 35~(3): 93--111.
809:
810: \bibitem[\protect\citename{Warren \emph{et al.}, }1988]{Warren88}
811: Warren,~R., Hermenegildo,~M.~V. and Debray,~S.~K. (1988)
812: On the practicality of global flow Analysis of Logic Programs.
813: In R.~A.~Kowalski and K.~A.~Bowen (editor), \emph{Proc. of the 5th
814: International Conference on Logic Programming ({ICLP}'88)},
815: pp.~349--366. MIT Press.
816:
817:
818: \bibitem[\protect\citename{Winsborough, }1992]{Winsborough92}
819: Winsborough,~W. (1992)
820: Multiple specialization using minimal-function graph semantics.
821: \emph{Journal of Logic Programming}, 13~(2\&3) :259--290.
822:
823:
824: \bibitem[\protect\citename{Xu and Warren, }1988]{XW88}
825: Xu,~J. and Warren,~D.~S. (1988)
826: A type inference system for {P}rolog.
827: In R.~A.~Kowalski and K.~A.~Bowen (editor), \emph{Proc. of the 5th
828: International Conference on Logic Programming ({ICLP}'88)},
829: pp.~604--619. MIT Press.
830:
831:
832: \bibitem[\protect\citename{Yardeni and Shapiro, }1991]{YS91}
833: Yardeni,~E. and Shapiro,~E. (1991)
834: A type System for logic programs.
835: \emph{Journal of Logic Programming}, 10~(1/2/3\&4): 125--153.
836:
837: \end{thebibliography}
838: