Reverse-Engineering Task
Jump to navigation
Jump to search
A Reverse-Engineering Task is an engineering task that requires the translation of a designed system into a system specification.
- Context:
- Task Input: Designed System, System Artifact
- Task Output: System Specification, Design Documentation, Reverse-Engineered System
- Task Performance Measure: Reverse-Engineering Accuracies such as reverse-engineering completeness, reverse-engineering fidelity, and reverse-engineering analysis time
- ...
- It can typically analyze Unknown System through reverse-engineering techniques.
- It can typically extract Design Pattern from reverse-engineering targets.
- It can typically reconstruct System Architecture through reverse-engineering investigations.
- It can typically identify Component Relationship through reverse-engineering analysiss.
- It can typically recover Implementation Logic through reverse-engineering examinations.
- It can typically parse System Structure through reverse-engineering parsing methods.
- ...
- It can often generate Functional Model from reverse-engineering findings.
- It can often create Technical Documentation from reverse-engineering results.
- It can often develop Compatibility Specification through reverse-engineering insights.
- It can often produce Security Assessment via reverse-engineering evaluations.
- It can often support Model-Driven Development through reverse-engineering specifications.
- It can often enable Free Software Development through reverse-engineering compatibility analysiss.
- ...
- It can range from being a Simple Reverse-Engineering Task to being a Complex Reverse-Engineering Task, depending on its reverse-engineering target complexity.
- It can range from being a Static Reverse-Engineering Task to being a Dynamic Reverse-Engineering Task, depending on its reverse-engineering analysis approach.
- It can range from being a Manual Reverse-Engineering Task to being an Automated Reverse-Engineering Task, depending on its reverse-engineering automation level.
- ...
- It can integrate with Analysis Framework for reverse-engineering workflow automation.
- It can connect to Documentation System for reverse-engineering knowledge management.
- It can support Development Environment for reverse-engineering result integration.
- It can utilize Reverse-Engineering Algorithms for reverse-engineering process automation.
- ...
- Examples:
- Software Reverse-Engineering Tasks, such as:
- Program Structure Reverse-Engineering Tasks, such as:
- Legacy System Reverse-Engineering Tasks, such as:
- Biological Reverse-Engineering Tasks, such as:
- Neural System Reverse-Engineering Tasks, such as:
- Cognitive Reverse-Engineering Tasks, such as:
- Hardware Reverse-Engineering Tasks, such as:
- Circuit Analysis Reverse-Engineering Tasks, such as:
- Physical System Reverse-Engineering Tasks, such as:
- Protocol Reverse-Engineering Tasks, such as:
- Network Protocol Reverse-Engineering Tasks, such as:
- File Format Reverse-Engineering Tasks, such as:
- ...
- Software Reverse-Engineering Tasks, such as:
- Counter-Examples:
- Forward Engineering Tasks, which create new systems from requirements rather than analyzing existing systems.
- Black Box Testing Tasks, which test functionality without examining internal structure or implementation.
- System Documentation Tasks, which record known design information rather than discovering unknown design.
- Code Review Tasks, which examine source code for quality assurance rather than understanding unknown implementation.
- See: Engineering Task, Analysis Task, System Analysis, Design Recovery, Reverse Engineering, Computer-Aided Software Engineering Task.
References
2013
- http://en.wikipedia.org/wiki/Reverse_engineering
- Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation.[1] It often involves taking something (a mechanical device, electronic component, computer program, or biological, chemical, or organic matter) apart and analyzing its workings in detail to be used in maintenance, or to try to make a new device or program that does the same thing without using or simply duplicating (without understanding) the original.
Reverse engineering has its origins in the analysis of hardware for commercial or military advantage.[2] The purpose is to deduce design decisions from end products with little or no additional knowledge about the procedures involved in the original production. The same techniques are subsequently being researched for application to legacy software systems, not for industrial or defence ends, but rather to replace incorrect, incomplete, or otherwise unavailable documentation.[3]
- Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation.[1] It often involves taking something (a mechanical device, electronic component, computer program, or biological, chemical, or organic matter) apart and analyzing its workings in detail to be used in maintenance, or to try to make a new device or program that does the same thing without using or simply duplicating (without understanding) the original.
- ↑ Eilam, Eldad & Chikofsky, Elliot J. (2007). Reversing: secrets of reverse engineering. John Wiley & Sons. p. 3. ISBN 978-0-7645-7481-8. http://books.google.com/books?id=K8vIf99UBYQC&pg=PA3.
- ↑ Chikofsky, E. J.; Cross, J. H., II (1990). "Reverse Engineering and Design Recovery: A Taxonomy". IEEE Software 7 (1): 13–17. doi:10.1109/52.43044.
- ↑ A Survey of Reverse Engineering and Program Comprehension. Michael L. Nelson, April 19, 1996, ODU CS 551 – Software Engineering Survey. Furthermore, reverse engineering concept is used to modify or change premade .dll files in an operating systems
1990
- (Chikofsky & Cross II, 1990) ⇒ Elliot J. Chikofsky, and James H. Cross II. (1990). “Reverse Engineering and Design Recovery: A Taxonomy.” In: IEEE Software Journal, 7(1). doi:10.1109/52.43044