2007 · 158 citations · 114 references
ComputingComputer ScienceRequirements EngineeringSoftware EngineeringSystems ArchitectureModel-driven Software EngineeringReverse EngineeringSoftware ArchitectureSoftware DesignSoftware EvolutionSoftware ModelingCode DecompilationSoftware Reverse Engineering
Comprehending and modifying software is at the heart of many software engineering tasks, and this explains the growing interest that software reverse engineering has gained in the last 20 years. Broadly speaking, reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction. This paper briefly presents an overview of the field of reverse engineering, reviews main achievements and areas of application, and highlights key open research issues for the future.
114
The vision of autonomic computing
Jeffrey O. Kephart, David M. Chess · Computer · 2003 · 6.4K citations
Mark Weiser · IEEE Transactions on Software Engineering · 1984 · 3.2K citations