39645731
Problem Solving with Hypothetical Reasoning
46716843
Induction, Abduction, and Consequence-Finding
This paper shows a sound and complete method for inverse entailment in inductive logic programming. We show that inverse entailment can be computed with a resolution method for consequence-finding. In comparison with previous work, induction via consequence-finding is sound and complete for finding hypotheses from full clausal theories, and can be used for inducing not only definite clauses but also non-Horn clauses and integrity constraints. We also compare induction and abduction from the viewpoint of consequence-finding, and clarify the relationship and difference between the two.
11399248
Linear Resolution for Consequence Finding
Abstract In this paper, we re-evaluate the consequence finding problem within first-order logic. Firstly, consequence finding is generalized to the problem in which only interesting clauses having a certain property (called characteristic clauses) should be found. The use of characteristic clauses enables characterization of various reasoning problems of interest to AI, including abduction, nonmonotonic reasoning, prime implicates and truth maintenance systems. Secondly, an extension of the Model Elimination theorem proving procedure (SOL-resolution) is presented, providing an effective mechanism complete for finding the characteristic clauses. An important feature of SOL-resolution is that it constructs such a subset of consequences directly without testing each generated clause for the required property. We also discuss efficient but incomplete variations of SOL-resolution and their properties, which address finding the most specific and the least specific abductive explanations.
16797379
Transforming Abductive Logic Programs to Disjunctive Programs
A new xpoint semantics for abductive logic programs is provided, in which the generalized stable models of an abductive program are characterized as the xpoint of a disjunctive program obtained by a suitable program transformation. In the transformation, both negative hypotheses through negation as failure and positive hypotheses from the abducibles are dealt with uniformly. This characterization allows us to have a parallel bottomup model generation procedure for computing abductive explanations from arbitrary (range-restricted and function-free) general, extended, and disjunctive programs with integrity constraints.
4789511
Computing extended abduction through transaction programs
To explain observations from nonmonotonic background theories, one often needs removal of some hypotheses as well as addition of other hypotheses. Moreover, some observations should not be explained, while some are to be explained. In order to formalize these situations, extended abduction was introduced by Inoue and Sakama (1995) to generalize traditional abduction in the sense that it can compute negative explanations by removing hypotheses and anti‐explanations to unexplain negative observations. In this paper, we propose a computational mechanism for extended abduction. When a background theory is written in a normal logic program, we introduce its transaction program for computing extended abduction. A transaction program is a set of non‐deterministic production rules that declaratively specify addition and deletion of abductive hypotheses. Abductive explanations are then computed by the fixpoint of a transaction program using a bottom‐up model generation procedure. The correctness of the proposed procedure is shown for the class of acyclic covered abductive logic programs. In the context of deductive databases, a transaction program provides a declarative specification of database update.
2734655
Negation in Disjunctive Logic Programs
In this paper, we study inferring negation from disjunctive logic programs. First, we consider extensions of the GCWA and the WGCWA for general disjunctive programs based upon the stable model semantics. We de ne new rules, the GCWA : and the WGCWA : , which are natural extensions of the GCWA and the WGCWA. Second, we introduce a new semantics called the possible world semantics for general disjunctive programs, which was initially introduced in [Sak89] for positive disjunctive programs. The possible world assumption (PWA) infers negation under the possible world semantics, which lies between the GCWA and the WGCWA in positive disjunctive programs. The PWA is also extended to the PWA : for general disjunctive programs. Then it is shown that the PWA : provides a powerful and the most careful negative inference compared with the GCWA : and the WGCWA : . We also present a bottom-up model generation proof procedure to compute each negation in general disjunctive programs.
10199005
Ranking significance of software components based on use relations
Collections of already developed programs are important resources for efficient development of reliable software systems. In this paper, we propose a novel graph-representation model of a software component library (repository), called component rank model. This is based on analyzing actual usage relations of the components and propagating the significance through the usage relations. Using the component rank model, we have developed a Java class retrieval system named SPARS-J and applied SPARS-J to various collections of Java files. The result shows that SPARS-J gives a higher rank to components that are used more frequently. As a result, software engineers looking for a component have a better chance of finding it quickly. SPARS-J has been used by two companies, and has produced promising results.
17693551
Analysis of functional programs to detect run-time garbage cells
We propose a method for detecting the generation of garbage cells by analyzing a source text written in a functional programming language which uses ordinary linked lists to implement list-type values. For a subexpression such as <italic>F</italic>(<italic>G</italic>( . . . )) in a program where the function values of <italic>F</italic> and <italic>G</italic> are of list type, if a cell <italic>c</italic> is created during the computation of <italic>G</italic> and if <italic>c</italic> does not appear in a list-type value of <italic>F</italic>, then <italic>c</italic> becomes a garbage cell at the end of the computation of <italic>F</italic>. We discuss this problem on the basis of formal languages derived from the functional program text and show some sufficient conditions that predict the generation of garbage cells. Also, we give an efficient algorithm to detect at compile time the generation of garbage cells which are linearly linked. We have implemented these algorithms in an experimental LISP system. By executing several sample programs on the system, we conclude that our method is effective in detecting the generation of garbage cells.
6398416
Analysis of the Linux Kernel Evolution Using Code Clone Coverage
Most studies of the evolution of software systems are based on the comparison of simple software metrics. In this paper, we present our preliminary investigation of the evolution of the Linux kernel using code-clone analysis and the code-clone coverage metrics. We examined 136 versions of the stable Linux kernel using a distributed extension of the code clone detection tool CCFinder. The result is shown as a heat map.