Font Size: a A A

Research On The Techniques Of Software Reverse Engineering

Posted on:2003-11-04Degree:DoctorType:Dissertation
Country:ChinaCandidate:H P ChenFull Text:PDF
GTID:1118360092466157Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software reverse engineering starts with the executable program systems, and generates the source code, the structure of system, and the documents of correlative design theories and algorithms. Software reverse engineering has great practical and economic value. It can not only avoid reduplicate labor and improve efficiency and quality of software production, but also change a plenty of legacy systems into the systems that can be evolved easily in order to utilize these useful resource adequately. Although there has been much research on software reverse engineering in recent years, software reverse engineering is still a greatly undeveloped field. The uniform standard, method and process haven't been generated yet. Thus, it is necessary to research on the technique of software reverse engineering deeply.With the background of aviation fund project and natural science fund project of Shaanxi province, based on a mass of domestic and overseas literatures, and combined with the project of 272-radio altitude meter, this thesis has lucubrated on the theories and methods of software reverse engineering about the research that starts with source code, and generates the documents of structure of system, design theories, and algorithms, according to the advice that we obtained when we applied the aviation fund project The main contents and technical innovation of this thesis include:1. The author put forward that we should construct object-oriented software reverse engineering database, and also designed and realized it.Since the object-oriented database are more appropriate than relational database to adapt the special requirements of software reverse engineering database that are generated by the characteristic of the data of software reverse engineering, and the object-oriented software reverse engineering database can provide effective support for the normative activities of software reverse engineering, so it is an ideal choice to construct object-oriented software reverse engineering database.The designs which have been made by the author to construct object-oriented software reverse engineering database were: having constructed all kinds of classes for representation of the data of software reverse engineering, and having described the interrelation of these classes; having constructed two kinds of macro-structure of object-oriented software reverse engineering database, which are based on C/S structure and Intranet structure respectively; having constructed the frame of management of object-oriented software reverse engineering database, including management of collective development, management of class library, management of using OQL to query, and so on; having constructed the mechanism of database backup, including the method for managing log and using the snapshot and trigger to construct copy of database. This systemic theory can instruct user to construct, manage and use the reverse engineering database.2. The author put forward that synchronized refinement strategy should beIf-treat as the program understanding strategy of software reverse engineering based on his experience. The synchronized refinement strategy is base on the detection of design decisions in code, and it can resolve the difficulties of program understanding better than bottom-up and top-down strategy. Moreover, the design of reengineering generated by synchronized refinement strategy is more suitable for software reverse engineering.3. The author put forward that we should develop the assistant tools to support software reverse engineering under the condition of current technique, and proposed the principle of developing the assistant tools. The principle was to use existed software directly as the assistant tools, or to select the software that can satisfy the requirement of reverse engineering only by little development to develop the assistant tools. There were two reasons to propose such principle. First, it is difficult to develop the automatic tools to accomplish software reverse engineering under the...
Keywords/Search Tags:Software Reverse Engineering, Program Understanding, Design Decision, Reengineering, Legacy System, Object-Oriented Software Reverse Engineering Database, Assistant Tools of Software Reverse Engineering
PDF Full Text Request
Related items