Semi-automatic code-to-code transformer for Java

Abstract

Having the ability to perform large automatic software changes in a code base gives new possibilities for software restructuring and cost savings. The possibility of replacing software libraries in a semi-automatic way has been studied. String metrics are used to find equivalents between two libraries by looking at classand method names. Rules based on the equivalents are then used to describe how to apply the transformation to the code base. Using the abstract syntax tree, locations for replacements are found and transformations are performed. After the transformations have been performed, an evaluation of the saved effort of doing the replacement automatically versus manually is made. It shows that a large part of the cost can be saved. An additional evaluation calculating the maintenance cost saved annually by changing libraries is also performed in order to prove the claim that an exchange can reduce the annual cost for the project.

13 Figures and Tables

Cite this paper

@inproceedings{Boije2016SemiautomaticCT, title={Semi-automatic code-to-code transformer for Java}, author={Niklas Boije and Kristoffer Borg and Tommy F{\"a}rnqvist}, year={2016} }