Elegant Object-oriented Software Design via Interactive, Evolutionary Computation

10/03/2012
by   Christopher L. Simons, et al.
0

Design is fundamental to software development but can be demanding to perform. Thus to assist the software designer, evolutionary computing is being increasingly applied using machine-based, quantitative fitness functions to evolve software designs. However, in nature, elegance and symmetry play a crucial role in the reproductive fitness of various organisms. In addition, subjective evaluation has also been exploited in Interactive Evolutionary Computation (IEC). Therefore to investigate the role of elegance and symmetry in software design, four novel elegance measures are proposed based on the evenness of distribution of design elements. In controlled experiments in a dynamic interactive evolutionary computation environment, designers are presented with visualizations of object-oriented software designs, which they rank according to a subjective assessment of elegance. For three out of the four elegance measures proposed, it is found that a significant correlation exists between elegance values and reward elicited. These three elegance measures assess the evenness of distribution of (a) attributes and methods among classes, (b) external couples between classes, and (c) the ratio of attributes to methods. It is concluded that symmetrical elegance is in some way significant in software design, and that this can be exploited in dynamic, multi-objective interactive evolutionary computation to produce elegant software designs.

READ FULL TEXT
research
12/21/2012

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

Software design is crucial to successful software development, yet is a ...
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
04/09/2018

A theory of consciousness: computation, algorithm, and neurobiological realization

The most enigmatic aspect of consciousness is the fact that it is felt, ...
research
10/15/2020

Introducing Artificial Intelligence Agents to the Empirical Measurement of Design Properties for Aspect Oriented Software Development

The proponents of Aspect Oriented Software Development (AOSD) methodolog...
research
09/06/2023

Fitness Approximation through Machine Learning

We present a novel approach to performing fitness approximation in genet...
research
09/24/2020

Deep Learning of Individual Aesthetics

Accurate evaluation of human aesthetic preferences represents a major ch...
research
02/11/2021

Searching for Designs in-between

The use of evolutionary methods in design and art is increasing in diver...

Please sign up or login with your details

Forgot password? Click here to reset