Font Size: a A A

The signature approach to program plan retrieval

Posted on:2003-07-25Degree:Ph.DType:Dissertation
University:Illinois Institute of TechnologyCandidate:Limpiyakorn, YachaiFull Text:PDF
GTID:1468390011479010Subject:Computer Science
Abstract/Summary:PDF Full Text Request
Program understanding can be viewed as the process of extracting conceptual design information from source code. The automation of program understanding can significantly aid many software engineering and reengineering tasks. Plan or cliché recognition is one technique, among several, used by automated program understanders. The recognition process includes a task to search a knowledge base or a plan library for plans to match a target code fragment. For industrial strength systems, any plan-based techniques that exhaustively search through a plan library must face a combinatorial explosion of the search space. This research proposes an approach called Signature Matching, using a set of signature attributes as a prior step to suggest a reduced set of potential plans to match with the target code.; Signatures are surrogates that represent programming concepts or plans with a degree of uncertainty. The signature concept is based on high level attributes called beacons used by humans in the program understanding process. In this research, I exploit what our research group calls signature attributes which include intent units found in the code, system function calls, quantified code structural attributes (total iterators, total selectors, nesting depth), and domain vocabulary items to roughly identify and represent common code patterns in the programs.; I have prototyped a Signature Matching system, as a plan retrieval tool, to experiment with the proposed signature attributes. Preliminary experimental results show the effectiveness of using this set of surface code characteristics, or signatures for locating candidate plans in a library. As a search and retrieval tool, I believe that Signature Matching has the potential to eliminate those entries in the plan library that could not possibly be located in the given code component, thus resulting in a reduced set of candidate plans likely match the target chunk of code. This approach shows promise in reducing the computational costs that grow exponentially during the actual plan recognition process, and may facilitate scaling up automated program understanding tools for use on large real world systems.
Keywords/Search Tags:Program, Plan, Signature, Code, Process, Approach
PDF Full Text Request
Related items