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.

Preface<br />

Introduction<br />

In the <strong>recent</strong> decades, the amount of data produced by scientific, <strong>engineering</strong>, <strong>and</strong> life<br />

science <strong>applications</strong> has increased with several orders of magnitude. In parallel with<br />

this development, the <strong>applications</strong> themselves have become increasingly complex in<br />

terms of functionality, structure, <strong>and</strong> behaviour. In the same time, development <strong>and</strong><br />

production cycles of such <strong>applications</strong> exhibit a tendency of becoming increasingly<br />

shorter, due to factors such as market pressure <strong>and</strong> rapid evolution of supporting <strong>and</strong><br />

enabling technologies.<br />

As a consequence, an increasing fraction of the cost of creating new <strong>applications</strong> <strong>and</strong><br />

manufacturing processes shifts from the creation of new artifacts to the adaption of<br />

existing ones. A key component of this activity is the underst<strong>and</strong>ing of the design,<br />

operation, <strong>and</strong> behavior of existing manufactured artifacts, such as software code<br />

bases, hardware systems, <strong>and</strong> mechanical assemblies. For instance, in the software<br />

industry, it is estimated that maintenance costs exceed 80% of the total costs of a<br />

software product’s lifecycle, <strong>and</strong> software underst<strong>and</strong>ing accounts for as much as half<br />

of these maintenance costs.<br />

Reverse <strong>engineering</strong> encompasses the set of activities aiming at (re)discovering the<br />

functional, structural, <strong>and</strong> behavioral semantics of a given artifact, with the aim of<br />

leveraging this information for the efficient usage or adaption of that artifact, or the<br />

creation of related artifacts. Rediscovery of information is important in those cases<br />

when the original information is lost, unavailable, or cannot be efficiently processed<br />

within a given application context. Discovery of new information, on the other h<strong>and</strong>, is<br />

important when new application contexts aim at reusing information which is<br />

inherently present in the original artifact, but which was not made explicitly available<br />

for reuse at the time of creating that artifact.<br />

Reverse <strong>engineering</strong> has shown increasing potential in various application fields<br />

during the last decade, due to a number of technological factors. First, <strong>advances</strong> in<br />

data analysis <strong>and</strong> data mining algorithms, coupled with an increase of cheap<br />

computing power, has made it possible to extract increasingly complex information<br />

from raw data, <strong>and</strong> to structure this information in ways that make it effective for

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

Saved successfully!

Ooh no, something went wrong!