Interprocedural optimization: eliminating unnecessary recompilation
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Towards a theory of declarative knowledge
Foundations of deductive databases and logic programming
Fully abstract compositional semantics for logic programs
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Declarative modeling of the operational behavior of logic languages
Theoretical Computer Science
Register allocation across procedure and module boundaries
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
A general framework for semantics-based bottom-up abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bottom-up abstract interpretation of logic programs
Theoretical Computer Science
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Precise and efficient groundness analysis for logic programs
ACM Letters on Programming Languages and Systems (LOPLAS)
Data-flow analysis of program fragments
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Model for Inter-module Analysis and Optimizing Compilation
LOPSTR '00 Selected Papers form the 10th International Workshop on Logic Based Program Synthesis and Transformation
Modular Static Program Analysis
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Heap analysis in the presence of collection libraries
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A compositional semantics for CHR
ACM Transactions on Computational Logic (TOCL)
Automated Software Engineering
S-semantics for logic programming: A retrospective look
Theoretical Computer Science
Modular class analysis with DATALOG
SAS'03 Proceedings of the 10th international conference on Static analysis
A generic module system for web rule languages: divide and rule
RuleML'07 Proceedings of the 2007 international conference on Advances in rule interchange and applications
IDE dataflow analysis in the presence of large object-oriented libraries
CC'08/ETAPS'08 Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction
Compositional semantics for the procedural interpretation of logic
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Interprocedural dataflow analysis in the presence of large libraries
CC'06 Proceedings of the 15th international conference on Compiler Construction
Modular termination analysis of java bytecode and its application to phoneME core libraries
FACS'10 Proceedings of the 7th international conference on Formal Aspects of Component Software
Hi-index | 0.00 |
This paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by considering abstract interpretations of a compositional semantics. The abstract meaning of a module corresponds to its analysis and composition of abstract meanings corresponds to composition of analyses. Such an approach is essential for large program development so that altering one module does not require re-analysis of the entire program. We claim that for a substantial class of programs, compositional analyses which are based on a notion of abstract unfolding provide the same precision as non-compositional analysis. A compositional analysis for ground dependencies is included to illustrate the approach. To the best of our knowledge this is the first account of a compositional framework for the analysis of logic programs.