52 Reuse-Based Software Development (85%)
Jones Capers
Abstract
Jones Capers
Abstract
Executive summary: Reverse engineering, as it applies to software, may be defined as a process of analyzing an existing system to create representations of that system at a higher level of abstraction. For example, an effort to replicate the functionality of an existing system for which design documentation (and perhaps even source code) does not exist. In a sense, this involves going backwards through a software development life cycle to discover the design and perhaps even the requirements in order to create a faithful replica of the original, perhaps using more modern technology. The intent of a reverse engineering effort is simply to duplicate existing functionality, not necessarily to improve upon it—if the intent is to improve, the project may more properly be categorized as reengineering.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Executive summary: Reverse engineering, as it applies to software, may be defined as a process of analyzing an existing system to create representations of that system at a higher level of abstraction. For example, an effort to replicate the functionality of an existing system for which design documentation (and perhaps even source code) does not exist. In a sense, this involves going backwards through a software development life cycle to discover the design and perhaps even the requirements in order to create a faithful replica of the original, perhaps using more modern technology. The intent of a reverse engineering effort is simply to duplicate existing functionality, not necessarily to improve upon it—if the intent is to improve, the project may more properly be categorized as reengineering.
Key concepts: Computer science, Reuse, Software engineering, Software development, Software, Programming language, Engineering, Waste management