skip to main content
10.1145/2576768.2598310acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

On the performance of multiple objective evolutionary algorithms for software architecture discovery

Published: 12 July 2014 Publication History

Abstract

During the design of complex systems, software architects have to deal with a tangle of abstract artefacts, measures and ideas to discover the most fitting underlying architecture. A common way to structure these systems is in terms of their interacting software components, whose composition and connections need to be properly adjusted. Its abstract and highly combinatorial nature increases the complexity of the problem. In this scenario, Search-based Software Engineering (SBSE) may serve to support this decision making process from initial analysis models, since the discovery of component-based architectures can be formulated as a challenging multiple optimisation problem, where different metrics and configurations can be applied depending on the design requirements and its specific domain. Many-objective optimisation evolutionary algorithms can provide an interesting alternative to classical multi-objective approaches. This paper presents a comparative study of five different algorithms, including an empirical analysis of their behaviour in terms of quality and variety of the returned solutions. Results are also discussed considering those aspects of concern to the expert in the decision making process, like the number and type of architectures found. The analysis of many-objectives algorithms constitutes an important challenge, since some of them have never been explored before in SBSE.

References

[1]
L. Dobrica and E. Niemela, "A survey on software architecture analysis methods," IEEE Trans. Softw. Eng., vol. 28, no. 7, pp. 638--653, 2002.
[2]
S. Ducasse and D. Pollet, "Software Architecture Reconstruction: A Process-Oriented Taxonomy," IEEE Trans. Softw. Eng., vol. 35, no. 4, pp. 573--591, 2009.
[3]
V. L. Narasimhan and B. Hendradjaya, "Some theoretical considerations for a suite of metrics for the integration of software components," Information Sciences, vol. 177, no. 3, pp. 844--864, 2007.
[4]
C. Sant'Anna, E. Figueiredo, A. Garcia, and C. J. Lucena, "On the Modularity of Software Architectures: A Concern-Driven Measurement Framework," in Software Architecture, vol. 4758 of LNCS, pp. 207--224, Springer Berlin Heidelberg, 2007.
[5]
J. Bansiya and C. G. Davis, "A Hierarchical Model for Object-Oriented Design Quality Assessment," IEEE Trans. Soft. Eng., vol. 28, no. 1, pp. 4--17, 2002.
[6]
J. Bosch and P. Molin, "Software architecture design: evaluation and transformation," in Proc. IEEE Conf. and Workshop on Engineering of Computer-Based Systems (ECBS), pp. 4--10, 1999.
[7]
M. Harman, S. A. Mansouri, and Y. Zhang, "Search-based Software Engineering: Trends, techniques and applications," ACM Computing Surveys, vol. 45, no. 1, pp. 11:1--11:61, 2012.
[8]
O. Raiha, K. Koskimies, and E. Makinen, "Generating software architecture spectrum with multi-objective genetic algorithms," in Proc. 3th World Congress on Nature and Biologically Inspired Computing (NaBIC), pp. 29--36, 2011.
[9]
A. Ouni, M. Kessentini, H. Sahraoui, and M. S. Hamdi, "The use of development history in software refactoring using a multi-objective evolutionary algorithm," in Proc. 15th Annual Genetic and Evolutionary Computation Conference (GECCO), pp. 1461--1468, 2013.
[10]
X. Yao, "Some Recent Work on Multi-objective Approaches to Search-Based Software Engineering," in Proc. 5th Symp. on Search Based Software Engineering (SSBSE), vol. 8084, pp. 4--15, 2013.
[11]
A. Sayyad and H. Ammar, "Pareto-optimal search-based software engineering (POSBSE): A literature survey," in 2nd Inter. Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE), pp. 21--27, 2013.
[12]
A. S. Sayyad, T. Menzies, and H. Ammar, "On the Value of User Preferences in Search-based Software Engineering: A Case Study in Software Product Lines," in Proc. 2013 Inter. Conf. on Software Engineering (ICSE), pp. 492--501, 2013.
[13]
S. Kalboussi, S. Bechikh, M. Kessentini, and L. Ben Said, "Preference-Based Many-Objective Evolutionary Testing Generates Harder Test Cases for Autonomous Agents," in Proc. 5th Symp. on Search Based Software Engineering, pp. 245--250, 2013.
[14]
H. Ishibuchi, N. Tsukamoto, and Y. Nojima, "Evolutionary many-objective optimization: A short review," in Proc. IEEE Congress on Evolutionary Computation (CEC), pp. 2419--2426, 2008.
[15]
A. Ramrez, J. R. Romero, and S. Ventura, "A Novel Component Identification Approach Using Evolutionary Programming," in Proc. 15th Annual Genetic and Evolutionary Computation Conference (GECCO), pp. 209--210, 2013.
[16]
P. Gupta, S. Verma, and M. Mehlawat, "Optimization Model of COTS Selection Based on Cohesion and Coupling for Modular Software Systems under Multiple Applications Environment," in Computational Science and Its Applications (ICCSA), vol. 7335 of LNCS, pp. 87--102, Springer, 2012.
[17]
E. Zitzler, M. Laumanns, and L. Thiele, "SPEA2: Improving the Strength Pareto Evolutionary Algorithm," in Proc. Conf. on Evolutionary Methods for Design, Optimisation and Control with Applications to Industrial Problems, pp. 95--100, 2001.
[18]
K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, "A fast and elitist multiobjective genetic algorithm: NSGA-II," IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182--197, 2002.
[19]
K. Deb, M. Mohan, and S. Mishra, "Towards a Quick Computation of Well-Spread Pareto-Optimal Solutions," in Evolutionary Multi-Criterion Optimization, vol. 2632 of LNCS, pp. 222--236, Springer, 2003.
[20]
Q. Zhang and H. Li, "MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition," IEEE Transactions on Evoutionary Computation, vol. 11, no. 6, pp. 712--731, 2007.
[21]
S. Yang, M. Li, X. Liu, and J. Zheng, "A Grid-Based Evolutionary Algorithm for Many-Objective Optimization," IEEE Transactions on Evolutionary Computation, vol. 17, no. 5, pp. 721--736, 2013.
[22]
S. Ventura, C. Romero, A. Zafra, J. A. Delgado, and C. Hervas, "JCLEC: a Java framework for evolutionary computation," Soft Computing, vol. 12, no. 4, pp. 381--392, 2008.
[23]
C. A. Coello Coello, G. B. Lamont, and D. A. Van Veldhuizen, Evolutionary Algorithms for Solving Multi-Objective Problems. Springer, 2nd ed., 2007.
[24]
F. Luna, D. L. Gonzalez-Alvarez, F. Chicano, and M. A. Vega-Rodrguez, "The software project scheduling problem: A scalability analysis of multi-objective metaheuristics," Applied Soft Computing, vol. 15, pp. 136--148, 2014.

Cited By

View all
  • (2022)Analysis of Privacy Patterns from An Architectural Perspective2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C54293.2022.00056(60-67)Online publication date: Mar-2022
  • (2022)On the preferences of quality indicators for multi-objective search algorithms in search-based software engineeringEmpirical Software Engineering10.1007/s10664-022-10127-427:6Online publication date: 6-Aug-2022
  • (2022)Optimizing Product-Line Architectures with MOA4PLAUML-Based Software Product Line Engineering with SMarty10.1007/978-3-031-18556-4_11(241-263)Online publication date: 28-Sep-2022
  • Show More Cited By

Index Terms

  1. On the performance of multiple objective evolutionary algorithms for software architecture discovery

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    GECCO '14: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation
    July 2014
    1478 pages
    ISBN:9781450326629
    DOI:10.1145/2576768
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 July 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. component-based software architecture
    2. many-objective evolutionary algorithms
    3. multi-objective evolutionary algorithms
    4. search-based software engineering

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    GECCO '14
    Sponsor:
    GECCO '14: Genetic and Evolutionary Computation Conference
    July 12 - 16, 2014
    BC, Vancouver, Canada

    Acceptance Rates

    GECCO '14 Paper Acceptance Rate 180 of 544 submissions, 33%;
    Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Analysis of Privacy Patterns from An Architectural Perspective2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C54293.2022.00056(60-67)Online publication date: Mar-2022
    • (2022)On the preferences of quality indicators for multi-objective search algorithms in search-based software engineeringEmpirical Software Engineering10.1007/s10664-022-10127-427:6Online publication date: 6-Aug-2022
    • (2022)Optimizing Product-Line Architectures with MOA4PLAUML-Based Software Product Line Engineering with SMarty10.1007/978-3-031-18556-4_11(241-263)Online publication date: 28-Sep-2022
    • (2019)Are MAs profitable to search-based PLA design?IET Software10.1049/iet-sen.2018.5318Online publication date: 22-Jul-2019
    • (2018)Quanti-Qualitative Analysis of a Memetic Algorithm to Optimize Product Line Architecture Design2018 IEEE 30th International Conference on Tools with Artificial Intelligence (ICTAI)10.1109/ICTAI.2018.00083(498-505)Online publication date: Nov-2018
    • (2018)FP-ABCComputer Languages, Systems and Structures10.1016/j.cl.2017.08.00151:C(1-21)Online publication date: 1-Jan-2018
    • (2018)On the use of many quality attributes for software refactoringEmpirical Software Engineering10.1007/s10664-015-9414-421:6(2503-2545)Online publication date: 26-Dec-2018
    • (2018)A comparative study of many-objective evolutionary algorithms for the discovery of software architecturesEmpirical Software Engineering10.1007/s10664-015-9399-z21:6(2546-2600)Online publication date: 26-Dec-2018
    • (2016)A practical guide to select quality indicators for assessing pareto-based search algorithms in search-based software engineeringProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884880(631-642)Online publication date: 14-May-2016

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media