Artificial Intelligence
Program construction and verification
Program construction and verification
Programming language theory and its implementation
Programming language theory and its implementation
Program derivation: the development of programs from specifications
Program derivation: the development of programs from specifications
Programming: the derivation of algorithms
Programming: the derivation of algorithms
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
Mechanizing programming logics in higher order logic
Current trends in hardware verification and automated theorem proving
Rippling: a heuristic for guiding inductive proofs
Artificial Intelligence
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Artificial Intelligence - Special volume on planning and scheduling
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
The Science of Programming
A Computer Model of Skill Acquisition
A Computer Model of Skill Acquisition
A Discipline of Programming
Studies in Automatic Programming Logic
Studies in Automatic Programming Logic
Proof planning for strategy development
Annals of Mathematics and Artificial Intelligence
The Use of Planning Critics in Mechanizing Inductive Proofs
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Toward a Classification Approach to Design
AMAST '96 Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology
AMPHION: Automatic Programming for Scientific Subroutine Libraries
ISMIS '94 Proceedings of the 8th International Symposium on Methodologies for Intelligent Systems
An Interface between Clam and HOL
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
O-Plan: A Web-Based AI Planning Agent
Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence
The Use of Explicit Plans to Guide Inductive Proofs
Proceedings of the 9th International Conference on Automated Deduction
Proceedings of the 10th International Conference on Automated Deduction
Extensions to a Generalization Critic for Inductive Proof
CADE-13 Proceedings of the 13th International Conference on Automated Deduction: Automated Deduction
Automatic synthesis of recursive programs: the proof-planning paradigm
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Schema-Guided Synthesis of Constraint Logic Programs
ASE '98 Proceedings of the 13th IEEE international conference on Automated software engineering
Towards Automatic Imperative Program Synthesis through Proof Planning
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
High Integrity Software: The SPARK Approach to Safety and Security
High Integrity Software: The SPARK Approach to Safety and Security
Composition and Refinement of Behavioral Specifications
Proceedings of the 16th IEEE international conference on Automated software engineering
Automatic verification of functions with accumulating parameters
Journal of Functional Programming
An Integrated Approach to High Integrity Software Verification
Journal of Automated Reasoning
Poplar: Java composition with labels and AI planning
Proceedings of the 2nd workshop on Free composition @ onward! 2011
Hi-index | 0.00 |
The structured programming literature provides methods and a wealth of heuristic knowledge for guiding the construction of provably correct imperative programs. We investigate these methods and heuristics as a basis for mechanizing program synthesis. Our approach combines proof planning with conventional partial order planning. Proof planning is an automated theorem proving technique which uses high-level proof plans to guide the search for proofs. Proof plans are structured in terms of proof methods, which encapsulate heuristics for guiding proof search. We demonstrate that proof planning provides a local perspective on the synthesis task. In particular, we show that proof methods can be extended to represent heuristics for guiding program construction. Partial order planning complements proof planning by providing a global perspective on the synthesis task. This means that it allows us to reason about the order in which program fragments are composed. Our hybrid approach has been implemented in a semi-automatic system called Bertha. Bertha supports partial correctness and has been tested on a wide range of non-trivial programming examples.