Skip to main content

Genetic Synthesis of Software Architecture

  • Conference paper
Simulated Evolution and Learning (SEAL 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5361))

Included in the following conference series:

Abstract

Design of software architecture is intellectually one of the most demanding tasks in software engineering. This paper proposes an approach to automatically synthesize software architecture using genetic algorithms. The technique applies architectural patterns for mutations and quality metrics for evaluation, producing a proposal for a software architecture on the basis of functional requirements given as a graph of functional responsibilities. Two quality attributes, modifiability and efficiency, are considered. The behavior of the genetic synthesis process is analyzed with respect to quality improve ment speed, the effect of dynamic mutation, and the effect of quality attribute prioritization. Our tests show that it is possible to genetically synthesize architectures that achieve a high fitness value early on.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Shaw, M., Garlan, D.: Software Architecture - Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  2. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    MATH  Google Scholar 

  3. Michalewicz, Z.: Genetic Algorithms + Data Structures = Evolutionary Programs. Springer, Heidelberg (1992)

    Book  MATH  Google Scholar 

  4. Clarke, J., Dolado, J.J., Harman, M., Hierons, R.M., Jones, B., Lumkin, M., Mitchell, B., Mancoridis, S., Rees, K., Roper, M., Shepperd, M.: Reformulating software engineering as a search problem. IEE Proceedings - Software 150(3), 161–175 (2003)

    Article  Google Scholar 

  5. Harman, M., Hierons, R., Proctor, M.: A new representation and crossover operator for search-based optimization of software modularization. In: Proc. GECCO 2000, pp. 1351–1358 (2000)

    Google Scholar 

  6. Seng, O., Bauyer, M., Biehl, M., Pache, G.: Search-based improvement of subsystem decomposition. In: Proc. GECCO 2005, pp. 1045–1051 (2005)

    Google Scholar 

  7. Seng, O., Stammel, J., Burkhart, D.: Search-based determination of refactorings for improving the class structure of object-oriented systems. In: Proc. GECCO 2006, pp. 1909–1916 (2006)

    Google Scholar 

  8. O’Keeffe, M., Ó Cinnéide, M.: Towards automated design improvements through combinatorial optimization. In: Workshop on Directions in Software Engineering Environments – 26th ICSE, pp. 75–82 (2004)

    Google Scholar 

  9. O’Keeffe, M., Ó Cinnéide, M.: Getting the most from search-based refactoring. In: Proc. GECCO 2007, pp. 1114–1120 (2007)

    Google Scholar 

  10. Harman, M., Tratt, L.: Pareto optimal search based refactoring at the design level. In: Proc. GECCO 2007, pp. 1106–1113 (2007)

    Google Scholar 

  11. Amoui, M., Mirarab, S., Ansari, S., Lucas, C.: A genetic algorithm approach to design evolution using design pattern transformation. International Journal of Information Technology and Intelligent Computing 1, 235–245 (2006)

    Google Scholar 

  12. Räihä, O.: Genetic Synthesis of Software Architecture, University of Tampere, Department of Computer Sciences, Licentiate thesis (2008)

    Google Scholar 

  13. Sahraoui, H.A., Godin, R., Miceli, T.: Can metrics help bridging the gap between the improvement of OO design quality and its automation? In: Proc. ICSM 2000, pp. 154–162 (2000)

    Google Scholar 

  14. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20(6), 476–492 (1994)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Räihä, O., Koskimies, K., Mäkinen, E. (2008). Genetic Synthesis of Software Architecture. In: Li, X., et al. Simulated Evolution and Learning. SEAL 2008. Lecture Notes in Computer Science, vol 5361. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89694-4_57

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-89694-4_57

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-89693-7

  • Online ISBN: 978-3-540-89694-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics