reverse engineering definition system, product, design
The process of analysing an existing system to identify its components and their interrelationships and create representations of the system in another form or at a higher level of abstraction. Reverse engineering is usually undertaken in order to redesign the system for better maintainability or to produce a copy of a system without access to the design from which it was originally produced.
For example, one might take the executable
code of a computer program, run it to study how it behaved with different input and then attempt to write a program oneself which behaved identically (or better). An integrated circuit
might also be reverse engineered by an unscrupulous company wishing to make unlicensed copies of a popular chip.