首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 0 毫秒
1.
The canonical activities of reverse engineering   总被引:1,自引:0,他引:1  
  相似文献   

2.
Blaha  M.R. 《IT Professional》1999,1(2):35-41
It may seem hard to choose between two software products, but studying their databases can reveal a clear winner and save you years of grief. The most productive way to reverse engineer a database is to build a model that conveys the software's scope and intent. For a clean database, you'll most likely want to prepare a model; for a flawed and poorly documented database, it may be best to stop after studying the style and quality of the database structure. At OMT Associates, we generally construct models-usually expressed as Unified Modeling Language (UML) object models. We typically organize reverse engineering into three phases-implementation recovery, design recovery, and analysis recovery. Reverse engineering is more than just a process for studying databases; it has profound implications for software development in general. You might view the reverse engineering of vendor databases as a creative response to the so-called software crisis. The current approach of preaching methodology and discipline isn't working, Software quality and development productivity still badly lag behind our desires. Database reverse engineering gives us both a carrot and a stick. The flaws and excellence of various products become more obvious and more heavily influence product success and failure. For a large corporation, the cost of the evaluation (as little as a few person-weeks) is trivial compared to the millions spent buying and deploying new software  相似文献   

3.
Reverse engineering is the process of comprehending software and producing a model of it at a high abstraction level, suitable for documentation, maintenance, or reengineering. But from a manager's viewpoint, there are two painful problems: 1) It's difficult or impossible to predict how much time reverse engineering will require. 2) There are no standards to evaluate the quality of the reverse engineering that the maintenance staff performs. Model-driven reverse engineering can overcome these difficulties. A model is a high-level representation of some aspect of a software system. MDRE uses the features of modeling technology but applies them differently to address the maintenance manager's problems. Our approach to MDRE uses formal specification and automatic code generation to reverse the reverse-engineering process. Models written in a formal specification language called SLANG describe both the application domain and the program being reverse engineered, and interpretations annotate the connections between the two. The ability to generate a similar version of a program gives managers a fixed target for reverse engineering. This, in turn, enables better effort prediction and quality evaluation, reducing development risk.  相似文献   

4.
In this paper, we introduce a new problem termed query reverse engineering (QRE). Given a database \(D\) and a result table \(T\) —the output of some known or unknown query \(Q\) on \(D\) —the goal of QRE is to reverse-engineer a query \(Q'\) such that the output of query \(Q'\) on database \(D\) (denoted by \(Q'(D)\) ) is equal to \(T\) (i.e., \(Q(D)\) ). The QRE problem has useful applications in database usability, data analysis, and data security. In this work, we propose a data-driven approach, TALOS for Tree-based classifier with At Least One Semantics, that is based on a novel dynamic data classification formulation and extend the approach to efficiently support the three key dimensions of the QRE problem: whether the input query is known/unknown, supporting different query fragments, and supporting multiple database versions.  相似文献   

5.
Reverse engineering of computer software has assumed greater importance in recent years because of the need to examine legacy code to remove the year 2000 bug. There are different types of reverse engineering based on the level of abstraction of the code to be reengineered; machine code, assembly code, source code or even CASE code. We describe the different types of reverse engineering and the extent of copyright protection for software. The most common uses of reverse engineering are described. This provides for a comparative overview of the legal standing on reverse engineering at the international level. We propose challenges to the global electronic community in relation to existing and future legislation in the area of reverse engineering and protection of digital works. This revised version was published online in June 2006 with corrections to the Cover Date.  相似文献   

6.
Reverse engineering of computer software has assumed greater importance in recent years because of the need to examine legacy code to remove the year 2000 bug. There are different types of reverse engineering based on the level of abstraction of the code to be reengineered; machine code, assembly code, source code or even CASE code. We describe the different types of reverse engineering and the extent of copyright protection for software. The most common uses of reverse engineering are described. This provides for a comparative overview of the legal standing on reverse engineering at the international level. We propose challenges to the global electronic community in relation to existing and future legislation in the area of reverse engineering and protection of digital works.  相似文献   

7.
The recovery of design intent in reverse engineering problems   总被引:2,自引:0,他引:2  
This article presents a method of reverse engineering applied to the particular case of a cam in order to recover the form and dimensions of the design of the original piece, which take into account: design intent, general knowledge of the problem, different geometric and dimensional restrictions, and the digitized point cloud. Rather than by employing complex mathematical algorithms, a fit is achieved by drawing a parametric outline that complies with the design intent, and by adjusting the different parameters through successive approximations using commercial CAD software commands.  相似文献   

8.
9.
逆向工程发展现状研究   总被引:6,自引:1,他引:6  
周立萍  陈平 《计算机工程与设计》2004,25(10):1658-1660,1666
随着软件产业的发展,越来越多的遗产系统需要维护和改善,逆向工程已经成为遗产系统维护与演化的关键技术之一。介绍了逆向工程的定义,综述了逆向工程的研究进展。通过对现有工具的分析探讨了逆向工程研究中的不足之处,给出了未来的发展趋势。  相似文献   

10.
研究未知通信协议逆向解析技术在网络安全中具有重要意义,现有方法局限于分析明文的通信协议。基于此,提出一种基于动态污点分析的加密通信协议逆向分析方法,以动态二进制插桩平台Pin为支撑,跟踪记录程序的指令轨迹,采用数据流分析构建指令级和函数级的污点传播流图,再根据解密过程的特征定位数据包解密后的明文,最后解析协议明文的格式。实验表明,该方法能够准确定位加密协议数据解密后的明文,还原加密协议原有的格式。  相似文献   

11.
Integrated reverse engineering and rapid prototyping   总被引:16,自引:0,他引:16  
Reverse engineering is a methodology for constructing CAD models of physical parts by digitizing an existing part, creating a computer model and then using it to manufacture the component. When a digitized part is to be manufactured by means of rapid prototyping machines such as stereolithography apparatus (SLA) and selective laser sintering equipments (SLS), etc., it is not necessary to construct the CAD model of a digitized part. This will be described by the proposed novel method which can construct STL file (the de facto file format for rapid prototyping machines) directly from digitized part data. Further more, the STL file can even be constructed in a way that significant data reduction can be achieved at the users' discretion.  相似文献   

12.
Applying knowledge to reverse engineering problems   总被引:1,自引:0,他引:1  
This paper summarizes a series of recent research results made at Edinburgh University based on projects that apply domain knowledge of standard shapes and relation ships to solve or improve reverse engineering problems. The problems considered are how to enforce known relationships when data fitting, how to extract features even in very noisy data, how to get better shape parameter estimates and how to infer data about unseen features.  相似文献   

13.
14.
Automatic protocol reverse engineering is a process of extracting protocol message formats and protocol state machine without access to the specification of target protocol. Protocol reverse engineering is useful for addressing many problems of network management and security, such as network management, honey-pot systems, intrusion detection, Botnet detection and prevention, and so on. Currently, protocol reverse engineering is mainly a manual and painstaking process which is time-consuming and error-prone. In this paper, we present a novel approach for automatic reverse engineering application-layer network protocols. We extract protocol keywords from network traces based on their support rates and variances of positions, reconstruct message formats, and infer protocol state machines. We implement our approach in a prototype system called AutoReEngine and evaluate it over four text-based protocols (HTTP, POP3, SMTP and FTP) and two binary protocols (DNS and NetBIOS). The results show that our AutoReEngine outperforms the existing algorithms.  相似文献   

15.
When an object is digitized and represented in a triangular model, erroneous facets may exist and affect the accuracy of the downstream data analysis algorithms. We here propose an approach to detect and eliminate erroneous facets that might exist in a triangular model. Five types of erroneous facets are identified in this study: degenerate, non-manifold vertices, self-intersection, incomplete connection and inconsistent plane normal. Of these erroneous facets, the first two types must be processed first since they are correlated to the other three types of errors. An individual algorithm is proposed for each type of the errors, and an integrated procedure is then proposed to detect and eliminate all errors automatically. Finally, several examples are presented to demonstrate the feasibility of the proposed method.  相似文献   

16.
17.
Eric J. Byrne 《Software》1991,21(12):1349-1364
This paper presents lessons learned from an experiment to reverse engineer a program. A reverse engineering process was used as part of a project to develop an Ada implementation of a Fortran program and upgrade the existing documentation. To accomplish this, design information was extracted from the Fortran source code and entered into a software development environment. The extracted design information was used to implement a new version of the program written in Ada. This experiment revealed issues about recovering design information, such as, separating design details from implementation details, dealing with incomplete or erroneous information, traceability of information between implementation and recovered design, and re-engineering. The reverse engineering process used to recover the design, and the experience gained during the study are reported.  相似文献   

18.
Adaptive patch-based mesh fitting for reverse engineering   总被引:2,自引:0,他引:2  
In this paper,  we propose a novel adaptive mesh fitting algorithm that fits a triangular model with G1 smoothly stitching bi-quintic Bézier patches. Our algorithm first segments the input mesh into a set of quadrilateral patches, whose boundaries form a quadrangle mesh. For each boundary of each quadrilateral patch, we construct a normal curve and a boundary-fitting curve, which fit the normal and position of its boundary vertices respectively. By interpolating the normal and boundary-fitting curves of each quadrilateral patch with a Bézier patch, an initial G1 smoothly stitching Bézier patches is generated. We perform this patch-based fitting scheme in an adaptive fashion by recursively subdividing the underlying quadrilateral into four sub-patches. The experimental results show that our algorithm achieves precision-ensured Bézier patches with G1 continuity and meets the requirements of reverse engineering.  相似文献   

19.
For the maintenance of software systems, developers have to completely understand the existing system. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Design patterns can support a faster and better understanding of software systems. There are different approaches for supporting pattern recognition in existing systems by tools. They are evaluated by the Information Retrieval criteria precision and recall. An automated search based on structures has a highly positive influence on the manual validation of the results by developers. This validation of graphical structures is the most intuitive technique. In this paper a new approach for automated pattern search based on minimal key structures is presented. It is able to detect all patterns described by the GOF [15]. This approach is based on positive and negative search criteria for structures and is prototypically implemented using Rational Rose and Together.  相似文献   

20.
Businesses are increasingly beginning to modernise those of their legacy systems that were originally developed with Rapid Application Development (RAD) or Fourth Generation Language (4GL) environments, in order to benefit from new platforms and technologies. In these systems, the Graphical User Interface (GUI) layout is implicitly provided by the position of the GUI elements (i.e. coordinates). However, taking advantage of current features of GUI technologies often requires an explicit, high-level layout model. We propose a Model-Driven Engineering process with which to perform the automatic reverse engineering of RAD-built GUIs, which is focused on discovering the implicit layout, and produces a GUI model in which the layout is explicit. As an example of the approach, we apply an automatic reengineering process to this model in order to generate a Java Swing user interface.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号