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.
17773922
A formal adaption method for process descriptions
Requirement to describing software development processes in formal manners has been increased, and demand for altering and tailoring the process descriptions has been emerged. In this paper, we propose a functional language PDL (Process Description Language), designed to describe various development processes under a certain environment. To create and modify the PDL scripts easily and correctly, we propose a method of stepwise refinement from abstract scripts into concrete scripts. By this method, the abstract definitions of software process flow and product flow initially given as function definitions irk PDL, are transformed into the concrete definitions of the tool activations, message displays, and so on. We also discuss an architecture design of a software development environment (Adaptable Software Development Environment), which can be adapted in many ways for designer's requirements.
43364652
Effective SAT Planning by Speculative Computation
In recent years, SAT planning has been studied actively. In this paper, we propose a new method, called speculative computation, for accelerating the SAT planning. A SATplanner firstly translates a planning problem into the boolean satisfiability (SAT) problem, and secondly solves it by a general-purpose SAT solver. Blackbox [1], which is one of the fastest planning systems in the world, is based on this approach. Given a planning problem, Blackbox performs the following; (i) assumes that the plan length is i (initially, i = 1), (ii) translates the planning problem into a SAT problem P i, and (iii) solves P i. If P i is found to be satisfiable, the Blackbox extracts a plan of length i from the truth assignment satisfying P i. When P i is unsatisfiable, the planner increases the plan length to be i + 1, and returns to (i).
12093499
Speculative computation by abduction under incomplete communication environments
We present a method of problem solving in multi-agent systems when communication between agents is not guaranteed. To solve the problem of incomplete communication, we propose a method using abduction. The idea is as follows. When communication is delayed or failed, then we use a default hypothesis as a tentative answer and continue computation. When some response is obtained, we check consistency of the response and the current computation. If the response is consistent, then we continue the current computation, or else if the response is inconsistent, we seek an alternative computation. This way of computation is called speculative computation, since computation using a tentative answer would lead to a significant advantage if it succeeds. In this paper, we restrict our attention to a master-slave multi-agent system and propose an implementation of speculative computation and show that abduction plays an important role in speculative computation.
14107309
Updating Extended Logic Programs through Abduction
This paper introduces techniques for updating knowledge bases represented in extended logic programs. Three different types of updates, view updates, theory updates, and inconsistency removal, are considered. We formulate these updates through abduction, and provide methods for computing them with update programs. An update program is an extended logic program which specifies changes on abductive hypotheses, then updates are computed by the U-minimal answer sets of an update program. The proposed technique provides a uniform framework for these different types of updates, and each update is computed using existing procedures of logic programming.
18018809
Consequence-Finding Based on Ordered Linear Resolution
Since linear resolution with clause ordering is incomplete for consequence-finding, it has been used mainly for proof-finding. In this paper, we re-evaluate consequence-finding. Firstly, consequence-finding is generalized to the problem in which only interesting clauses having a certain property (called characteristic clauses) should be found. Then, we show how adding a skip rule to ordered linear resolution makes it complete for consequence-finding in this general sense. Compared with set-of-support resolution, the proposed method generates fewer clauses to find such a subset of consequences. In the propositional case, this is an elegant tool for computing the prime implicants/implicates. The importance of the results lies in their applicability to a wide class of AI problems including procedures for nonmonotonic and abductive reasoning and truth maintenance systems.
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.