Advertisement

The Emergence of Useful Bias in Self-focusing Genetic Programming for Software Optimisation

  • Brendan Cody-Kenny
  • Stephen Barrett
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8084)

Abstract

The use of Genetic Programming (GP) to optimise increasingly large software code has been enabled through biasing the application of GP operators to code areas relevant to the optimisation of interest. As previous approaches have used various forms of static bias applied before the application of GP, we show the emergence of bias learned within the GP process itself which improves solution finding probability in a similar way. As this variant technique is sensitive to the evolutionary lineage, we argue that it may more accurately provide bias in programs which have undergone heavier modification and thus find solutions addressing more complex issues.

Keywords

Genetic Programming Evolutionary Computation Abstract Syntax Tree Genetic Programming System Genetic Programming Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Angeline, P.: Genetic programming and emergent intelligenceGoogle Scholar
  2. 2.
    Angeline, P.: Two self-adaptive crossover operations for genetic programming (1995)Google Scholar
  3. 3.
    Arcuri, A.: Automatic software generation and improvement through search based techniques. PhD thesis (2009)Google Scholar
  4. 4.
    Banzhaf, W., Miller, J.: The challenge of complexity. In: Frontiers of Evolutionary Computation, pp. 243–260 (2004)Google Scholar
  5. 5.
    Cody-Kenny, B., Barrett, S.: Self-focusing genetic programming for software optimisation. In: Proceedings of the Eighteenth International Conference on Genetic and Evolutionary Computation Conference Companion. ACM (2013)Google Scholar
  6. 6.
    de Jong, E., Watson, R., Thierens, D.: On the complexity of hierarchical problem solving. In: Proceedings of the 2005 Conference on Genetic and Evolutionary Computation, pp. 1201–1208. ACM (2005)Google Scholar
  7. 7.
    Friedlander, A., Neshatian, K., Zhang, M.: Meta-learning and feature ranking using genetic programming for classification: Variable terminal weighting. In: 2011 IEEE Congress on Evolutionary Computation (CEC), pp. 941–948. IEEE (2011)Google Scholar
  8. 8.
    Harman, M., Mansouri, S., Zhang, Y.: Search based software engineering: A comprehensive analysis and review of trends techniques and applications. Department of Computer Science, Kings College London, Tech. Rep. TR-09-03 (2009)Google Scholar
  9. 9.
    Hengpraprohm, S., Chongstitvatana, P.: Selective crossover in genetic programming. Population 400, 500 (2001)Google Scholar
  10. 10.
    Jackson, D.: Self-adaptive focusing of evolutionary effort in hierarchical genetic programming. In: IEEE Congress on Evolutionary Computation, CEC 2009, pp. 1821–1828. IEEE (2009)Google Scholar
  11. 11.
    Kuperberg, M., Krogmann, M., Reussner, R.: ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations. In: Proceedings of the 3rd International Workshop on Bytecode Semantics, Verification, Analysis and Transformation, ETAPS 2008, 11th European Joint Conferences on Theory and Practice of Software, Budapest, Hungary, April 5 (2008)Google Scholar
  12. 12.
    Langdon, W., et al.: Directed crossover within genetic programming. Advances in Genetic Programming 2 (1996)Google Scholar
  13. 13.
    Langdon, W.B., Harman, M.: Genetically improving 50000 lines of C++. Research Note RN/12/09, Department of Computer Science, University College London, Gower Street, London WC1E 6BT, UK (September 19, 2012)Google Scholar
  14. 14.
    O’Keeffe, M., Cinnéide, M.: Search-based refactoring: an empirical study. Journal of Software Maintenance and Evolution: Research and Practice 20(5), 345–364 (2008)Google Scholar
  15. 15.
    Orlov, M., Sipper, M.: Flight of the finch through the java wilderness. IEEE Transactions on Evolutionary Computation 15(2), 166–182 (2011)CrossRefGoogle Scholar
  16. 16.
    Poli, R., Langdon, W., McPhee, N.: A field guide to genetic programming. Lulu Enterprises UK Ltd. (2008)Google Scholar
  17. 17.
    Räihä, O.: A survey on search-based software design. Computer Science Review 4(4), 203–249 (2010)CrossRefGoogle Scholar
  18. 18.
    Ryan, C.: Automatic re-engineering of software using genetic programming, vol. 2. Springer, Netherlands (2000)zbMATHCrossRefGoogle Scholar
  19. 19.
    Simons, C.: Interactive evolutionary computing in early lifecycle software engineering design (2011)Google Scholar
  20. 20.
    The Eclipse Foundation. Java development tools (November 2012), http://www.eclipse.org/jdt/
  21. 21.
    Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Communications of the ACM 53(5), 109–116 (2010)CrossRefGoogle Scholar
  22. 22.
    Whigham, P.: Inductive bias and genetic programming (1995)Google Scholar
  23. 23.
    White, D., Arcuri, A., Clark, J.: Evolutionary improvement of programs. IEEE Transactions on Evolutionary Computation (99), 1–24 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Brendan Cody-Kenny
    • 1
  • Stephen Barrett
    • 1
  1. 1.Distributed Systems Group, School of Computer Science and StatisticsTrinity College DublinIreland

Personalised recommendations