The Revitalize program aims to make it easier to reengineer binaries by automating the process of transforming an annotated disassembly and decompilation into a source tree. For a full description, see http://www.jameskoppel.com/revitalize.html
As of March 2012, Revitalize development has moved to the Project Ironfist server; the public Git repo will be updated sporadically.