Entries Tagged 'Technology' ↓

Basics of Reverse Engineering

Reverse engineering (RE) is the process of taking something apart and analyzing its workings in detail, usually with the intention to construct a new device or program that does the same thing without actually copying anything from the original.It’s a practice taken from older industries that is now frequently used on computer hardware and software. The term forward engineering is sometimes used in contrast to reverse engineering.

Software reverse engineering

Software reverse engineering involves reversing a program’s machine code back into the source code that it was written in, using programming language statements. Software reverse engineering is done to retrieve the source code of a program because the source code was lost, to study how the program performs certain operations, to improve the performance of a program, to fix a bug (correct an error in the program when the source code is not available), to identify malicious content in a program such as a virus, or to adapt a program written for use with one microprocessor for use with a differently-designed microprocessor. Reverse engineering for the sole purpose of copying or duplicating programs constitutes a copyright violation and is illegal.

For software reverse engineering several tools are available to disassemble a program. One tool is a hexadecimal dumper, which prints or displays the binary numbers of a program in hexadecimal format (which is easier to read than a binary format). By knowing the bit patterns that represent the processor instructions as well as the instruction lengths, the reverse engineer can identify certain portions of a program to see how they work. Another common tool is the disassembler. The disassembler reads the binary code and then displays each executable instruction in text form. A disassembler cannot tell the difference between an executable instruction and the data used by the program so a debugger is used, which allows the disassembler to avoid disassembling the data portions of a program. These tools might be used by a cracker to modify code and gain entry to a computer system or cause other harm.

Hardware reverse engineering

Hardware reverse engineering involves taking apart a device to see how it works. For example, if a processor manufacturer wants to see how a competitor’s processor works, they can purchase a competitor’s processor, disassemble it, and then make a processor similar to it. However, this process is illegal in many countries. In general, hardware reverse engineering requires a great deal of expertise and is quite expensive.

Another type of reverse engineering involves producing 3-D images of manufactured parts when a blueprint is not available in order to remanufacture the part. To reverse engineer a part, the part is measured by a coordinate measuring machine (CMM). As it is measured, a 3-D wire frame image is generated and displayed on a monitor. After the measuring is complete, the wire frame image is dimensioned. Any part can be reverse engineered using these methods.

Introduction to Six Sigma

 
Six Sigma is a quality management program that measures and improves the operational performance of a company by identifying and correcting defects in the company’s processes and products. The Greek letter sigma is sometimes used to denote variation from a standard.
 
It was started in Motorola, in its manufacturing division, where millions of parts are made using the same process repeatedly. Eventually Six Sigma evolved and applied to other non manufacturing processes. It was later picked up and followed by other large companies such as AlliedSignal (now known as Honeywell) and finally General Electric, who ultimately popularized the process. It has since spread to many other large companies, including Ford, Caterpillar, Raytheon, Seagate Technology, Microsoft, Siemens and many more.
 
The philosophy behind Six Sigma is that if you measure how many defects are in a process, you can figure out how to systematically eliminate them and get as close to perfection as possible. In order for a company to achieve Six Sigma, it cannot produce more than 3.4 defects per million opportunities.
 
There are two Six Sigma processes: Six Sigma DMAIC and Six Sigma DMADV, each term derived from the major steps in the process. Six Sigma DMAIC is a process that defines, measures, analyzes, improves, and controls existing processes that fall below the Six Sigma specification. Six Sigma DMADV defines, measures, analyzes, designs, and verifies new processes or products that are trying to achieve Six Sigma quality. All Six Sigma processes are executed by Six Sigma Green Belts or Six Sigma Black Belts, which are then overseen by a Six Sigma Master Black Belts, terms created by Motorola.
 
Six Sigma incorporates the basic principles and techniques used in Business, Statistics, and Engineering. These three form the core elements of Six Sigma. Six Sigma improves the process performance, decreases variation and maintains consistent quality of the process output. This leads to defect reduction and improvement in profits, product quality and customer satisfaction.
 
Six Sigma methodology is also used in many Business Process Management initiatives these days. These Business Process Management initiatives are not necessarily related to manufacturing. Many of the BPM’s that use Six Sigma in today’s world include call centers, customer support, supply chain management and project management.