PARLOG: parallel programming in logic
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
An abstract machine for restricted AND-parallel execution of logic programs
Proceedings on Third international conference on logic programming
Abstract interpretation of Prolog programs
Proceedings on Third international conference on logic programming
An application of abstract interpretation of logic programs: occur check reduction
Proc. of the European symposium on programming on ESOP 86
Concurrent Prolog
A parallel implementation of flat Concurrent Prolog
Concurrent Prolog: collected papers
A parallel implementation of logic programs
A parallel implementation of logic programs
Static inference of modes and data dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Or-parallel execution models of prolog
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
The Aurora or-parallel Prolog system
New Generation Computing - Selected papers on parallel logic programming from the International Conference on Fifth Generation Computer Systems, 1988
LIPS on MIPS: results from Prolog compiler for a RISC
Logic programming
Instruction reordering for fork-join parallelism
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Andorra I: a parallel Prolog system that transparently exploits both And-and or-parallelism
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
A practical framework for the abstract interpretation of logic programs
Journal of Logic Programming
The benefits of global dataflow analysis for an optimizing Prolog compiler
Proceedings of the 1990 North American conference on Logic programming
The Muse Or-parallel Prolog model and its performance
Proceedings of the 1990 North American conference on Logic programming
Static analysis of logic programs for independent and parallelism
Journal of Logic Programming
Compile-time derivation of variable dependency using abstract interpretation
Journal of Logic Programming
Global flow analysis as a practical compilation tool
Journal of Logic Programming
Bottom-up abstract interpretation of logic programs
Theoretical Computer Science
Analyzing logic programs with dynamic scheduling
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parallel logic programming systems
ACM Computing Surveys (CSUR)
Independence in constraint logic programs
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
Abstract interpretation for the compile-time optimization of logic programs
Abstract interpretation for the compile-time optimization of logic programs
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Improving abstract interpretations by combining domains
ACM Transactions on Programming Languages and Systems (TOPLAS)
A methodology for granularity-based control of parallelism in logic programs
Journal of Symbolic Computation - Special issue on parallel symbolic computation
Partial order and contextual net semantics for atomic and locally atomic CC programs
Science of Computer Programming - Special issue on concurrent constraint programming
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Global Analysis of Standard Prolog Programs
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Compilation of Logic Programs for Restricted And-Parallelism
ESOP '88 Proceedings of the 2nd European Symposium on Programming
PPCP '94 Proceedings of the Second International Workshop on Principles and Practice of Constraint Programming
Towards Independent And-Parallelism in CLP
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
IDRA (IDeal Resource Allocation): Computing Ideal Speedups in Parallel Logic Programming
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing-Volume II
WSA '93 Proceedings of the Third International Workshop on Static Analysis
Or-Parallel Execution Models of Prolog
TAPSOFT '87 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Functional and Logic Programming and Specifications (CFLP)
The and/or process model for parallel interpretation of logic programs
The and/or process model for parallel interpretation of logic programs
An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel
Concurrent constraint programming languages
Concurrent constraint programming languages
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Abstract Interpretation Based Formal Methods and Future Challenges
Informatics - 10 Years Back. 10 Years Ahead.
A New Module System for Prolog
CL '00 Proceedings of the First International Conference on Computational Logic
Enhanced sharing analysis techniques: a comprehensive evaluation
Theory and Practice of Logic Programming
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Towards a high-level implementation of flexible parallelism primitives for symbolic languages
Proceedings of the 2007 international workshop on Parallel symbolic computation
Concurrency, Graphs and Models
Annotation Algorithms for Unrestricted Independent And-Parallelism in Logic Programs
Logic-Based Program Synthesis and Transformation
Non-strict independence-based program parallelization using sharing and freeness information
Theoretical Computer Science
Program development using abstract interpretation (and the ciao system preprocessor)
SAS'03 Proceedings of the 10th international conference on Static analysis
Precise set sharing analysis for Java-style programs
VMCAI'08 Proceedings of the 9th international conference on Verification, model checking, and abstract interpretation
Optimized parallelization heuristic for task scheduling
CI'10 Proceedings of the 4th WSEAS international conference on Computational intelligence
Theory and Practice of Logic Programming - Prolog Systems
An overview of ciao and its design philosophy
Theory and Practice of Logic Programming - Prolog Systems
Hi-index | 0.01 |
We report on a detailed study of the application and effectiveness of program analysis based on abstract interpretation of automatic program parallelization. We study the case of parallelizing logic programs using the notion of strict independence. We first propose and prove correct a methodology for the application in the parallelization task of the information inferred by abstract interpretation, using a parametric domain. The methodology is generic in the sense of allowing the use of different analysis domains. A number of well-known approximation domains are then studied and the transformation into the parametric domain defined. The transformation directly illustrates the revelance and applicability of each abstract domain for the application. Both local and global analyzers are then built using these domains and embedded in a complete parallelizing compiler. Then, the performance of the domains in this context is assessed through a number of experiments. A comparatively wide range of aspects is studied, from the resources needed by the analyzers in terms of time and memory to the actual benefits obtained from the information inferred. Such benefits are evaluated both in terms of the characteristics of the parallelized code and of the actual speedups obtained from it. The results show that data flow analysis plays an important role in achieving efficient parallelizations, and that the cost of such analysis con be reasonable even for quite sophisticated abstract domains. Furthermore, the results also offer significant insight into the characteristics of the domains, the demands of the application, and the trade-offs involved.