Table of Contents
Fetching ...

Interactive Multi-Objective Evolutionary Optimization of Software Architectures

Aurora Ramírez, José Raúl Romero, Sebastián Ventura

TL;DR

The paper addresses the challenge of early-stage software-architecture design by integrating human qualitative judgments with quantitative metrics through an interactive multi-objective evolutionary approach (iMOEA). It combines a steady-state MOEA with a territory-based archive and a rich set of architectural preferences to guide search toward regions aligned with expert expectations, while maintaining diversity via maximin aggregation. Empirical results show that iMOEA achieves competitive objective performance and superior solution spacing compared with NSGA-II, while the subjective feedback helps steer the search toward architectures with better maintainability metrics and human-aligned characteristics. The approach demonstrates the practical viability of human-in-the-loop design in SBSE and provides a framework adaptable to other design tasks requiring both quantitative metrics and expert judgment.

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.

Interactive Multi-Objective Evolutionary Optimization of Software Architectures

TL;DR

The paper addresses the challenge of early-stage software-architecture design by integrating human qualitative judgments with quantitative metrics through an interactive multi-objective evolutionary approach (iMOEA). It combines a steady-state MOEA with a territory-based archive and a rich set of architectural preferences to guide search toward regions aligned with expert expectations, while maintaining diversity via maximin aggregation. Empirical results show that iMOEA achieves competitive objective performance and superior solution spacing compared with NSGA-II, while the subjective feedback helps steer the search toward architectures with better maintainability metrics and human-aligned characteristics. The approach demonstrates the practical viability of human-in-the-loop design in SBSE and provides a framework adaptable to other design tasks requiring both quantitative metrics and expert judgment.

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.
Paper Structure (28 sections, 3 equations, 5 figures, 10 tables, 1 algorithm)

This paper contains 28 sections, 3 equations, 5 figures, 10 tables, 1 algorithm.

Figures (5)

  • Figure 1: Proposed interactive evolutionary model.
  • Figure 2: An illustrative example of ASF values
  • Figure 3: Frequency and moment of selection of each architectural preference
  • Figure 4: Variation in the size of the solutions during the evolutionary process
  • Figure 5: Average evaluation time during interactions