Objective We propose a research program (Rossetta) towards reverse engineering of complex software that is available only in binary form. Most of the commercial software industry assumes that compilation (the translation of source code to binary code), is irreversible in practice for real applications. The research question for Rosetta is whether this irreversibility assumption is reasonable. If successful, the project will have a major impact on the software industry.The challenge is daunting, because binary code after compilation lacks most of the visible structure and semantic information that is available at the source code level. There is no definition of data structures, no helpful names of variables and functions, no semantic information, and no indication of what chunks of instructions are supposed to do.However, the Rosetta project has a clear methodology for source recovery. Reverse engineering is approached as an iterative process with an initial focus on recovering data structures, followed by recovery of code. We combine static and dynamic techniques with usage monitoring and machine learning. A key insight is that even if all visible structure has been removed from the data in memory, the structures will still be *used* in a way that corresponds to the source code. By observing the use of data and application of machine learning techniques, we will recover both the data and the source.We store all information that we uncover in the Rosetta database. The database provides a handle on both the data structures and large sections of the code (and at various levels of abstraction). We believe that our methods will allow reverse engineering of very complex commercial software. Doing so will be our main criterion for success. In addition, however, we propose to demonstrate the usefulness of our analysis by automatically hardening software (to make it resilient against many types of attack) without requiring any access to the source co Fields of science natural sciencescomputer and information sciencessoftwarenatural sciencescomputer and information sciencesdatabasesnatural sciencescomputer and information sciencesartificial intelligencemachine learning Programme(s) FP7-IDEAS-ERC - Specific programme: "Ideas" implementing the Seventh Framework Programme of the European Community for research, technological development and demonstration activities (2007 to 2013) Topic(s) ERC-SG-PE6 - ERC Starting Grant - Computer science and informatics Call for proposal ERC-2010-StG_20091028 See other projects for this call Funding Scheme ERC-SG - ERC Starting Grant Coordinator STICHTING VU Address De boelelaan 1105 1081 HV Amsterdam Netherlands See on map Region West-Nederland Noord-Holland Groot-Amsterdam Activity type Higher or Secondary Education Establishments Principal investigator Hendrik Jaap Bos (Dr.) Administrative Contact Yvonne Kops (Dr.) Links Contact the organisation Opens in new window Website Opens in new window EU contribution No data Beneficiaries (2) Sort alphabetically Sort by EU Contribution Expand all Collapse all STICHTING VU Netherlands EU contribution € 1 339 000,00 Address De boelelaan 1105 1081 HV Amsterdam See on map Region West-Nederland Noord-Holland Groot-Amsterdam Activity type Higher or Secondary Education Establishments Principal investigator Hendrik Jaap Bos (Dr.) Administrative Contact Yvonne Kops (Dr.) Links Contact the organisation Opens in new window Website Opens in new window Other funding No data VERENIGING VOOR CHRISTELIJK HOGER ONDERWIJS WETENSCHAPPELIJK ONDERZOEK EN PATIENTENZORG Netherlands EU contribution € 0,00 Address De boelelaan 1105 1081 HV Amsterdam See on map Region West-Nederland Noord-Holland Groot-Amsterdam Activity type Higher or Secondary Education Establishments Administrative Contact Dirkje Schinkelshoek (Ms.) Links Contact the organisation Opens in new window Website Opens in new window Other funding No data