A Computer Model of Skill Acquisition
A Computer Model of Skill Acquisition
Studies in Abstract/Concrete Mappings in Proving Algorithm Correctness
Proceedings of the 6th Colloquium, on Automata, Languages and Programming
Abstraction Mappings in Mechanical Theorem Proving
Proceedings of the 5th Conference on Automated Deduction
Abstractions, instantiations, and proofs of marking algorithms
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Knowledge about programs: A model and case study
Proceedings of the international conference on Reliable software
Reasoning by analogy with applications to heuristic problem-solving: a case study
Reasoning by analogy with applications to heuristic problem-solving: a case study
Program Transformation Systems
ACM Computing Surveys (CSUR)
Code reusability in the large versus code reusability in the small
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Our goal is to develop techniques for abstracting a given set of concrete programs into a program schema and for instantiating a schema to satisfy concrete specifications. For example, from two programs using the binary-search method, one to compute quotients and another to compute cube-roots, an abstract schema is derived that embodies the method and that can be instantiated to solve similar new problems. We suggest the formulation of analogies as a basic tool in program abstraction. An analogy is first sought between the specifications of the given programs; this yields an abstract specification that may be instantiated to any of the given concrete specifications. The analogy is then used as a basis for transforming the existing programs into an abstract schema that represents the embedded technique. The invariant assertions and correctness proofs of the given programs are used to complete the analogy.