1. A language-independent software renovation framework
- Author
-
Di Penta, M., Neteler, M., Antoniol, G., and Merlo, E.
- Subjects
Algorithm ,Software quality ,Geographic information system ,Algorithms ,Software ,Geographic information systems - Abstract
To link to full-text access for this article, visit this link: http://dx.doi.org/10.1016/j.jss.2004.03.033 Byline: M. Di Penta (a), M. Neteler (b), G. Antoniol (a), E. Merlo (c) Abstract: One of the undesired effects of software evolution is the proliferation of unused components, which are not used by any application. As a consequence, the size of binaries and libraries tends to grow and system maintainability tends to decrease. At the same time, a major trend of today's software market is the porting of applications on hand-held devices or, in general, on devices which have a limited amount of available resources. Refactoring and, in particular, the miniaturization of libraries and applications are therefore necessary. We propose a Software Renovation Framework (SRF) and a toolkit covering several aspects of software renovation, such as removing unused objects and code clones, and refactoring existing libraries into smaller more cohesive ones. Refactoring has been implemented in the SRF using a hybrid approach based on hierarchical clustering, on genetic algorithms and hill climbing, also taking into account the developers' feedback. The SRF aims to monitor software system quality in terms of the identified affecting factors, and to perform renovation activities when necessary. Most of the framework activities are language-independent, do not require any kind of source code parsing, and rely on object module analysis. The SRF has been applied to GRASS, which is a large open source Geographical Information System of about one million LOCs in size. It has significantly improved the software organization, has reduced by about 50% the average number of objects linked by each application, and has consequently also reduced the applications' memory requirements. Author Affiliation: (a) Department of Engineering, RCOST -- Research Centre on Software Technology, University of Sannio, Via Traiano, 1-82100 Benevento, Italy (b) ITC-irst Istituto Trentino Cultura, Via Sommarive, 18-38050 Povo (Trento), Italy (c) Departement de Genie Informatique, Ecole Polytechnique de Montreal, P.O. Box 6079, Succ. Centre-Ville, Montreal, Quebec, Canada H3C 3A7
- Published
- 2005