Definiteness Analysis for CLP(R). Baker, N. & Søndergaard, H. In Gupta, G., Mohay, G., & Topor, R., editors, Proceedings of the Sixteenth Australian Computer Science Conference, volume 15, of Australian Computer Science Communications, pages 321–332, 1993. abstract bibtex Constraint logic programming (CLP) languages generalise logic programming languages, amalgamating logic programming and constraint programming. Combining the best of two worlds, they provide powerful tools for wide classes of problems. As with logic programming languages, code optimization by compilers is an important issue in the implementation of CLP languages. A compiler needs sophisticated global information, collected by dataflow analyses, to generate competitive code. One kind of useful dataflow information concerns the point at which variables become definite, that is, constrained to take a unique value. In this paper we present a very precise dataflow analysis to determine definiteness, and we discuss its applications. By separating the two concerns: correctness and implementation techniques, abstract interpretation enables us to develop a sophisticated dataflow analysis in a straightforward manner, in fact in a framework where the correctness of the analysis is easily established—a feature which is uncommon when complex analyses are developed in an ad hoc way. We use a class of Boolean functions, the positive functions, to represent the definiteness relationship between variables. A Boolean function is interpreted as expressing a relation which holds not simply at the given point in an evaluation, but in fact during the rest of the evaluation branch. The nature of variables in a CLP language makes this treatment both possible and natural.
@inproceedings{Bak-Son_ACSC93,
author = {Naomi Baker and
Harald S{\o}ndergaard},
title = {Definiteness Analysis for {CLP(R)}},
editor = {G. Gupta and G. Mohay and R. Topor},
booktitle = {Proceedings of the Sixteenth Australian Computer Science
Conference},
series = {Australian Computer Science Communications},
volume = {15},
number = {1},
pages = {321--332},
year = {1993},
abstract = {Constraint logic programming (CLP) languages generalise
logic programming languages, amalgamating logic programming
and constraint programming. Combining the best of two
worlds, they provide powerful tools for wide classes
of problems. As with logic programming languages, code
optimization by compilers is an important issue in the
implementation of CLP languages. A compiler needs
sophisticated global information, collected by dataflow
analyses, to generate competitive code.
One kind of useful dataflow information concerns the point
at which variables become definite, that is, constrained
to take a unique value. In this paper we present a very
precise dataflow analysis to determine definiteness, and we
discuss its applications. By separating the two concerns:
correctness and implementation techniques, abstract
interpretation enables us to develop a sophisticated
dataflow analysis in a straightforward manner, in fact in
a framework where the correctness of the analysis is easily
established---a feature which is uncommon when complex
analyses are developed in an ad hoc way.
We use a class of Boolean functions, the positive functions,
to represent the definiteness relationship between variables.
A Boolean function is interpreted as expressing a relation
which holds not simply at the given point in an evaluation,
but in fact during the rest of the evaluation branch.
The nature of variables in a CLP language makes this
treatment both possible and natural.},
keywords = {Constraint logic programming, Boolean logic, Abstract interpretation},
}
Downloads: 0
{"_id":"7kWmMfFZdKyRfgrG6","bibbaseid":"baker-sndergaard-definitenessanalysisforclpr-1993","author_short":["Baker, N.","Søndergaard, H."],"bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Naomi"],"propositions":[],"lastnames":["Baker"],"suffixes":[]},{"firstnames":["Harald"],"propositions":[],"lastnames":["Søndergaard"],"suffixes":[]}],"title":"Definiteness Analysis for CLP(R)","editor":[{"firstnames":["G."],"propositions":[],"lastnames":["Gupta"],"suffixes":[]},{"firstnames":["G."],"propositions":[],"lastnames":["Mohay"],"suffixes":[]},{"firstnames":["R."],"propositions":[],"lastnames":["Topor"],"suffixes":[]}],"booktitle":"Proceedings of the Sixteenth Australian Computer Science Conference","series":"Australian Computer Science Communications","volume":"15","number":"1","pages":"321–332","year":"1993","abstract":"Constraint logic programming (CLP) languages generalise logic programming languages, amalgamating logic programming and constraint programming. Combining the best of two worlds, they provide powerful tools for wide classes of problems. As with logic programming languages, code optimization by compilers is an important issue in the implementation of CLP languages. A compiler needs sophisticated global information, collected by dataflow analyses, to generate competitive code. One kind of useful dataflow information concerns the point at which variables become definite, that is, constrained to take a unique value. In this paper we present a very precise dataflow analysis to determine definiteness, and we discuss its applications. By separating the two concerns: correctness and implementation techniques, abstract interpretation enables us to develop a sophisticated dataflow analysis in a straightforward manner, in fact in a framework where the correctness of the analysis is easily established—a feature which is uncommon when complex analyses are developed in an ad hoc way. We use a class of Boolean functions, the positive functions, to represent the definiteness relationship between variables. A Boolean function is interpreted as expressing a relation which holds not simply at the given point in an evaluation, but in fact during the rest of the evaluation branch. The nature of variables in a CLP language makes this treatment both possible and natural.","keywords":"Constraint logic programming, Boolean logic, Abstract interpretation","bibtex":"@inproceedings{Bak-Son_ACSC93,\n author = {Naomi Baker and \n\t\tHarald S{\\o}ndergaard},\n title = {Definiteness Analysis for {CLP(R)}},\n editor = {G. Gupta and G. Mohay and R. Topor},\n booktitle = {Proceedings of the Sixteenth Australian Computer Science \n\t\tConference},\n series = {Australian Computer Science Communications},\n volume = {15},\n number = {1},\n pages = {321--332},\n year = {1993},\n abstract = {Constraint logic programming (CLP) languages generalise\n\t\tlogic programming languages, amalgamating logic programming\n\t\tand constraint programming. Combining the best of two\n\t\tworlds, they provide powerful tools for wide classes\n\t\tof problems. As with logic programming languages, code\n\t\toptimization by compilers is an important issue in the\n\t\timplementation of CLP languages. A compiler needs\n\t\tsophisticated global information, collected by dataflow\n\t\tanalyses, to generate competitive code.\n\t\tOne kind of useful dataflow information concerns the point\n\t\tat which variables become definite, that is, constrained\n\t\tto take a unique value. In this paper we present a very\n\t\tprecise dataflow analysis to determine definiteness, and we\n\t\tdiscuss its applications. By separating the two concerns:\n\t\tcorrectness and implementation techniques, abstract\n\t\tinterpretation enables us to develop a sophisticated\n\t\tdataflow analysis in a straightforward manner, in fact in\n\t\ta framework where the correctness of the analysis is easily\n\t\testablished---a feature which is uncommon when complex\n\t\tanalyses are developed in an ad hoc way.\n\t\tWe use a class of Boolean functions, the positive functions,\n\t\tto represent the definiteness relationship between variables.\n\t\tA Boolean function is interpreted as expressing a relation\n\t\twhich holds not simply at the given point in an evaluation,\n\t\tbut in fact during the rest of the evaluation branch.\n\t\tThe nature of variables in a CLP language makes this\n\t\ttreatment both possible and natural.},\n keywords = {Constraint logic programming, Boolean logic, Abstract interpretation},\n}\n\n","author_short":["Baker, N.","Søndergaard, H."],"editor_short":["Gupta, G.","Mohay, G.","Topor, R."],"key":"Bak-Son_ACSC93","id":"Bak-Son_ACSC93","bibbaseid":"baker-sndergaard-definitenessanalysisforclpr-1993","role":"author","urls":{},"keyword":["Constraint logic programming","Boolean logic","Abstract interpretation"],"metadata":{"authorlinks":{}}},"bibtype":"inproceedings","biburl":"https://raw.githubusercontent.com/zarajoy/testbibtex/refs/heads/main/test.bib","dataSources":["BNGFBQQncqevukxoe","q5pWX4XZgAS4TQBof","yb3uN577XrYa7qf57","9jmvjAEoFta6emcgS","XqcrNTrCCBr9mSd37","W7ih7WyQivP4EDh83"],"keywords":["constraint logic programming","boolean logic","abstract interpretation"],"search_terms":["definiteness","analysis","clp","baker","søndergaard"],"title":"Definiteness Analysis for CLP(R)","year":1993}