{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,5]],"date-time":"2026-01-05T18:28:58Z","timestamp":1767637738581,"version":"3.48.0"},"reference-count":34,"publisher":"Maximum Academic Press","issue":"2","license":[{"start":{"date-parts":[[2009,7,7]],"date-time":"2009-07-07T00:00:00Z","timestamp":1246924800000},"content-version":"unspecified","delay-in-days":6245,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["The Knowledge Engineering Review"],"published-print":{"date-parts":[[1992,6]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>Abstract interpretation is a principled approach to inferring properties of a program's execution by simulating that execution using an interpreter which computes over some abstraction of the program's usual, concrete domain, and which collects the information of interest during the execution. Abstract interpretation has been used as the basis of research in logic and functional programming, particularly in applications concerned with compiler optimizations. However, abstract interpretation has the potential to be used in other applications, such as debugging or verification of programs. In this paper we review the use of abstract interpretation to both compiler optimizations and to other applications, attempting to give a flavour of the kind of information it is possible to infer and some of the issues involved<\/jats:p>","DOI":"10.1017\/s0269888900006275","type":"journal-article","created":{"date-parts":[[2009,7,7]],"date-time":"2009-07-07T09:34:55Z","timestamp":1246959295000},"page":"157-171","source":"Crossref","is-referenced-by-count":1,"title":["Trends in applying abstract interpretation"],"prefix":"10.48130","volume":"7","author":[{"given":"Andrew","family":"Bowles","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"27968","published-online":{"date-parts":[[2009,7,7]]},"reference":[{"key":"S0269888900006275_ref032","unstructured":"Verschaetse K and de Schreye D , 1991, \u201cDeriving termination proofs for logic programs, using abstract procedures,\u201d In: K Furukawa, editor, Proceedings of the Eighth International Conference on Logic Programming, pp 301\u2013315, Paris, France."},{"key":"S0269888900006275_ref029","first-page":"327","volume-title":"ESOP 86 European Symposium on Programming","author":"S\u00f8ndergaard","year":"1986"},{"key":"S0269888900006275_ref026","unstructured":"Muthukumar K and Hermenegildo M , 1989, \u201cDetermination of variable dependence information through abstract interpretation,\u201d In: E Lusk and R Overbeek, editors, Proceedings of the North American Conference on Logic Programming pp 166\u2013185, Cleveland, OH."},{"key":"S0269888900006275_ref025","unstructured":"Mulkers A , Winsborough W and Bruynooghe M , 1990, \u201cAnalysis of shared structures for compile-time garbage collection in logic programs,\u201d In: DHD Warren and P Szeredi, editors, Proceedings of the Seventh International Conference on Logic Programming pp 747\u2013762, Jerusalem, Israel."},{"key":"S0269888900006275_ref024","first-page":"289","volume-title":"Logic Programming Symposium","author":"Mishra","year":"1984"},{"key":"S0269888900006275_ref023","first-page":"181","volume-title":"Abstract Interpretation of Declarative Languages","author":"Mellish","year":"1987"},{"volume-title":"Logic program analysis by abstract hybrid interpretation","year":"1989","author":"Kanamori","key":"S0269888900006275_ref020"},{"key":"S0269888900006275_ref018","unstructured":"Jacobs D and Langen A , 1989, \u201cAccurate and efficient approximation of variable aliasing in logic programs,\u201d In: E Lusk and R Overbeek, editors, Proceedings of the North American Conference on Logic Programming, pp 154\u2013165, Cleveland, OH."},{"key":"S0269888900006275_ref014","first-page":"229","volume-title":"Proceedings of the Second Workshop on Meta-Programming in Logic","author":"Gallagher","year":"1990"},{"key":"S0269888900006275_ref012","first-page":"264","volume-title":"Logic Programming Symposium","author":"Dietrich","year":"1987"},{"key":"S0269888900006275_ref011","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(88)90010-6"},{"key":"S0269888900006275_ref009","doi-asserted-by":"crossref","unstructured":"Cousot P and Cousot R , 1977, \u201cAbstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints,\u201d In: Proceedings of the Fourth Annual ACM Symposium on Principles of Programming Languages, pp 238\u2013252.","DOI":"10.1145\/512950.512973"},{"key":"S0269888900006275_ref008","first-page":"233","volume-title":"Proceedings of the First Workshop on Meta-Programming in Logic-Programming","author":"Codish","year":"1988"},{"key":"S0269888900006275_ref007","first-page":"192","volume-title":"Logic Programming Symposium","author":"Bruynooghe","year":"1987"},{"key":"S0269888900006275_ref006","unstructured":"Bruynooghe M and Janssens G , 1988, \u201cAn instance of abstract interpretation integrating type and mode inferencing,\u201d In: Fifth Symposium and Conference on Logic Programming pp 669\u2013683, Seattle, WA."},{"key":"S0269888900006275_ref003","unstructured":"Bowles A , 1991, Detecting Prolog Programming Techniques Using Abstract Interpretation PhD thesis, University of Edinburgh."},{"volume-title":"Abstract Interpretation of Declarative Languages","year":"1987","author":"Abramsky","key":"S0269888900006275_ref001"},{"key":"S0269888900006275_ref017","doi-asserted-by":"crossref","unstructured":"Hudak P , 1986, \u201cA semantic model of reference counting and its abstraction,\u201d In: ACM Conference on Lisp and Functional Programming, pp 351\u2013363, Cambridge, MA.","DOI":"10.1145\/319838.319876"},{"key":"S0269888900006275_ref019","first-page":"123","volume-title":"Abstract Interpretation of Declarative Languages","author":"Jones","year":"1987"},{"key":"S0269888900006275_ref028","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(84)90017-1"},{"key":"S0269888900006275_ref033","first-page":"204","volume-title":"Proceedings of the International workshop PLILP'90, Volume 456 of Lecture Notes in Computer Science","author":"Wang","year":"1990"},{"key":"S0269888900006275_ref010","doi-asserted-by":"crossref","unstructured":"Cousot P and Cousot R , 1979, \u201cSystematic design of program analysis frameworks,\u201d In: Proceedings of the Sixth Annual ACM Symposium on Principles of Programming Languages, pp 269\u2013282.","DOI":"10.1145\/567752.567778"},{"key":"S0269888900006275_ref031","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(87)90020-3"},{"key":"S0269888900006275_ref002","doi-asserted-by":"publisher","DOI":"10.1007\/BF03037209"},{"key":"S0269888900006275_ref034","unstructured":"Zobel J , 1987, \u201cDerivation of polymorphic types for Prolog programs,\u201d In: J-L Lassez, editor, Proceedings of the Fourth International Conference on Logic Programming pp 817\u2013838, Melbourne, Australia."},{"key":"S0269888900006275_ref015","doi-asserted-by":"publisher","DOI":"10.1007\/BF03037136"},{"key":"S0269888900006275_ref021","unstructured":"Looi CK , 1988, \u201cAutomatic Program Analysis in a Prolog Intelligent Technical System PhD thesis, University of Edinburgh."},{"key":"S0269888900006275_ref022","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(85)90004-4"},{"volume-title":"Standard ML","year":"1986","author":"Harper","key":"S0269888900006275_ref016"},{"key":"S0269888900006275_ref013","unstructured":"Gallagher J and Bruynooghe M , 1990a, \u201cThe derivation of an algorithm for program specialization,\u201d In: DHD Warren and P Szeredi, editors, Proceedings of the Seventh International Conference on Logic Programming, pp 732\u2013746, Jerusalem, Israel."},{"key":"S0269888900006275_ref027","unstructured":"Mycroft A , 1981, Abstract Interpretation and Optimizing Transformations PhD thesis, University of Edinburgh."},{"key":"S0269888900006275_ref004","article-title":"Prolog programming techniques","volume":"19","author":"Brna","year":"1990","journal-title":"Instructional Sci."},{"key":"S0269888900006275_ref030","doi-asserted-by":"crossref","unstructured":"Tamaki H and Sato T , 1986, \u201cOld resolution with tabulation,\u201d In: Shapiro E , editor, Proceedings of the Third International Conference on Logic Programming pp 84\u201398, London, England.","DOI":"10.1007\/3-540-16492-8_66"},{"key":"S0269888900006275_ref005","unstructured":"Bruynooghe M , 1988, \u201cA practical framework for the abstract interpretation of logic programs. (To appear in Journal of Logic Programming)"}],"container-title":["The Knowledge Engineering Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0269888900006275","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,1,5]],"date-time":"2026-01-05T14:42:24Z","timestamp":1767624144000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0269888900006275\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1992,6]]},"references-count":34,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1992,6]]}},"alternative-id":["S0269888900006275"],"URL":"https:\/\/doi.org\/10.1017\/s0269888900006275","relation":{},"ISSN":["0269-8889","1469-8005"],"issn-type":[{"type":"print","value":"0269-8889"},{"type":"electronic","value":"1469-8005"}],"subject":[],"published":{"date-parts":[[1992,6]]}}}