Elegant Object-oriented Software Design via Interactive, Evolutionary Computation
Christopher L. Simons, Ian C. Parmee

TL;DR
This paper explores the role of elegance and symmetry in object-oriented software design by proposing new measures and demonstrating their correlation with subjective designer preferences through interactive evolutionary computation.
Contribution
It introduces four novel elegance measures based on distribution evenness and shows their significance in evolving elegant software designs.
Findings
Three elegance measures significantly correlate with designer preferences
Symmetry in class attributes and methods influences perceived elegance
Interactive evolution can effectively produce elegant software designs
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEvolutionary Algorithms and Applications · Artificial Intelligence in Games · Software Engineering Research
