Font Size: a A A

Key Technology Research In Requirement And Design Oriented Software Reverse Engineering

Posted on:2014-03-31Degree:DoctorType:Dissertation
Country:ChinaCandidate:W RenFull Text:PDF
GTID:1108330464964390Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the expansion of the scale of the software system and the increase of the degree of complexity, the cost of software maintenance grows. Effective maintenance and improvement have become increasingly important for the legacy systems. The requirements documents, design decisions, business rules, and historical records of existing software system belong to the scope of legacy system.In the maintenance of legacy system, it is common that there is outdated or missing in requirement and design documents, therefore, there is necessary to extract and analyze the implementation of the code, to recover the requirement and design information to help understand and maintain activity. In recent years, the researchs on reverse engineering have been a lot, but the field still belongs to an underdeveloped one. The method in reverse recovery of existing software requirement, generally simply by means of syntax information, including object-oriented syntax structure in the document information and the procedures, the invoked methods, the relationship of data access, etc. It is often to overlook the semantic information in the code, especially, the naming information of identifiers, keywords, etc. During the the reverse analysis, the method is also more concentrated in the study of static syntax structure, while ignoring the dynamic interactive features of the software, which largely affects the completeness and correctness of the reverse recovery of requirements information.For accurate feature location, this paper combines with static analysis and dynamic analysis technology, the candidate requirements features are analysed by using formal concept approach. The proposed feature location algorithm based on latent semantic retrieval, compared with the simple vector space model or probabilistic model retrieval methods, in terms of the precision and recall has been greatly improved. In addition, we extract potential topics from the code identifier semantic clustering, and apply a combination of feature location and feature recognition approach to improve the accuracy of the query, which is an exploratory research presented in this paper. To this end, we have developed the corresponding code semantic analysis tool for the software feature extraction, and on this basis, recovery the relationships among the demand characteristics of the source code links.Reverse technology, design-oriented major concern in the design reuse, pattern detection and design structure improvement, that is, extracted from the existing system code reusable design patterns, in order to achieve reuse in other project development purpose as well as from the point of view of the modular software design quality, evaluation target system existing design quality. Design patterns reflected static relationship between the various design elements, and in the dynamic aspects, are mainly shown in the interaction between the running objects. From the current status quo, more researchs focuses on the analysis of a single static or dynamic methods, the identify design patterns do not have reusability. This paper employs the ontology design patterns, the code is mapped to the ontology instances and then employs dynamic analysis verify the actual behavior of the candidate patterns correspond to instantiate the schema definition. In the pattern recognition process, this paper focuses on mining code copy-parse pattern. To this end, the solution uses identifier series of sequential pattern to built suffix tree, and uses the the filter rules, to improve the degree of accuracy of the identification code cloning.Software architecture is a high-level abstraction of software system, the basic idea of reverse architecture recovery is to use a variety of algorithm will basically achieve the unit clustering and classification, resulting in a model of the static structure of relationship and the dynamic interaction between high-level modules. This paper explores the rules from dynamic traces to help restore the system structure. Based on obtained strong association rules, the relationships among the software components can be established. This paper proposes the associated entity to be converted into visual graphic nodes, and each association to be converted into line. Thus, the visual graphics can be established and be compared to determine whether the initial software structure is reasonable.
Keywords/Search Tags:software reverse engineering, formal concept analysis, information retrieval, feature location, data mining, software architecture, refactoring
PDF Full Text Request
Related items