Mining open source web repositories to measure the cost of evolutionary reuse

Eugenio Capra · 2007

This paper proposes evolutionary reuse as a metric to measure the effect of maintenance and replacement decisions made by open source developers and relate them to cost efficiency. Evolutionary reuse is defined as the similarity of code between two versions of the same application. Maintenance can be seen as the creation of a new version of an application with an high degree of evolutionary reuse. Conversely, replacement takes places when a significant part of code is re-implemented from scratch and evolutionary reuse is low. The paper proposes an empirical model to measure evolutionary reuse and development costs by mining open-source software repository. 26 projects for a total of 171 application versions were analyzed. Results show that maintenance choices in an open-source context are not always cost efficient. Developers tend to maximize the reuse of code from the most recent versions of applications, even if their requirements are far from current needs. Consequently, the development costs per new line of code are found to grow with evolutionary reuse.

Read the paper · More papers on PaperTik