Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Fowler, M.: Continuous Integration, http://www.martinfowler.com/articles/continuousIntegration.html (last accessed on March 26, 2013)
Mitchell, B., Mancoridis, S.: On the automatic modularization of software systems using the bunch tool. IEEE Transactions on Software Engineering 32(3), 193–208 (2006)
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)
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)
Simons, C.L., Parmee, I.C.: Elegant Object-Oriented Software Design via Interactive, Evolutionary Computation. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews) 42(6), 1797–1805 (2012), doi:10.1109/TSMCC.2012.2225103
Henderson-Sellers, B.: Software Metrics. Prentice Hall, Hemel Hempstead (1996)
Chidamber, S., Kemerer, C.: A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)
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)
Garlan, D., Allen, R., Ockerbloom, J.: Architectural Mismatch or, Why it’s hard to build systems out of existing parts. IEEE Software 12(6), 17–26 (1995)
Sangal, N., Waldman, F.: Dependency Models to Manage Software Architecture. CROSSTALK: The Journal of Defense Software Engineering, 8–12 (November 2005)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Oliveira Barros, M., de Almeida Farzat, F. (2013). What Can a Big Program Teach Us about Optimization?. In: Ruhe, G., Zhang, Y. (eds) Search Based Software Engineering. SSBSE 2013. Lecture Notes in Computer Science, vol 8084. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39742-4_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-39742-4_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39741-7
Online ISBN: 978-3-642-39742-4
eBook Packages: Computer ScienceComputer Science (R0)