A comparison of meta-heuristic search for interactive software design

Advances in processing capacity, coupled with the desire to tackle problems where a human subjective judgment plays an important role in determining the value of a proposed solution, has led to a dramatic rise in the number of applications of Interactive Artificial Intelligence. Of particular note is the coupling of meta-heuristic search engines with user-provided evaluation and rating of solutions, usually in the form of Interactive Evolutionary Algorithms (IEAs). These have a well-documented history of successes, but arguably the preponderance of IEAs stems from this history, rather than as a conscious design choice of meta-heuristic based on the characteristics of the problem at hand. This paper sets out to examine the basis for that assumption, taking as a case study the domain of interactive software design. We consider a range of factors that should affect the design choice including ease of use, scalability, and of course, performance, i.e. that ability to generate good solutions within the limited number of evaluations available in interactive work before humans lose focus. We then evaluate three methods, namely greedy local search, an evolutionary algorithm and ant colony optimization (ACO), with a variety of representations for candidate solutions. Results show that after suitable parameter tuning, ACO is highly effective within interactive search and out-performs evolutionary algorithms with respect to increasing numbers of attributes and methods in the software design problem. However, when larger numbers of classes are present in the software design, an evolutionary algorithm using a naïve grouping integer-based representation appears more scalable.

[1]  Aybars Ugur,et al.  An interactive simulation and analysis software for solving TSP using Ant Colony Optimization algorithms , 2009, Adv. Eng. Softw..

[2]  James E. Smith,et al.  Self-Adaptation of Mutation Operator and Probability for Permutation Representations in Genetic Algorithms , 2010, Evolutionary Computation.

[3]  Rachel Harrison,et al.  An Investigation into the Applicability and Validity of Object-Oriented Design Metrics , 1998, Empirical Software Engineering.

[4]  Mark Kent O'Keeffe,et al.  Search-based refactoring for software maintenance , 2008, J. Syst. Softw..

[5]  Pedro Larrañaga,et al.  Towards a New Evolutionary Computation - Advances in the Estimation of Distribution Algorithms , 2006, Towards a New Evolutionary Computation.

[6]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[7]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[8]  Xiaolei Ma,et al.  Vehicle Routing Problem , 2013 .

[9]  Miho Ohsaki,et al.  Interactive Evolutionary Computation-Based Hearing Aid Fitting , 2007, IEEE Transactions on Evolutionary Computation.

[10]  Paolo Toth,et al.  Models, relaxations and exact approaches for the capacitated vehicle routing problem , 2002, Discret. Appl. Math..

[11]  L. Darrell Whitley,et al.  Genetic Operators, the Fitness Landscape and the Traveling Salesman Problem , 1992, PPSN.

[12]  James Martin,et al.  Object-oriented analysis and design , 1992 .

[13]  Rhyd Lewis,et al.  Revisiting the Restricted Growth Function Genetic Algorithm for Grouping Problems , 2011, Evolutionary Computation.

[14]  Mark Harman,et al.  Cooperative Co-evolutionary Optimization of Software Project Staff Assignments and Job Scheduling , 2011, SSBSE.

[15]  Clive Richards,et al.  The Blind Watchmaker , 1987, Bristol Medico-Chirurgical Journal.

[16]  Praminda Caleb-Solly,et al.  Incorporation of adaptive mutation based on subjective evaluation in an interactive evolution strategy , 2005, 2005 IEEE Congress on Evolutionary Computation.

[17]  Ferenc Szeifert,et al.  Interactive particle swarm optimization , 2005, 5th International Conference on Intelligent Systems Design and Applications (ISDA'05).

[18]  Gexiang Zhang,et al.  Multi-objective ant colony optimization based on decomposition for bi-objective traveling salesman problems , 2011, Soft Computing.

[19]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[20]  Riccardo Poli,et al.  Particle Swarm Optimisation , 2011 .

[21]  Claire Le Goues,et al.  Automatic program repair with evolutionary computation , 2010, Commun. ACM.

[22]  Baowen Xu,et al.  Application of Genetic Algorithms in Software Testing , 2007 .

[23]  Praminda Caleb-Solly,et al.  User-centric image segmentation using an interactive parameter adaptation tool , 2010, Pattern Recognit..

[24]  Mark Harman,et al.  Pareto optimal search based refactoring at the design level , 2007, GECCO '07.

[25]  Edmund K. Burke,et al.  An evolutionary approach to cancer chemotherapy scheduling , 2007, Genetic Programming and Evolvable Machines.

[26]  Lionel C. Briand,et al.  An object-oriented high-level design-based class cohesion metric , 2010, Inf. Softw. Technol..

[27]  Jim Smith,et al.  Evolving Software Test Data - GA's learn Self Expression , 1996, Evolutionary Computing, AISB Workshop.

[28]  Pierrick Legrand,et al.  Interactive evolution for cochlear implants fitting , 2007, Genetic Programming and Evolvable Machines.

[29]  Ian C. Parmee,et al.  Dynamic parameter control of interactive local search in UML software design , 2010, 2010 IEEE International Conference on Systems, Man and Cybernetics.

[30]  Günther Ruhe,et al.  Search Based Software Engineering , 2013, Lecture Notes in Computer Science.

[31]  Thomas Jansen,et al.  Analysis of an Asymmetric Mutation Operator , 2010, Evolutionary Computation.

[32]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

[33]  Mauro Birattari,et al.  On the Invariance of Ant Colony Optimization , 2007, IEEE Transactions on Evolutionary Computation.

[34]  Miho Ohsaki,et al.  An input method using discrete fitness values for interactive GA , 1998, J. Intell. Fuzzy Syst..

[35]  Carlos Cotta,et al.  On user-centric memetic algorithms , 2012, Soft Computing.

[36]  Giovanni Acampora,et al.  Achieving Memetic Adaptability by Means of Agent-Based Machine Learning , 2011, IEEE Transactions on Industrial Informatics.

[37]  Christopher Stone,et al.  Strategy Parameter Variety In Self-adaptation Of Mutation Rates , 2002, GECCO.

[38]  Craig Caldwell,et al.  Tracking a Criminal Suspect Through "Face-Space" with a Genetic Algorithm , 1991, ICGA.

[39]  Praminda Caleb-Solly,et al.  Adaptive surface inspection via interactive evolution , 2007, Image Vis. Comput..

[40]  J. A. Lozano,et al.  Towards a New Evolutionary Computation: Advances on Estimation of Distribution Algorithms (Studies in Fuzziness and Soft Computing) , 2006 .

[41]  Allan Tucker,et al.  RGFGA: An Efficient Representation and Crossover for Grouping Genetic Algorithms , 2005, Evolutionary Computation.

[42]  Bryan F. Jones,et al.  Automatic structural testing using genetic algorithms , 1996, Softw. Eng. J..

[43]  Martin Josef Geiger,et al.  Proposition of the Interactive Pareto Iterated Local Search Procedure - Elements and Initial Experiments , 2008, ArXiv.

[44]  Ivar Jacobson,et al.  Object Design: Roles, Responsibilities, and Collaborations , 2002 .

[45]  Giovanni Acampora,et al.  A hybrid evolutionary approach for solving the ontology alignment problem , 2012, Int. J. Intell. Syst..

[46]  Gideon Avigad,et al.  Interactive Concept-based Search using MOEA: The Hierarchical Preferences Case , 2005, IEC.

[47]  Emanuel Falkenauer,et al.  Genetic Algorithms and Grouping Problems , 1998 .

[48]  Hideyuki Takagi,et al.  Interactive evolutionary computation: fusion of the capabilities of EC optimization and human evaluation , 2001, Proc. IEEE.

[49]  Terence C. Fogarty,et al.  Microprocessor design verification by two-phase evolution of variable length tests , 1997, Proceedings of 1997 IEEE International Conference on Evolutionary Computation (ICEC '97).

[50]  Manuel López-Ibáñez,et al.  Ant colony optimization , 2010, GECCO '10.

[51]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[52]  Lionel C. Briand,et al.  Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms , 2010, IEEE Transactions on Software Engineering.

[53]  Lydia Boudjeloud,et al.  Visual Interactive Evolutionary Algorithm for High Dimensional Data Clustering and Outlier Detection , 2005, PAKDD.

[54]  Karl Sims,et al.  Artificial evolution for computer graphics , 1991, SIGGRAPH.

[55]  Christopher L. Simons Interactive evolutionary computing in early lifecycle software engineering design , 2011 .

[56]  Jörn Schönberger,et al.  Interactive solving of vehicle routing and scheduling problems: basic concepts and qualification of tabu search approaches , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[57]  Al DallalJehad,et al.  An object-oriented high-level design-based class cohesion metric , 2010 .

[58]  Thomas Stützle,et al.  An experimental analysis of design choices of multi-objective ant colony optimization algorithms , 2012, Swarm Intelligence.

[59]  Alistair R. Clark,et al.  A Genetic Approach to Statistical Disclosure Control , 2012, IEEE Transactions on Evolutionary Computation.

[60]  Mark Harman,et al.  Software Engineering Meets Evolutionary Computation , 2011, Computer.

[61]  Natalio Krasnogor,et al.  Emergence of profitable search strategies based on a simple inheritance mechanism , 2001 .

[62]  Fumio Kojima,et al.  Multiple fuzzy state-value functions for human evaluation through interactive trajectory planning of a partner robot , 2006, Soft Comput..

[63]  Jim Smith,et al.  Modelling gas with self adaptive mutation rates , 2001 .

[64]  Ashutosh Tiwari,et al.  Ergonomic Chair Design by Fusing Qualitative and Quantitative Criteria Using Interactive Genetic Algorithms , 2008, IEEE Transactions on Evolutionary Computation.

[65]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[66]  Colin Fyfe,et al.  Ant Colony Optimisation , 2008 .

[67]  Ian C. Parmee,et al.  Interactive, Evolutionary Search in Upstream Object-Oriented Class Design , 2010, IEEE Transactions on Software Engineering.

[68]  Maarten Keijzer,et al.  Evolving Objects: A General Purpose Evolutionary Computation Library , 2001, Artificial Evolution.

[69]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[70]  Ian C. Parmee,et al.  Elegant Object-Oriented Software Design via Interactive, Evolutionary Computation , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).