Software Reengineering via Method Extraction
University Of Wisconsin-Madison, Madison WI
Investigators
Abstract
Programs written in non-object-oriented languages often include conceptual objects. Making the objects explicit makes the program easier to understand and to maintain, and increases opportunities for code reuse. However, manually transforming a non-objected -oriented program into an object-oriented one is a difficult and time-consuming task. The goal of this project is the design and implementation of a software-reengineering tool that will improve legacy code by making it more object-oriented. In particular, given a set of variables that are to become the fields of a class, the tool will identify code segments that should be "extracted out" to become methods of the class. This process will be guided by a set of heuristics for identifying candidate code segments, a set of correctness criteria for determining which candidates are feasible (i.e., can be extracted into methods while preserving program semantics), and a set of evaluation criteria for choosing the best candidates.
View original record on NSF Award Search →