Many tasks in software engineering can be characterized as source to source transformations. Design recovery, software restructuring, forward engineering, language translation, pl...
James R. Cordy, Thomas R. Dean, Andrew J. Malton, ...
We combine type inference and concept analysis in order to gain insight into legacy software systems. Type inference for COBOL yields the types for variables and program parameter...
During software evolution, adaptive, and corrective maintenance are common reasons for changes. Often such changes cluster around key components. It is therefore important to anal...
James M. Bieman, Anneliese Amschler Andrews, Helen...
Software evolution and reuse is more likely to receive higher payoff if high-level artifacts—such as architectures and designs—can be reused and can guide low-level component ...
Reverse engineering of program code is the process of constructing a higher level abstraction of an implementation in order to facilitate the understanding of a system that may be...