Patent 5790760 Issued on August 4, 1998. Estimated Expiration Date: February 27, 2016. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.
A pre-processing portion retrieves several alternative program names with the same number of arguments as that of given input/output examples from a reference program cache table. A denotational determining portion successively retrieves alternative programs from a reference program database, supplies received input examples to the alternative programs, and obtains outputs of the programs. Thereafter, the denotational determining portion compares each obtained output with each given output example and determines whether or not each alternative program can be used. The denotational determining portion outputs the program name of the suitable alternative program. Thus, a desired program is automatically retrieved from pre-developed programs with retrieval keys of input/output examples. Consequently, alternative programs can be easily obtained.
Other References
M.L. Wong and K.S. Leung, "Inducing Logic Programs With Genetic Algorithms: The Genetic Logic Programming System," IEEE Expert, vol. 10(5), pp. 68-76, Oct. 1995
C.X. Ling, "Logic Synthesis from Good Examples," in Inductive Logic Programming, Academic Press, pp. 113-129, Dec. 1992
P.S. Chen, et al., "On the Retrieval of Reusable Software Components," 2nd Int'l. Workshop on Software Reuse, pp. 99-108, Mar. 1993
F. Bergadano and D. Gunetti, "Inductive Synthesis of Logic Programs and Inductive Logic Programming," Proc. Logic Program Synthesis and Transformation, pp. 45-56, Jul. 1993
R. Olsson, "Inductive functional programming using incremental program transformation," Artificial Intelligence, vol. 74(1), pp. 55-81, Mar. 1995
M.K. Kamani and R.S. Ramakrishna, "Predicate-Formation for Synthesizing LISP Code," IEEE Trans. Systems, Man, and Cybernetics, vol. 20(1), pp. 530-533, Mar. 1990
P. Flener and Y. Deville, "Towards Stepwise, Schema-Guided Synthesis of Logic Programs," Proc. Logic Program Synthesis and Transformation, pp. 46-64, Jul. 1991
Y.S. Maarek, et al., "An Information Retrieval Approach for Automatically Constructing Software Libraries," IEEE Trans. Software Engineering, vol. 17(8), pp. 800-813, Aug. 1991
G. Fouque and S. Matwin, "CAESAR: a system for CAse basED SoftwAre Reuse," Knowledge-Based Software Engineering Conference, pp. 90-99, Sep. 1992
A. W. Biermann, "Dealing With Search," in Automatic Program Construction Techniques, Macmillan Publishing Co., pp. 375-392, Dec. 1984
J.L. McClelland and D.E. Rumelhart, Explorations in Parallel Distributed Processing, MIT Press, pp. 137-145, Dec. 1988
A. Nakase, et al., "An Inductive Inference Algorithm to Synthesize Prolog Programs from Specification by Example," J. Information Processing, vol. 12(1), pp. 34-41, Dec. 1988
R. Freivalds, et al., "Inductive Inference from Good Examples," Int'l Workshop on Analogical and Inductive Inference, pp. 1-17, Dec. 198