The holy grail of reverse engineering approaches. In an ideal world, you would point a tool at some data, and after some work on the part of the tool and perhaps also yourself, higher level language source code is generated. Most likely, this would be C. You would not have to interpret exactly what a sequence of instructions was doing, how what it did with a memory location affected anything, or even why the instructions were laid out the way they were! Unfortunately, like the holy grail, straightforward decompilation is also a thing of myth and legend.
Decompilation is the process of generating source code in a higher level language than assembly language. A comprehensive resource on the subject can be found in the decompilation section of the Program Transformation wiki.
There are no tools or approaches that are viable solutions for decompilation of Amiga code.
It is rumoured that Tom Morton came up with a custom decompilation solution when reverse engineering the Atari version of Frontier to get his GLFrontier version. If this can be confirmed and his approach can be formalised, it might be able to be put to use in other reverse engineering projects. (Source: crabfists on English Amiga Board)