The Decompiler is a software which is performs the reverse function of compiler.It translate the file which is at low level of abstraction into higher level of abstraction.
In other language we can say that the Decompile is used to translate the executable program into source code in high level language. In comparison with the disassembler translate the executable program into assembly language program.
Now a days there is more use of the Decompiler.It is also used for the recovery of the source code and also some time is used for the computer security purpose.The success of the decompiler depends on the amount of code present.
Many virtual machine have byte code format and also some metadata that makes the decompiler quit feasible.