Reverse Engineering is focused on the challenging task of understanding legacy program code without having suitable documentation. Using a transformational forward engineering perspective, the much of difficulty is caused by design decisions made during system development. Such decisions “hide” the program functionality and performance requirements in the final system by applying repeated refin...