Font Size: a A A

Research On The Multi-Agent Environment And Tools For Program Understanding Based On Compound Code Repository

Posted on:2005-01-16Degree:DoctorType:Dissertation
Country:ChinaCandidate:H ChenFull Text:PDF
GTID:1118360152970040Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
About 35-80% cost of software system is maintenance, and 30-90% cost of it is Program Understanding (PU). In resent years, PU and related technology have been developed and researched actively. Current researchs of PU are focus mainly on tools of it. But we believe the Program Understanding Environment (PUE) should have an equal or even more importance as to PU Tools (PUT). PUEs provide distributed computing and storage, cooperat interface, result retrieve and storing repository to PUTs, and provide integrated navigatable views to maintainers.In this thesis, the result form, environment and tools of program understanding are studied.As the results of development of modern software, source codes and software documents could not reserve all of the information needed by program understanding and software maintenance. In this thesis, a new result form named Compound Code (CC) is presented, which brings together code, documents, businesses logic, human concepts, other artifacts and relations between them. CCs saved all the needed information in the lifecycle of program understanding and serves as a center of input and output of program understanding tools. Reusing elements of CCs could not only reuse source codes, but also designs and documents.The process of program understanding is the process of constructing Compound Code. Because parts of Compound Code are relatively independent, software agents could generate every part of it. The whole environment of program understanding is a Multi-Agent System (MAS). To provide heavy computation computing support of the MAS, we present a network architecture named APNA (Active Peer-to-peer Network Architecture). PCs in an organization implements APNA forms an APN (Active Peer-to-peer Network). Computations and information storage are distributed to APN Nodes.In thesis, three tools of PU are presented which are useful to all the program understanding strategy. They are: architecture views recovery, links tracing between source codes and documents and concept assignment.Software architecture views describer the framework of software, function of subsystem and the call graph of them. These views could serve as start point of program understanding and could help better understanding and reusing software. In this thesis, a method of architecture recovery based on analysis of program execution information is proposed. Logic view of software architecture is got by apply Formal Concept Analysis (FCA) to recorded execution information. Data are also gathered for Concept Assignment stage.Tracing and maintaining links between free text documents in Chinese and its' source code plays important role in software engineering. A new method based on Information Retrieval (IR) to automatically trace links between code and documents is proposed. The related documents of codes are served as first hands clues to concept assignment.Human understand program by abstracting business logics, concepts and models from source codes. A presentation form of Action Concept, Object Concept and Design Models is proposed. A new method of object concept assignment based on tree matching algorithm is proposed.The main contributions of this thesis are as follows: Propose a new form named Compound Code to store all the needed information in whole lifecycle of program understanding. Based on CCs, an environment of program understanding MAS system is also proposed. Propose a new form to present knowledge of action concepts, object concepts and design models. A novice object concept assignment method of tree matching between variable access tracing tree and concept tree is proposed. Propose an IR method to trace links information between codes and Chinese documents. Propose APNA architecture, utilizing computer resources in an organization to support distributed computing and storage of the MAS.
Keywords/Search Tags:program understanding, program comprehension, multi-agent system, active network, active peer-to-peer network, knowledge presentation, concept assignment, architecture recovery
PDF Full Text Request
Related items