Superoptimizer: a look at the smallest program
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
PX: a computational logic
Real-time garbage collection on general-purpose machines
Journal of Systems and Software
Eliminating branches using a superoptimizer and the GNU C compiler
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Verification of Real-Time Systems using Linear Relation Analysis
Formal Methods in System Design - Special issue on computer aided verification (CAV 93)
Learning unions of tree patterns using queries
Theoretical Computer Science - Special issue on algorithmic learning theory
Model checking
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Monotonic Versus Nonmonotonic Language Learning
Proceedings of the Second International Workshop on Nonmonotonic and Inductive Logic
A Polynomial Time Algorithm for Finding Finite Unions of Tree Pattern Languages
Proceedings of the Second International Workshop on Nonmonotonic and Inductive Logic
Athena: a New Efficient Automatic Checker for Security Protocol Analysis
CSFW '99 Proceedings of the 12th IEEE workshop on Computer Security Foundations
Finding patterns common to a set of strings (Extended Abstract)
STOC '79 Proceedings of the eleventh annual ACM symposium on Theory of computing
Towards a mathematical theory of program synthesis
IJCAI'79 Proceedings of the 6th international joint conference on Artificial intelligence - Volume 2
Searching for Mutual Exclusion Algorithms Using BDDs
Progress in Discovery Science, Final Report of the Japanese Discovery Science Project
Hi-index | 0.00 |
Deduction is usually considered to be the opposite of induction. However, deduction and induction can be related in many ways. In this paper, two endeavors that try to relate discovery science and verification technology are described. The first is discovery by deduction, where attempts to find algorithms are made using verifiers. Case studies of finding algorithms for concurrent garbage collection and for mutual exclusion without semaphores are described. Superoptimization can also be classified as work in this field. Recent work on finding authentication protocols using a protocol verifier is also briefly surveyed. The second endeavor is discovery for deduction. This concerns the long-standing problem of finding induction formulae or loop invariants. The problem is regarded as one of learning from positive data, and the notion of safe generalization, which is commonly recognized in learning from positive data, is introduced into iterative computation of loop invariants. The similarity between the widening operator in abstract interpretation and Gold's notion of identification in the limit is also discussed.