Interactive Ant Colony Optimisation (iACO) for Early Lifecycle Software Design

12/21/2012
by   Christopher L. Simons, et al.
0

Software design is crucial to successful software development, yet is a demanding multi-objective problem for software engineers. In an attempt to assist the software designer, interactive (i.e. human in-the-loop) meta-heuristic search techniques such as evolutionary computing have been applied and show promising results. Recent investigations have also shown that Ant Colony Optimization (ACO) can outperform evolutionary computing as a potential search engine for interactive software design. With a limited computational budget, ACO produces superior candidate design solutions in a smaller number of iterations. Building on these findings, we propose a novel interactive ACO (iACO) approach to assist the designer in early lifecycle software design, in which the search is steered jointly by subjective designer evaluation as well as machine fitness functions relating the structural integrity and surrogate elegance of software designs. Results show that iACO is speedy, responsive and highly effective in enabling interactive, dynamic multi-objective search in early lifecycle software design. Study participants rate the iACO search experience as compelling. Results of machine learning of fitness measure weightings indicate that software design elegance does indeed play a significant role in designer evaluation of candidate software design. We conclude that the evenness of the number of attributes and methods among classes (NAC) is a significant surrogate elegance measure, which in turn suggests that this evenness of distribution, when combined with structural integrity, is an implicit but crucial component of effective early lifecycle software design.

READ FULL TEXT
research
10/03/2012

Elegant Object-oriented Software Design via Interactive, Evolutionary Computation

Design is fundamental to software development but can be demanding to pe...
research
11/14/2012

A Comparison of Meta-heuristic Search for Interactive Software Design

Advances in processing capacity, coupled with the desire to tackle probl...
research
12/16/2022

Search Budget in Multi-Objective Refactoring Optimization: a Model-Based Empirical Study

Software model optimization is the task of automatically generate design...
research
08/30/2021

KNN-Averaging for Noisy Multi-objective Optimisation

Multi-objective optimisation is a popular approach for finding solutions...
research
08/29/2023

Best performance and reliability for your time: budget-aware search-based optimization of software model refactoring

Context: Software model optimization is a process that automatically gen...
research
03/12/2021

Wireframe-Based UI Design Search Through Image Autoencoder

UI design is an integral part of software development. For many develope...
research
07/19/2021

Structural Design Recommendations in the Early Design Phase using Machine Learning

Structural engineering knowledge can be of significant importance to the...

Please sign up or login with your details

Forgot password? Click here to reset