Theory of linear and integer programming
Theory of linear and integer programming
Solving systems of nonlinear polynomial equations faster
ISSAC '89 Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic and algebraic computation
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
Fundamentals of Deductive Program Synthesis
IEEE Transactions on Software Engineering
Gro¨bner bases: a computational approach to commutative algebra
Gro¨bner bases: a computational approach to commutative algebra
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program development schemata as derived rules
Journal of Symbolic Computation - Special Issue on Schemas
An abstract formalization of correct schemas for program synthesis
Journal of Symbolic Computation - Special Issue on Schemas
Introduction to Mathematical Theory of Computation
Introduction to Mathematical Theory of Computation
A Discipline of Programming
Achievements and Prospects of Program Synthesis
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I
Synthesis of Linear Ranking Functions
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Deductive Composition of Astronomical Software from Subroutine Libraries
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
Towards Automatic Imperative Program Synthesis through Proof Planning
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Non-linear loop invariant generation using Gröbner bases
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Synthesizing Switching Logic Using Constraint Solving
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
From program verification to program synthesis
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficiently solving quantified bit-vector formulas
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Bugs, moles and skeletons: symbolic reasoning for software development
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Efficiently solving quantified bit-vector formulas
Formal Methods in System Design
Hi-index | 0.00 |
We present a method for schema-guided synthesis of imperative programs computing polynomial functions and their inverses. The schemas of our approach contain parameters representing both fragments of code and fragments of invariants, and they generate programs annotated with loop invariants establishing partial correctness. Schema application entails simultaneously instantiating the code parameters to polynomials and the invariant parameters to systems of polynomial equalities. By bounding the degrees of these polynomials and their number, our method reduces schema instantiation to non-linear constraint solving, based on the theory of polynomial ideals. Although non-linear constraint solving is NP-hard, a solution can be generated automatically when the resulting system contains few constraints. A specialization of our method yields linear constraints by further restricting the form of the invariants. This restriction improves the efficiency of constraint solving, but may fail to synthesize programs derivable by the general method.