University of Limerick Institutional Repository

Automated refactoring using design differencing

DSpace Repository

Show simple item record

dc.contributor.author Hemati-Moghadam, Iman
dc.contributor.author Ó Cinnéide, Mel
dc.date.accessioned 2012-08-14T14:34:09Z
dc.date.available 2012-08-14T14:34:09Z
dc.date.issued 2012
dc.identifier.uri http://hdl.handle.net/10344/2451
dc.description peer-reviewed en_US
dc.description.abstract Software systems that undergo repeated addition of functionality commonly suffer a loss of quality in their underlying designs, termed design erosion. This leads to the maintenance of a system becoming increasingly difficult and time-consuming during its lifetime. Refactoring can reduce the effects of design erosion, but this process requires significant effort on the part of the maintenance programmer. Research into automated refactoring has had some success in reducing the effort involved, however source code refactoring uses refactoring steps that are too small to effect major design changes. Design-level refactoring is also possible, but these approaches operate on design models and do little to help in the subsequent refactoring of the source code. In this paper, we present a novel refactoring approach that refactors a program based both on its desired design and on its source code. The maintenance programmer first creates a desired design (a UML class model) for the software based on the current software design and their understanding of how it may be required to evolve. Then, the source code is refactored using the desired design as a target. This resulting source code has the same behavior as the original, but its design more closely correlates to the desired design. We conducted an investigation using several open source Java applications to determine how precisely it is possible to refactor program source code to a desired design. Our findings were that the original program could be refactored to the desired design with an accuracy of over 90%, hence demonstrating the viability of automated refactoring using design differencing. en_US
dc.language.iso eng en_US
dc.publisher IEEE Computer Society en_US
dc.relation.ispartofseries European Conference on Software Maintenance and Reengineering (CSMR'2012);pp. 43-52
dc.relation.uri http://dx.doi.org/ 10.1109/CSMR.2012.15
dc.rights “© 2012 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.” en_US
dc.subject search-based refactoring en_US
dc.subject automated design improvement en_US
dc.subject design differencing en_US
dc.subject refactoring tool en_US
dc.title Automated refactoring using design differencing en_US
dc.type info:eu-repo/semantics/conferenceObject en_US
dc.type.supercollection all_ul_research en_US
dc.type.supercollection ul_published_reviewed en_US
dc.contributor.sponsor PRTLI en_US
dc.rights.accessrights info:eu-repo/semantics/openAccess en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search ULIR


Browse

My Account

Statistics