15.02.2013 Views

reverse engineering – recent advances and applications - OpenLibra

reverse engineering – recent advances and applications - OpenLibra

reverse engineering – recent advances and applications - OpenLibra

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

X Preface<br />

answering specific questions on the function, structure, <strong>and</strong> behavior of the artifact<br />

under study. Secondly, new data sources, such as 3D scanners, cell microarrays, <strong>and</strong> a<br />

large variety of sensors, has made new types of data sources available from which<br />

detailed insights about mechanical <strong>and</strong> living structures can be extracted.<br />

Given the above factors, <strong>reverse</strong> <strong>engineering</strong> <strong>applications</strong>, techniques, <strong>and</strong> tools have<br />

shown a strong development <strong>and</strong> diversification. However, in the same time, the types<br />

of questions asked by end users <strong>and</strong> stakeholders have become increasingly complex.<br />

For example, while a decade ago the <strong>reverse</strong> <strong>engineering</strong> of a software application<br />

would typically imply extracting the static structure of an isolated code base of tens of<br />

thous<strong>and</strong>s of lines of code written in a single programming language, current software<br />

<strong>reverse</strong> <strong>engineering</strong> aims at extracting structural, behavioral, <strong>and</strong> evolutionary<br />

patterns from enterprise <strong>applications</strong> of millions of lines of code written in several<br />

programming languages, running on several machines, <strong>and</strong> developed by hundreds of<br />

individuals over many years. Similarly, <strong>reverse</strong> <strong>engineering</strong> the geometric <strong>and</strong><br />

mechanical properties of physical shapes has evolved from the extraction of coarse<br />

surface models to the generation of part-whole descriptions of complex articulated<br />

shapes with the submillimeter accuracy required for manufacturing processes. This<br />

has fostered the creation of new <strong>reverse</strong> <strong>engineering</strong> techniques <strong>and</strong> tools.<br />

This book gives an overview of <strong>recent</strong> <strong>advances</strong> in <strong>reverse</strong> <strong>engineering</strong> techniques,<br />

tools, <strong>and</strong> application domains. The aim of the book is, on the one h<strong>and</strong>, to provide the<br />

reader with a comprehensive sample of the possibilities that <strong>reverse</strong> <strong>engineering</strong><br />

currently offers in various application domains, <strong>and</strong> on the other h<strong>and</strong> to highlight the<br />

current research-level <strong>and</strong> practical challenges that <strong>reverse</strong> <strong>engineering</strong> techniques <strong>and</strong><br />

tools are faced.<br />

Structure of this book<br />

To provide a broad view on <strong>reverse</strong> <strong>engineering</strong>, the book is divided into three parts:<br />

software <strong>reverse</strong> <strong>engineering</strong>, <strong>reverse</strong> <strong>engineering</strong> shapes, <strong>and</strong> <strong>reverse</strong> <strong>engineering</strong> in<br />

medical <strong>and</strong> life sciences. Each part contains several chapters covering <strong>applications</strong>,<br />

techniques, <strong>and</strong> tools for <strong>reverse</strong> <strong>engineering</strong> relevant to specific use-cases in the<br />

respective application domain. An overview of the structure of the book is given below.<br />

Part 1: Software Reverse Engineering<br />

In part 1, we look at <strong>reverse</strong> <strong>engineering</strong> the function, structure, <strong>and</strong> behavior of large<br />

software-intensive <strong>applications</strong>. The main business driver behind software <strong>reverse</strong><br />

<strong>engineering</strong> is the increased effort <strong>and</strong> cost related to maintainting existing software<br />

<strong>applications</strong> <strong>and</strong> designing new <strong>applications</strong> that wish to reuse existing legacy software.<br />

As this cost increases, getting detailed information on the structure, run-time behavior,<br />

<strong>and</strong> quality attributes of existing software <strong>applications</strong> becomes highly valuable.<br />

In Chapter 1, Kienle et al. Give a comprehensive overview of <strong>reverse</strong> <strong>engineering</strong> tools<br />

<strong>and</strong> techniques applied to embedded software. Apart from detailing the various pro’s

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!