Re-engineering transforms a final user interface into a logical representation that is manipulable enough to allow forward engineering to port a UI from one computing platform to ...
Laurent Bouillon, Jean Vanderdonckt, Kwok Chieu Ch...
Abstract. Reverse engineering of executable programs, by disassembling them and then using program analyses to recover high level semantic information, plays an important role in a...
Matias Madou, Bertrand Anckaert, Patrick Moseley, ...
The use of design patterns in a software system can provide strong indications about the rationale behind the system’s design. As a result, automating the detection of design pa...
Buffer overflows have been the most common form of security vulnerability in the past decade. A number of techniques have been proposed to address such attacks. Some are limited t...
In recent years, code obfuscation has attracted attention as a low cost approach to improving software security by making it difficult for attackers to understand the inner worki...
Software decay is a phenomenon that plagues aging software systems. While in recent years, there has been significant progress in the area of automatic detection of “code smells...
— Chuck is a new code browser that allows navigation of a code base along semantic structures, such as data-flow and higher-order control-flow relationships. Employing the fast...
Understanding a software system by just analyzing the structure of the system reveals only half of the picture, since the structure tells us only how the code is working but not w...
In this paper we present an infrastructure that supports interoperability among various reverse engineering tools and applications. We include an Application Programmer’s Interf...
Nicholas A. Kraft, Brian A. Malloy, James F. Power
It is a common understanding that identifying the same entity such as module, file, and function between revisions is important for software evolution related analysis. Most softw...