Eecient Dataaow Analysis of Logic Programs
نویسنده
چکیده
We investigate a framework for eecient dataaow analyses of logic programs. A number of problems arise in this context: aliasing eeects can make analysis computationally expensive for sequential logic programming languages; synchronization issues can complicate the analysis of parallel logic programming languages; and niteness restrictions to guarantee termination can limit the expressive power of such analyses. Our main result is to give a simple characterization of a family of ow analyses where these issues can be ignored without compromising soundness. This results in algorithms that are simple to verify and implement, and eecient in execution. Based on this approach, we describe an eecient algorithm for ow analysis of sequential logic programs, extend this approach to handle parallel executions, and nally describe how innnite chains in the analysis domain can be accommodated without compromising termination.
منابع مشابه
On Propagation-Based Analysis of Logic Programs
Notions such as \reexecution" and \propagation" have recently attracted attention in dataaow analysis of logic programs. Both techniques promise more accurate dataaow analysis without requiring more complex description domains. Propagation, however , has never been given a formal deenition. It has therefore been diicult to discuss properties such as correctness, precision, and termination of pr...
متن کاملAbductive Analysis of Modular Logic Programs
We introduce a practical method for abductive analysis of modular logic programs. This is obtained by reversing the deduction process, which is usually applied in static-dataaow analysis of logic programs. The approach is validated in the framework of abstract interpretation. The abduced information provides an abstract speciication for program modules which can be of assistance both in top-dow...
متن کاملOn the Complexity of Dataaow Analysis of Logic Programs
It is widely held that there is a correlation between complexity and precision in dataaow analysis, in the sense that the more precise an analysis algorithm, the more computationally expensive it must be. The details of this relationship, however, appear to not have been explored extensively. This article reports some results on this correlation in the context of logic programs. A formal notion...
متن کاملDemand-Driven Dataflow for Concurrent Committed-Choice Code
Concurrent logic languages have been traditionally executed in a \greedy" fashion, such that computations are goal-driven. In contrast, non-strict functional programs have been traditionally executed in a \dataaow" fashion, such that computations are demand-driven. The latter method can be superior when allocation of resources such as memory is critical, which is usually the case for large, com...
متن کاملA Model for the Compilation of Data
We present a new model DF for the implementation of non-strict but non-lazy functional languages (dataaow languages) on conventional parallel hardware. DF consists of a small set of functions that can be added to any imperative language and allow to express dataaow behaviour in a simple and eecient way. The purpose of this model is to provide a high-level and machine-independent target language...
متن کامل