A typical IDA user will begin with an automatically generated disassembly listing and then convert sections from code to data and vice versa, rename, annotate, and otherwise add information to the listing, until it becomes clear what it does. However, the nature of disassembly precludes total accuracy, and a great deal of human intervention is necessarily required IDA has interactive functionality to aid in improving the disassembly. IDA performs automatic code analysis, using cross-references between code sections, knowledge of parameters of API calls, and other information. The latest full version of IDA Pro is commercial while an earlier and less capable version is available for download free of charge. A decompiler plug-in for programs compiled with a C/C++ compiler is available at extra cost. It also can be used as a debugger for Windows PE, Mac OS X Mach-O and Linux ELF executables. It supports a variety of executable formats for different processors and operating systems. IDA(Interactive Disassembler Professional) is a disassembler for computer software which generates assembly language source code from machine-executable code.