Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
125 tokens/sec
GPT-4o
53 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Interactive Multi-Objective Evolutionary Optimization of Software Architectures (2401.04192v1)

Published 8 Jan 2024 in cs.SE, cs.AI, and cs.NE

Abstract: While working on a software specification, designers usually need to evaluate different architectural alternatives to be sure that quality criteria are met. Even when these quality aspects could be expressed in terms of multiple software metrics, other qualitative factors cannot be numerically measured, but they are extracted from the engineer's know-how and prior experiences. In fact, detecting not only strong but also weak points in the different solutions seems to fit better with the way humans make their decisions. Putting the human in the loop brings new challenges to the search-based software engineering field, especially for those human-centered activities within the early analysis phase. This paper explores how the interactive evolutionary computation can serve as a basis for integrating the human's judgment into the search process. An interactive approach is proposed to discover software architectures, in which both quantitative and qualitative criteria are applied to guide a multi-objective evolutionary algorithm. The obtained feedback is incorporated into the fitness function using architectural preferences allowing the algorithm to discern between promising and poor solutions. Experimentation with real users has revealed that the proposed interaction mechanism can effectively guide the search towards those regions of the search space that are of real interest to the expert.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (38)
  1. Software Architecture Optimization Methods: A Systematic Literature Review. IEEE Trans. Softw. Eng., 39(5):658–683, May 2013.
  2. A. Arcuri and L. Briand. A Hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw. Test. Verif. Rel., 24(3):219–250, 2014.
  3. D. Arthur and S. Vassilvitskii. k-means++: the advantages of careful seeding. In Proc. 18th Ann. ACM-SIAM Symp. Discrete Algorithms, pages 1027–1035, 2007.
  4. R. Balling and S. Wilson. The maximin fitness function for multi-objective evolutionary computation: application to city planning. In Proc. Genetic and Evolutionary Computation Conf., pages 1079–1084, 2001.
  5. Learning Value Functions in Interactive Evolutionary Multiobjective Optimization. IEEE Trans. Evol. Comput., 19(1):88–102, Feb 2015.
  6. Ergonomic Chair Design by Fusing Qualitative and Quantitative Criteria Using Interactive Genetic Algorithms. IEEE Trans. Evol. Comput., 12(3):343–354, Jun 2008.
  7. Evolutionary Algorithms for Solving Multi-Objective Problems. Springer, 2nd edition, 2007.
  8. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput., 6(2):182–197, 2002.
  9. Producing Just Enough Documentation: An Optimization Approach Applied to the Software Architecture Domain. J. Data Semant., 5(1):37–53, 2016.
  10. L. Dobrica and E. Niemela. A survey on software architecture analysis methods. IEEE Trans. Softw. Eng., 28(7):638–653, Jul 2002.
  11. S. Ducasse and D. Pollet. Software Architecture Reconstruction: A Process-Oriented Taxonomy. IEEE Trans. Softw. Eng., 35(4):573–591, Jul 2009.
  12. Decision-making techniques for software architecture design. ACM Comput. Surv., 43(4):1–28, Oct 2011.
  13. D. Garlan. Software architecture: a roadmap. In Proc. Conf. The Future of Software Engineering, pages 91–101, 2000.
  14. Search Based Software Engineering: Trends, Techniques and Applications. ACM Comp. Surv., 45(1):11:1–61, Dec 2012.
  15. M. Koksalan and I. Karahan. An Interactive Territory Defining Evolutionary Algorithm: iTDEA. IEEE Trans. Evol. Comput., 14(5):702–722, Oct 2010.
  16. Hybrid multi-attribute QoS optimization in component based software systems. J. Syst. Softw., 86(10):2542–2558, 2013.
  17. A modified differential evolution-based combined routing and sleep scheduling scheme for lifetime maximization of wireless sensor networks. Soft Comput., 19(3):637–659, Mar 2015.
  18. An initial industrial evaluation of interactive search-based testing for embedded software. Appl. Soft Comput., 29:26–39, Apr 2015.
  19. R. Marler and J. Arora. Survey of multi-objective optimization methods for engineering. Struct. Multidiscipl. Optim., 26(6):369–395, Apr 2004.
  20. Dealing with heterogeneous information in engineering evaluation processes. Inf. Sci., 177(7):1533–1542, 2007.
  21. A Review and Taxonomy of Interactive Optimization Methods in Operations Research. ACM Trans. Interact. Intell. Syst., 5(3):17:1–43, Oct 2015.
  22. K. Miettinen and M. M. Mäkelä. On scalarizing functions in multiobjective optimization. OR Spectrum, 24(2):193–213, May 2002.
  23. Multiobjective Optimization: Interactive and Evolutionary Approaches, chapter Introduction to Multiobjective Optimization: Interactive Approaches, pages 27–57. Springer Berlin Heidelberg, Berlin, Heidelberg, 2008.
  24. Recommendation System for Software Refactoring Using Innovization and Interactive Dynamic Optimization. In Proc. 29th ACM/IEEE Int. Conf. Automated Software Engineering, pages 331–336. ACM, 2014.
  25. I. C. Parmee. Poor-Definition, Uncertainty, and Human Factors - Satisfying Multiple Objectives in Real-World Decision-Making Environments. In Evolutionary Multi-Criterion Optimization, pages 52–66, 2001.
  26. O. Räihä. A survey on search-based software design. Comput. Sci. Rev., 4(4):203–249, Nov 2010.
  27. A Systematic Review of Interaction in Search-Based Software Engineering. IEEE Transactions on Software Engineering, 2018. In press.
  28. An approach for the evolutionary discovery of software architectures. Inf. Sci., 305:234–255, Jun 2015.
  29. An Extensible JCLEC-based Solution for the Implementation of Multi-Objective Evolutionary Algorithms. In Proc. Companion Publication 2015 Genetic and Evolutionary Computation Conf., pages 1085–1092, 2015.
  30. A comparative study of many-objective evolutionary algorithms for the discovery of software architectures. Empir. Softw. Eng., 21(6):2546–2600, 2016.
  31. G. R. Santhanam. Qualitative optimization in software engineering: A short survey. J. Syst. Softw., 111:149–156, Jan 2016.
  32. Search-based refactoring: Metrics are not enough. In 7th Int. Symp. Search-Based Software Engineering, pages 47–61, 2015.
  33. Elegant Object-Oriented Software Design via Interactive, Evolutionary Computation. IEEE Trans. Syst., Man, Cybern. Part C: Applications and Reviews, 42(6):1797–1805, Nov 2012.
  34. Interactive ant colony optimization (iACO) for early lifecycle software design. Swarm Intell., 8(2):139–157, Jun 2014.
  35. C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman., Boston, MA, 2nd edition, 2002.
  36. H. Takagi. Interactive evolutionary computation: fusion of the capabilities of EC optimization and human evaluation. Proceedings of the IEEE, 89(9):1275–1296, Sep 2001.
  37. Interleaving human and search-based software architecture design. Proc. Estonian Academy of Sciences, 62(1):16–26, 2013.
  38. A. Vescan. An Evolutionary Multiobjective Approach for the Dynamic Multilevel Component Selection Problem. In Int. Conf. on Service-Oriented Computing, pages 193–204. Springer Berlin Heidelberg, 2016.
Citations (32)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com