What is Reverse Engineering?

You can usually tell which children will eventually grow up to be engineers. They’re the young kids who secretly dismantle the toaster in the garage to figure out how it works.

Per Wikipedia's definition: 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. It often involves taking something (e.g., a mechanical device, electronic component, biological, chemical or organic matter or software program) 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. 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.

These future engineers are onto something. Taking a complex machine apart is one of the best ways to discover how it operates and to recreate that functionality. This concert is called “reverse engineering”. Another way to understand reverse engineering it to think of it as deconstructing a machine to discover what’s inside and how all the pieces fits together to create the whole.

However, this process can be messy. As those adolescent engineers learned, breaking apart the toaster might provide great insights, but it also results in angry parents and lots of useless scrap metal.

What if there was a way to break something apart without, well, actually breaking it?

A great advancement if computer assisted design (CAD) now makes this wish a reality. The toaster detectives of yesterday are the advanced engineers of today using special CAD software to look inside complicated equipment and machinery to see how it works and how, building 3D computer-generated models, and using this data to figure out that equipment or machine might be duplicated or repaired without ever having to take it apart or damage it (in other words, no angry parents at the end).

Reverse engineering can come in handy when a company needs to duplicate or diagnose issues with a piece of equipment that might be difficult to replace due to expense, availability or timing. For example, a mining company may rely heavily on a very expensive and specialized drilling machine. If the machine starts acting up and the manufacturer went out of business ten years ago, the company has a decision to make. It can pay hundreds of thousands of dollars on a brand new drilling machine, or it can invest significantly less money on reverse engineering software, which can help engineers at the company model the drill and rebuild its damaged part. And continue the practice of repair into the future.

In a situation like this, the solution is obvious. Reverse engineering software provides a much greater return on investment than buying a brand new piece of equipment and is much less risky than opening up the drill blind.

Reverse engineering can even help companies improve on equipment designs by allowing engineers to develop 3D CAD drawings that they can manipulate and redesign in order to produce new molds, models or parts.

Who uses reverse engineering software? Any company that relies on expensive mechanical equipment can benefit from arming their engineers with reverse engineering software, including businesses in the consumer products, automotive, aerospace, medical, military, manufacturing, assemblies, education, film production and packaging industries.