A comparison of meta-heuristic search for interactive software design
- PDF / 720,477 Bytes
- 16 Pages / 595.276 x 790.866 pts Page_size
- 80 Downloads / 241 Views
METHODOLOGIES AND APPLICATION
A comparison of meta-heuristic search for interactive software design C. L. Simons • J. E. Smith
Springer-Verlag Berlin Heidelberg 2013
Abstract 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
Communicated by G. Acampora. C. L. Simons (&) J. E. Smith Department of Computer Science and Creative Technologies, University of the West of England, Bristol BS16 1QY, UK e-mail: [email protected] J. E. Smith e-mail: [email protected]
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. Keywords Interactive search Meta-heuristics Software design Search-based software engineering
1 Introduction The application of automated search to a range of software development activities has attracted significant research attention. Indeed, Search-Based Software Engineering (SBSE) (Harman 2007, 2011) is now a well-established discipline. SBSE historically focused on software testing where solutions can be represented fairly naturally and metrics such as structural and functional test coverage can be automatically calculated to serve as quality functions. However, in the upstream stages of the software design, such as the object-oriented modeling of design classes, the choice of evaluation functions is much less well defined. To give one example, Bowman et al. (2010) cite 6 different possible metrics relating to the structural integrity of the design with respect to design coupling and cohesion. Here the precise balance of fa
Data Loading...