Merging and splitting source code artifacts is a common activity during the lifespan of a software system; as developers rethink the essential structure of a system or plan for a ...
There are many reasons why reverse engineering research tools often fail to be evaluated or adopted in industry. Their rough user interfaces and poor interoperability are just two...
Qin Zhu, Yu Chen, Piotr Kaminski, Anke Weber, Holg...
One prevalent method for evaluating the results of automated software analysis tools is to compare the tools’ output to the judgment of human experts. This evaluation strategy i...
Andrew Walenstein, Nitin Jyoti, Junwei Li, Yun Yan...
The inherent differences between C++ and Java programs dictate that the methods used for reverse engineering their compiled executables will be languagespecific. This paper looks ...
Lori Vinciguerra, Linda M. Wills, Nidhi Kejriwal, ...
There are many good reasons why organizations should perform software architecture reconstructions. However, few organizations are willing to pay for the effort. Software architec...
Many modern software systems are often large, distributed, written in more than one programming language, and developed using pre-built components. This paper presents the results...
Despite their potential applications in software comprehension, it appears that dynamic visualisation tools are seldom used outside the research laboratory. This paper presents an...
Graphical user interfaces (GUIs) are important parts of today’s software and their correct execution is required to ensure the correctness of the overall software. A popular tec...
The process of software reverse engineering commonly uses an extractor, which parses source code and extracts facts about the code. The level of detail in these facts varies from ...