What Can a Big Program Teach Us about Optimization?
- 1.3k Downloads
In this paper we report on the evolution of Apache Ant, a build automation tool developed in Java. We observed a typical case of architectural mismatch in this system: its original simple design was lost due to maintenance and addition of new features. We have applied SBSE techniques to determine whether the search would be able to recover at least parts of the original design, in a metrics-based optimization. We observed that current SBSE techniques produce complex designs, but they also allow us to study the limitations of present design metrics. In the end, we propose a new research perspective joining software clustering and refactoring selection to improve software evolution.
KeywordsApache Ant Hill Climbing search software module clustering
Unable to display preview. Download preview PDF.
- 1.Fowler, M.: Continuous Integration, http://www.martinfowler.com/articles/continuousIntegration.html (last accessed on March 26, 2013)
- 3.Harman, M., Swift, S., Mahdavi, K.: An Empirical Study of the Robustness of two Module Clustering Fitness Functions. In: Proceedings of GECCO 2005, Washington, USA (2005)Google Scholar
- 4.Barros, M.: An Analysis of the Effects of Composite Objectives in Multiobjective Software Module Clustering. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2012), Philadelphia, USA (2012)Google Scholar
- 6.Henderson-Sellers, B.: Software Metrics. Prentice Hall, Hemel Hempstead (1996)Google Scholar
- 8.Lanza, M., Marinescu, R.: Object-oriented Metrics in Practice: using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems. Springer, Heidelberg (2006)Google Scholar
- 10.Sangal, N., Waldman, F.: Dependency Models to Manage Software Architecture. CROSSTALK: The Journal of Defense Software Engineering, 8–12 (November 2005)Google Scholar
- 11.Cinnéide, M.Ó., Tratt, L., Harman, M., Counsell, S., Moghadam, I.H.: Experimental Assessment of Software Metrics Using Automated Refactoring. In: Proc. of the 6th Int. Symposium on Empirical Software Engineering and Measurement, Sweden, pp. 49–58 (2012)Google Scholar
- 12.Hall, M., Walkinshaw, N., McMinn, P.: Supervised Software Modularisation. In: Proc. of the International Conference on Software Maintenance, Riva del Garda, pp. 472–481 (2012)Google Scholar