Abstract
Linear Logic is gaining momentum in computer science because it offers a unified framework and a common vocabulary for studying and analyzing different aspects of programming and computation. We focus here on models where computation is identified with proof search in the sequent system of Linear Logic. A proof normalization procedure, called “focusing”, has been proposed to make the problem of proof search tractable. Correspondingly, there is a normalization procedure mapping formulae of Linear Logic into a syntactic fragment of that logic, calledLinLog, where the focusing normalization for proofs can be most conveniently expressed. In this paper, we propose to push this compilation/normalization process further, by applying abstract interpretation and partial evaluation techniques to (focused) proofs inLinLog. These techniques provide information concerning the evolution of the computational resources (formulae) during the execution (proof construction). The practical outcome that we expect from this theoretical effort is the definition of a general tool for statically analyzing and reasoning about the runtime behavior of programs in frameworks where computations can be accounted for in terms of proof search in Linear Logic.
Similar content being viewed by others
References
Abramsky, S., “Computational Interpretations of Linear Logic”,Theoretical Computer Science, 111, 1–2, pp. 3–57, 1993.
Andreoli, J-M., “Logic Programming with Focusing Proofs in Linear Logic,”Journal of Logic and Computation,2,3, 1992.
Andreoli, J-M., “Coordination in LO”, inCoordination Programming: Mechanisms, Models and Semantics (J-M. Andreoli, C. Hankin, and D. Le Metayer, eds.), Imperial College Press, pp. 42–64, 1996.
Andreoli, J-M., Borghoff, U., and Pareschi, R., “Constraint Based Knowledge Brokers,” inProc. of PASCO’94, Linz, Austria, 1994.
Andreoli, J-M., Ciancarini, P., and Pareschi, R., “Interaction Abstract Machines”, inResearch Directions in Concurrent Object Oriented Programming (G. Agha, A. Yonezawa, and P. Wegner, eds.), MIT Press, Cambridge, Ma, U.S.A., pp. 257–280, 1993.
Andreoli, J-M. and Pareschi, R., “Logic Programming with Sequent Systems: A Linear Logic Approach”, inProc. of the Workshop on Extensions of Logic Programming, Lecture Notes in Artificial Intelligence 475, Tübingen, Germany, Springer-Verlag, 1990.
Andreoli, J-M. and Pareschi, R., “Communication as Fair Distribution of Knowledge”, inProc. of OOPSLA’91 Phoenix, Az, U.S.A., 1991.
Banâtre, J-P., Coutant, A. and Le Metayer, D., “A Parallel Machine for Multiset Transformation and Its Programming Style,”Future Generation Computer Systems, 4, 2, pp. 133–145, 1988.
Barbuti, R., Giacobazzi, R., and Levi, G., “A General Framework for Semantics Based Bottom-up Abstract Interpretation of Logic Programs”,IEEE Transactions on Programming Languages and Systems, 15, 1, pp. 133–181, 1993.
Berry, G. and Boudol, G., “The Chemical Abstract Machine”, inProc. of the 17th ACM Symposium on Principles of Programming Languages, San Francisco, Ca, U.S. A., 1990.
Brownston, L., Farrell, R., Kant, E., and Martin, N.,Programming Expert Systems in OPS-5, Addison-Wesley, Reading, MA, U.S.A., 1985.
Bruynooghe, M., “A Practical Framework for Abstract Interpretation of Logic Programs”,Journal of Logic Programming, 10, 2, pp. 91–124, 1991.
Carriero, N. and Gelernter, D.,How to Write Parallel Programs, MIT Press, Cambridge, Ma, U.S.A., 1990.
Cerrito, S., “A Linear Semantics for Allowed Logic Programs,” inProc. of the 5th IEEE Symposium on Logic in Computer Science, Philadelphia, Pa, U.S.A., 1990.
Codish, M., Dams, D., and Yardeni, E., “Bottom-up Abstract Interpretation of Logic Programs,”Theoretical Computer Science, 124, 1994.
Codognet, P. and Filé. G., “Computations, Abstractions and Constraints in Logic Programs,” inProc. of the 4th International Conference on Programming Languages (ICCL), Oakland, Ca, U.S.A., 1992.
Corsini, M. and Filé, G., “A Complete Framework for the Abstract Interpretation of Logic Programs: Theory and Application”,Technical Report, Università di Padova, Padova, Italy, 1989.
Cousot, P. and Cousot, R., “Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoint,” inProc. of the 4th ACM Symposium on Principles of Programming Languages, 1977.
Cousot, P. and Cousot, R., “Systematic Design of Program Analysis Frameworks,” inProc. of the 16th ACM Symposium on Principles of Programming Languages, 1979.
Cunningham, H. C. and Roman, G.-C., “A UNITY-Style Programming Logic for Shared Dataspace Programs”,IEEE Transaction on Parallel and Distributed Systems, 1, 3, 1990.
Dalrymple, M., Hinrichs, A., Lamping, J., and Saraswat, V., “The Resource Logic of Complex Predicate Interpretation”, inProc. of the 1993 Republic of China Computational Linguistics Conference (ROCLING), Hsitou National Park, Taiwan, 1993.
Dalrymple, M., Lamping, J., Pereira, F.C.N., and Saraswat, V., “Linear Logic for Meaning Assembly”, inProc. of CLNLP’95, Edinburgh, U.K., 1995.
Debray, S., “Efficient Dataflow Analysis of Logic Programs,” inProc. of POPL’88, San Diego, Ca, U.S.A., 1988.
Debray, S. and Warren, D. S., “Automatic Mode Inference for Logic Programs”,Journal of Logic Programming, 5, pp. 207–230, 1988.
Fouquere, C. and Vauzeilles, J., “Inheritance with Exception”, inAdvances in Linear Logic (J-Y. Girard, Y. Lafont, and L. Regnier, eds.), Cambridge University Press, Cambridge, U.K., 1995.
Galmiche, D. and Perrier, G., “On Proof Normalization in Linear Logic”,Theoretical Computer Science, 135, pp. 67–110, 1994.
Gelernter, D., “Generative Communication in Linda”,ACM Transactions on Programming Languages and Systems, 7, 1, pp. 80–112, 1985.
Giacobazzi, R., Debray, S., and Levi, G., “Generalized Semantics and Abstract Interpretation for Constraint Logic Programming”,Technical Report, Università di Pisa, Pisa, Italy, 1992.
Girard, J-Y., “Linear Logic”,Theoretical Computer Science, 50, pp. 1–102, 1987.
Harel, D., “Statecharts: A Visual Formalism for Complex Systems”,Science of Computer Programming, 8, 3, 1987.
Harland, J. and Pym, D., “The Uniform Proof-Theoretic Foundation of Linear Logic Programming,” inProc. of the International Logic Programming Symposium, San-Diego, Ca, U.S.A., 1991.
Janssens, G. and Bruynooghe, M., “Towards a Framework for Abstract Interpretation of Constraint Logic Programming,” inProc. of META’92, Uppsala, Sweden, 1992.
Jones, N. D. and Søndergaard, H., “A Semantics-Based Framework for the Abstract Interpretation of Prolog”, inAbstract Interpretation of Declarative Languages (S. Abramsky and C. Hankin, eds.), Ellis Horwood, Chichester, U.K., pp. 123–142, 1987.
Kobayashi, N., Nakade, M., and Yonezawa. A., “Static Analysis of Communication for Asynchronous Concurrent Programming Languages”, inProc. of SAS’95, 1995.
Kobayashi, N. and Yonezawa, A., “Acl—A Concurrent Linear Logic Programming Paradigm,” inProc. of ILPS’93, Vancouver, B.C., Canada, 1993.
Kobayashi, N. and Yonezawa, A., “Asynchronous Communication Models Based on Linear Logic”,Formal Aspects of Computing, 7, 2, pp. 113–149, 1995.
Lamport, L., “The Temporal Logic of Actions”,ACM Transactions on Programming Languages and Systems, 16, 3, pp. 872–923, 1994.
Lincoln, P., Mitchell, J., Scedrov, A., and Shankar, N., “Decision Problems for Propositional Linear Logic”,Annals of Pure and Applied Logic, 56, pp. 239–311, 1992.
Manna, Z. and Pnueli, A.,The Temporal Logic of Reactive and Concurrent Systems: Specification, Springer-Verlag, 1992.
Marriot, K. and Søndergaard, H., “Bottom-up Abstract Interpretation of Logic Programs,” inProc. of ICLP’88, Seattle, Wa, U.S.A., 1988.
Marriot, K. and Søndergaard, H., “Semantic Based Dataflow Analysis of Logic Programs,” inProc. of the IFIP 11th World Computer Congress, San Francisco, Ca, U. S.A, 1989.
Masseron, M., Tollu, C., and Vauzeille, J., “Generating Plans in Linear Logic”,Theoretical Computer Science, 113, pp. 349–370, 1993.
Mellish, C., “Abstract Interpretation of Prolog Programs”, inAbstract Interpretation of Declarative Languages (S. Abramsky and C. Hankin, eds.), Ellis Horwood, Chichester, U.K., pp. 181–198, 1987.
Meseguer, J., “A Logical Theory of Concurrent Objects and Its Realization in the MAUDE Language”, inResearch Directions in Concurrent Object Oriented Programming (G. Agha, A. Yonezawa, and P. Wegner, eds.), MIT Press, Cambridge, Ma, U.S. A., 1992.
Mints, G., “Resolution Calculus for First-Order Linear Logic,” unpublished manuscript, 1991.
Oxhøj, N., Palsberg, J., and Schwartzbach, M., “Making Type Inference Practical”, inProc. of ECOOP’92, Utrecht, Netherlands, 1992.
Penny Nii, H., “Blackboard Systems”, inThe Handbook of Artificial Intelligence, vol. 4 (A. Barr, Cohen, P., and Feigenbaum, E., eds.), Addison-Wesley, Reading, Ma, U.S. A., pp. 1–82, 1989.
Peterson, J.-L.,Petri-Net Theory and the Modeling of Systems, Prentice Hall, Englewood Cliffs, NJ, U.S.A., 1981.
Reddy, U., “A Typed Foundation for Directional Logic Programming”, inProc. of the Workshop on the Extensions of Logic Programming, Bologna, Italy, 1992.
Saraswat, V. A., “Concurrent Constraint Programming Languages”,Ph.D. thesis, Carnegie-Mellon University, Pittsburg, Pa, U.S.A., 1989.
Author information
Authors and Affiliations
Additional information
Remo Pareschi, Dr.: He holds degrees from University of Bologna (laurea), University of Texas at Austin (Master’s) and University of Edinburgh (Ph.D). Until 1993, he worked at the European Computer Industry Research Centre in Munich (Germany). He now leads the research group on Coordination Tehnologies (CT) at the Rank Xerox Research Centre in Grenoble (France). The CT group is working on innovative tools for process-oriented middleware and for information gathering. Remo Pareschi is also very active in the area of Object Oriented Programming. He has co-chaired an international conference on this subject (ECOOP’94), has acted as programme committee member of several others, and is associate editor of the International Journal of Theory and Practice of Object Systems (TAPOS).
Jean-Marc Andreoli, Dr.: He holds a Ph.D degree in Computer Science from University of Paris 6. He worked for 2 years with IBM France before joining, in 1988, the European Computer Industry Research Centre in Munich (Germany). In September 1993, he joined the Rank Xerox Research Centre in Grenoble, France, where he is now senior researcher and works in the Coordination Technologies group. His research interests include language support for high level coordination of distributed active objects, applied to workflow and intelligent data retrieval over a wide area network.
Tiziana Castagnetti: She received her “Laurea in Science dell’Informazione” (master degree in computer science) from the University of Pisa, Italy, in 1990. She obtained for her dessertation an award from the Italian Association of Logic Programming. She attended the Ph.D program in computer science at the University of Pisa where she is currently a collaborator. Her research interests include semantics of Logic Programming, and design and implementation of parallel and concurrent logic languages.
About this article
Cite this article
Andreoli, J.M., Pareschi, R. & Castagnetti, T. Static analysis of Linear Logic programming. NGCO 15, 449–481 (1997). https://doi.org/10.1007/BF03037301
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037301