Interactive Ant Colony Optimisation (iACO) for Early Lifecycle Software Design
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.
💡 Research Summary
The paper introduces an Interactive Ant Colony Optimisation (iACO) framework designed to assist software designers during the early lifecycle phase, where design decisions must balance structural integrity with subjective notions of elegance. Traditional interactive evolutionary computing (IEC) approaches have demonstrated that human‑in‑the‑loop optimisation can improve design outcomes, but they often suffer from slow convergence and limited responsiveness, making real‑time interaction cumbersome. Recent work has shown that Ant Colony Optimisation (ACO) can generate high‑quality solutions with fewer iterations than evolutionary algorithms, suggesting it may be a more suitable search engine for interactive settings.
Building on this insight, the authors propose iACO, which combines two complementary fitness components: (1) a structural integrity metric that captures conventional object‑oriented quality attributes such as coupling and cohesion, and (2) a surrogate elegance metric called NAC (Number of Attributes and Methods per Class). NAC quantifies the evenness of attribute and method distribution across classes, reflecting the design principle that balanced responsibilities lead to more maintainable and extensible systems. Designers evaluate candidate designs at each iteration, providing a subjective score that is fed into a machine‑learning model to dynamically adjust the relative weights of the structural and elegance fitness functions. This creates a closed feedback loop where human intuition directly influences the search direction.
The experimental study involved 30 software engineers who tackled three design tasks (class diagram, database schema, UI component layout). Participants used either iACO or a conventional IEC system based on a genetic algorithm. The evaluation criteria were (i) search speed (iterations required to reach a given quality threshold), (ii) designer satisfaction (subjective questionnaire), and (iii) final design quality (a composite of structural and elegance scores). Results showed that iACO achieved comparable or superior design quality with roughly 35 % fewer iterations, and participants reported significantly higher satisfaction with the iACO experience. Weight learning revealed that the NAC metric contributed an average weight of 0.42, while structural integrity contributed 0.58, indicating that designers value elegance almost as much as traditional quality measures.
Key contributions of the work are threefold. First, it empirically validates ACO as an efficient engine for interactive optimisation under tight computational budgets. Second, it demonstrates that a multi‑objective fitness model that jointly considers structural and elegance criteria can faithfully capture designer preferences. Third, it provides concrete evidence that the evenness of attribute/method distribution (NAC) is a meaningful surrogate for perceived elegance, suggesting that future automated design tools should incorporate such elegance metrics alongside conventional quality metrics.
The authors outline several avenues for future research: extending the elegance model with additional surrogate measures (e.g., design pattern usage, depth of dependency chains), enhancing the visualisation and interaction interface to give designers clearer insight into the search process, and conducting large‑scale industrial pilots to assess scalability and real‑world impact. Overall, the study argues that a tightly coupled human‑machine loop, powered by ACO and informed by both structural and aesthetic considerations, can significantly improve early‑stage software design outcomes.