Results 1  10
of
20
Discovering Algebraic Specifications from Java Classes
 In ECOOP
, 2003
"... We present and evaluate an automatic tool for extracting algebraic specifications from Java classes. Our tool maps a Java class to an algebraic signature and then uses the signature to generate a large number of terms. The tool evaluates these terms and based on the results of the evaluation, it pro ..."
Abstract

Cited by 77 (4 self)
 Add to MetaCart
We present and evaluate an automatic tool for extracting algebraic specifications from Java classes. Our tool maps a Java class to an algebraic signature and then uses the signature to generate a large number of terms. The tool evaluates these terms and based on the results of the evaluation, it proposes equations. Finally, the tool generalizes equations to axioms and eliminates many redundant axioms. Since our tool uses dynamic information, it is not guaranteed to be sound or complete. However, we manually inspected the axioms generated in our experiments and found them all to be correct.
Acquiring Recursive and Iterative Concepts with ExplanationBased Learning
 Machine Learning
, 1989
"... In explanationbased learning, a specific problem's solution is generalized into a form that can be later used to solve conceptually similar problems. Most research in explanationbased learning involves relaxing constraints on the variables in the explanation of a specific example, rather than ..."
Abstract

Cited by 46 (1 self)
 Add to MetaCart
In explanationbased learning, a specific problem's solution is generalized into a form that can be later used to solve conceptually similar problems. Most research in explanationbased learning involves relaxing constraints on the variables in the explanation of a specific example, rather than generalizing the graphical structure of the explanation itself. However, this precludes the acquisition of concepts where an iterative or recursive process is implicitly represented in the explanation by a fixed number of applications. This paper presents an algorithm that generalizes explanation structures and reports empirical results that demonstrate the value of acquiring recursive and iterative concepts. The BAGGER2 algorithm learns recursive and iterative concepts, integrates results from multiple examples, and extracts useful subconcepts during generalization. On problems where learning a recursive rule is not appropriate, the system produces the same result as standard explanationbased ...
An Algorithm that Infers Theories from Facts
 In Proceedings of the Seventh International Joint Conference on Artificial Intelligence
, 1981
"... A framework for inductive inference in logic is presented: a Model Inference Problem is defined, and it is shown that problems of machine learning and program synthesis from examples can be formulated naturally as model inference problems. A general, incremental inductive inference algorithm for sol ..."
Abstract

Cited by 22 (0 self)
 Add to MetaCart
A framework for inductive inference in logic is presented: a Model Inference Problem is defined, and it is shown that problems of machine learning and program synthesis from examples can be formulated naturally as model inference problems. A general, incremental inductive inference algorithm for solving model inference problems is developed. This algorithm is based on Popper's methodology of conjectures and refutations [ I I]. The algorithm can be shown to identify in the limit [3] any model in a family of complexity classes of models, is most powerful of its kind, and is flexible enough to have been successfully implemented for several concrete domains. The Model Inference System is a Prolog
Discovering documentation for java container classes
 IEEE Transactions on Software Engineering
, 2007
"... Modern programs make extensive use of reusable software libraries. For example, we found that 17 % to 30 % of the classes in a number of large Java applications use the container classes from the java.util package. Given this extensive code reuse in Java programs, it is important for the reusable in ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
Modern programs make extensive use of reusable software libraries. For example, we found that 17 % to 30 % of the classes in a number of large Java applications use the container classes from the java.util package. Given this extensive code reuse in Java programs, it is important for the reusable interfaces to have clear and unambiguous documentation. Unfortunately, most documentation is expressed in English, and therefore does not always satisfy these requirements. Worse yet, there is no way of checking that the documentation is consistent with the associated code. Formal specifications present an alternative which does not suffer from these problems; however, formal specifications are notoriously hard to write. To alleviate this difficulty, we have implemented a tool which automatically derives documentation in the form of formal specifications. Our tool probes Java classes by invoking them on dynamically generated tests and captures the information observed during their execution as algebraic axioms. While the tool is not complete or correct from a formal perspective we demonstrate that it discovers many useful axioms when applied to container classes. These axioms then form an initial formal documentation of the class they describe. 1
A Learnability Model for Universal Representations
 PROCEEDINGS OF THE 4TH INTERNATIONAL WORKSHOP ON INDUCTIVE LOGIC PROGRAMMING
, 1997
"... This paper defines a new computational model of inductive learning, called Ulearnability (Universal Learnability), that is wellsuited for rich representation languages, most notably for universal (Turing equivalent) representations. It is motivated by three observations. Firstly, existing computa ..."
Abstract

Cited by 18 (5 self)
 Add to MetaCart
This paper defines a new computational model of inductive learning, called Ulearnability (Universal Learnability), that is wellsuited for rich representation languages, most notably for universal (Turing equivalent) representations. It is motivated by three observations. Firstly, existing computational models of inductive learningthe best known of which are identification in the limit and PAClearnabilityeither fail to provide guarantees of accuracy and computational efficiency or require severely restricted representation languages. Secondly, practical machine learning programs use rich representations yet often perform efficiently and achieve high degrees of accuracy. Thirdly, these machine learning programs often make assumptions about the underlying probability distribution over target concepts; such an assumption provides a soft bias for learning. This contrasts with existing computational models of inductive learning, which incorporate only language biases, or hard bias...
On the Use of Inductive Reasoning in Program Synthesis: Prejudice and Prospects
 IN L. FRIBOURG AND F. TURINI (EDS), JOINT PROC. OF META'94 AND LOPSTR'94
, 1994
"... In this position paper, we give a critical analysis of the deductive and inductive approaches to program synthesis, and of the current research in these fields. From the shortcomings of these approaches and works, we identify future research directions for these fields, as well as a need for coopera ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
In this position paper, we give a critical analysis of the deductive and inductive approaches to program synthesis, and of the current research in these fields. From the shortcomings of these approaches and works, we identify future research directions for these fields, as well as a need for cooperation and crossfertilization between them.
Inferring Flow of Control in Program Synthesis by Example
"... . We present a supervised, interactive learning technique that infers control structures of computer programs from userdemonstrated traces. A twostage process is applied: #rst, a minimal deterministic # nite automaton #DFA# M labeled by the instructions of the program is learned from a set of ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
. We present a supervised, interactive learning technique that infers control structures of computer programs from userdemonstrated traces. A twostage process is applied: #rst, a minimal deterministic # nite automaton #DFA# M labeled by the instructions of the program is learned from a set of example traces and membership queries to the user. It accepts all pre#xes of traces of the target program. The number of queries is bounded by O#k #jMj#, with k being the total number of instructions in the initial example traces. In the second step we parse this automaton into a highlevel programming language in O#jM j 2 # steps, replacing jumps by conditional control structures. 1
The Dual DFA Learning Problem: Hardness Results for Programming by Demonstration and Learning FirstOrder Representations (Extended Abstract)
 in: Proc. 9th Ann. Workshop on Computational Learning Theory (ACM
, 1996
"... ) William W. Cohen AT&T Laboratories, 600 Mountain Avenue Murray Hill, NJ 07974 wcohen@research.att.com Abstract We consider a dual version of the DFA paclearning problem, in which concepts are strings over a fixed alphabet, examples are DFAs, and a string s represents the set of all DFAs that ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
) William W. Cohen AT&T Laboratories, 600 Mountain Avenue Murray Hill, NJ 07974 wcohen@research.att.com Abstract We consider a dual version of the DFA paclearning problem, in which concepts are strings over a fixed alphabet, examples are DFAs, and a string s represents the set of all DFAs that accept it. It is shown that solving this problem is as hard as learning logdepth boolean circuits, even if the example DFAs are are always acyclic, leveled, and of logarithmic level width. Thus under cryptographic assumptions the dual DFA learning problem is hard. This result implies the hardness of several other more natural learning problems, including learning the description logic Classic from subconcepts, and learning aritytwo "determinate" functionfree Prolog clauses from ground clauses. The result also implies the hardness of two formal problems that are similar to problems studied in the area of "programming by demonstration ": learning straightline programs over a fixed operator set ...
Learning by Refining Algorithm Sketches
 in Proceedings of ECAI94
, 1994
"... . In this paper we suggest a mechanism that improves significantly the performance of a topdown inductive logic programming (ILP) learning system. This improvement is achieved at the cost of giving to the system extra information that is not difficult to formulate. This information appears in the ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
. In this paper we suggest a mechanism that improves significantly the performance of a topdown inductive logic programming (ILP) learning system. This improvement is achieved at the cost of giving to the system extra information that is not difficult to formulate. This information appears in the form of an algorithm sketch: an incomplete and somewhat vague representation of the computation related to a particular example. We describe which sketches are admissible, give details of the learning algorithm that exploits the information contained in the sketch. The experiments carried out with the implemented system (SKIL) have demonstrated the usefulness of the method and its potential in future applications. 1 INTRODUCTION Construction of medium size programs remains still somewhat out of reach of many ILP systems, despite many significant advances in this area. It appears that more information needs to be given besides describing the admissible/inadmissible combinations of input and ...