Skip to main content

Genetic Improvement of Software for Multiple Objectives

  • Conference paper
  • First Online:
Search-Based Software Engineering (SSBSE 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9275))

Included in the following conference series:

Abstract

Genetic programming (GP) can increase computer program’s functional and non-functional performance. It can automatically port or refactor legacy code written by domain experts. Working with programmers it can grow and graft (GGGP) new functionality into legacy systems and parallel Bioinformatics GPGPU code. We review Genetic Improvement (GI) and SBSE research on evolving software.

W.B. Langdon — http://www.cs.ucl.ac.uk/staff/W.Langdon/

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Human-competitive results presented at the annual GECCO conference http://www.genetic-programming.org/combined.php.

References

  1. Ryan, C., Ivan, L.: Automatic parallelization of arbitrary programs. In: Langdon, W.B., Fogarty, T.C., Nordin, P., Poli, R. (eds.) EuroGP 1999. LNCS, vol. 1598, pp. 244–254. Springer, Heidelberg (1999). http://www.cs.bham.ac.uk/\(\sim \) wbl/biblio/gp-html/ryan_1999_apap.html

    Chapter  Google Scholar 

  2. Koza, J.R.: Genetic Programming: On the Programming of Computers by Natural Selection. MIT press (1992). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_book.html

  3. Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming (2008). Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk (With contributions by J.R. Koza). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/poli08_fieldguide.html

  4. Weimer, W., Nguyen, T., Le Goues, C., Forrest, S.: Automatically finding patches using genetic programming. In: Fickas, S., (ed.) ICSE 2009, Vancouver, pp. 364–374 (2009). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Weimer_2009_ICES.html

  5. Forrest, S., Nguyen, T., Weimer, W., Le Goues, C.: A genetic programming approach to automated software repair. In: Raidl, G., et al. (eds.) GECCO 2009, pp. 947–954, ACM, Montreal (2009) (Best paper). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/DBLP_conf_gecco_ForrestNWG09.html

  6. Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Commun. ACM 53(5), 109–116 (2010). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Weimer_2010_ACM.html

    Article  Google Scholar 

  7. Fast, E., Le Goues, C., Forrest, S., Weimer, W.: Designing better fitness functions for automated program repair. In: Branke, J., et al. (eds.) GECCO 2010, pp. 965–972. ACM (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Fast_2010_GECCO.html

  8. Schulte, E., Forrest, S., Weimer, W.: Automated program repair through the evolution of assembly code. In: ASE 2010, pp. 313–316. ACM, Antwerp (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/schulte10__autom_progr_repair_evolut_assem_code.html

  9. Schulte, E., Fry, Z.P., Fast, E., Weimer, W., Forrest, S.: Software mutational robustness. Genet. Program Evolvable Mach. 15(3), 281–312 (2014). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/schulte10__autom_progr_repair_evolut_assem_code.html

    Article  Google Scholar 

  10. Orlov, M., Sipper, M.: Flight of the FINCH through the Java wilderness. IEEE Trans. EC 15(2), 166–182 (2011). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Orlov_2011_ieeeTEC.html

    Google Scholar 

  11. Langdon, W.B., Nordin, J.P.: Seeding genetic programming populations. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 304–315. Springer, Heidelberg (2000). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/langdon_2000_seed.html

    Chapter  Google Scholar 

  12. Langdon, W.B.: Genetically improved software. In: Gandomi, A.H., et al. (eds.) Handbook of Genetic Programming Applications. Springer (forthcoming). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2015_hbgpa.html

  13. Harman, M., Jones, B.F.: Search based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)

    Article  Google Scholar 

  14. Langdon, W.B., Petke, J., White, D.R.: Genetic improvement 2015 chairs’ welcome. In: GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2015_gi.html

  15. Arcuri, A., Yao, X.: Co-evolutionary automatic programming for software development. Inf. Sci. 259, 412–432 (2014). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Arcuri2010.html

    Article  Google Scholar 

  16. Hussain, D., Malliaris, S.: Evolutionary techniques applied to hashing: An efficient data retrieval method. In: Whitley, D., et al. (eds.) GECCO-2000, p. 760. Morgan Kaufmann, Las Vegas, Nevada, USA (2000). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Hussain_2000_GECCO.html

  17. Berarducci, P., Jordan, D., Martin, D., Seitzer, J.: GEVOSH: using grammatical evolution to generate hashing functions. In: Poli, R., et al. (eds.) GECCO 2004 Workshop Proceedings, Seattle, Washington, USA (2004). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/berarducci_2004_ugw_pber.html

  18. Estebanez, C., Saez, Y., Recio, G., Isasi, P.: Automatic design of noncryptographic hash functions using genetic programming. Computational Intelligence (forthcoming). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Estebanez_2014_CI.html

  19. Karasek, J., Burget, R., Morsky, O.: Towards an automatic design of non-cryptographic hash function. In: TSP 2011, pp. 19–23, Budapest (2011). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Karasek_2011_TSP.html

  20. Paterson, N., Livesey, M.: Evolving caching algorithms in C by genetic programming. In: Koza, J.R., et al. (eds.): Genetic Programming, pp. 262–267. Morgan Kaufmann, Stanford University, CA, USA (1997). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Paterson_1997_ecacGP.html

  21. O’Neill, M., Ryan, C.: Automatic generation of caching algorithms. In: Miettinen, K., et al. (eds.) Evolutionary Algorithms in Engineering and Computer Science, pp. 127-134, John Wiley and Sons, Jyväskylä, Finland (1999). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/oneill_1999_AGCA.html

  22. Branke, J., Funes, P., Thiele, F.: Evolutionary design of en-route caching strategies. Appl. Soft Comput. 7(3), 890–898 (2006). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Branke_2006_ASC.html

    Article  Google Scholar 

  23. Risco-Martin, J.L., Atienza, D., Colmenar, J.M., Garnica, O.: A parallel evolutionary algorithm to optimize dynamic memory managers in embedded systems. Parallel Comput. 36(10–11), 572–590 (2010). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/RiscoMartin2010572.html

    Article  MATH  Google Scholar 

  24. Wu, F., Weimer, W., Harman, M., Jia, Y., Krinke, J.: Deep parameter optimisation. In: GECCO 2015. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Wu_2015_GECCO.html

  25. Rodriguez-Mier, P., Mucientes, M., Lama, M., Couto, M.I.: Composition of web services through genetic programming. Evol. Intell. 3(3–4), 171–186 (2010). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Rodriguez-Mier_2010_EI.html

    Article  Google Scholar 

  26. Fredericks, E.M., Cheng, B.H.C.: Exploring automated software composition with genetic programming. In: Blum, C., et al. (eds.) GECCO 2013 Companion, pp. 1733–1734. ACM, Amsterdam, The Netherlands (2013). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Fredericks_2013_GECCOcomp.html

  27. Xiao, L., Chang, C.K., Yang, H.-I., Lu, K.-S., Jiang, H.-Y.: Automated web service composition using genetic programming. In: COMPSACW 2012, pp. 7–12, Izmir (2012). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Xiao_2012_COMPSACW.html

  28. Burke, E.K., Gendreau, M., Hyde, M., Kendall, G., Ochoa, G., Ozcan, E., Qu, R.: Hyper-heuristics: a survey of the state of the art. JORS 64(12), 1695–1724 (2013). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Burke2013.html

    Article  Google Scholar 

  29. Pappa, G.L., Ochoa, G., Hyde, M.R., Freitas, A.A., Woodward, J., Swan, J.: Contrasting meta-learning and hyper-heuristic research: the role of evolutionary algorithms. Genet. Program Evolvable Mach. 15(1), 3–35 (2014). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Pappa_2013_GPEM.html

    Article  Google Scholar 

  30. Mahajan, A., Ali, M.S.: Superblock scheduling using genetic programming for embedded systems. In: ICCI 2008. IEEE, pp. 261–266 (2008). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Mahajan_2008_ieeeICCI.html

  31. Cadar, C., Pietzuch, P., Wolf, A.L.: Multiplicity computing: a vision of software engineering for next-generation computing platform applications. In Sullivan, K., ed.: FoSER 2010 FSE/SDP workshop, pp. 81-86. ACM, Santa Fe, New Mexico, USA (2010). http://dx.doi.org/10.1145/1882362.1882380

  32. DeMillo, R.A., Offutt, A.J.: Constraint-based automatic test data generation. IEEE Trans. Software Eng. 17(9), 900–910 (1991). http://dx.doi.org/10.1109/32.92910

    Article  Google Scholar 

  33. Langdon, W.B., Harman, M., Jia, Y.: Efficient multi-objective higher order mutation testing with genetic programming. JSS 83(12), 2416–2430 (2010). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/langdon_2010_jss.html

    Google Scholar 

  34. Feldt, R.: Generating diverse software versions with genetic programming: an experimental study. IEE Proceedings 145(6), 228–236 (1998). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/feldt_1998_gdsvGPes.html

    Article  Google Scholar 

  35. Imamura, K., Foster, J.A.: Fault-tolerant computing with N-version genetic programming. In Spector, L., et al. (eds.) GECCO-2001, p. 178, Morgan Kaufmann, San Francisco, California, USA (2001). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/imamura_2001_gecco.html

  36. Imamura, K., Soule, T., Heckendorn, R.B., Foster, J.A.: Behavioral diversity and a probabilistically optimal GP ensemble. Genet. Program Evolvable Mach. 4(3), 235–253 (2003). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/imamura_2003_GPEM.html

    Article  Google Scholar 

  37. Langdon, W.B., Buxton, B.F.: Genetic programming for combining classifiers. In Spector, L., et al. (eds.) GECCO-2001, pp. 66–73. Morgan Kaufmann, San Francisco, California, USA (2001). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2001_gROC.html

  38. Buxton, B.F., Langdon, W.B., Barrett, S.J.: Data fusion by intelligent classifier combination. Meas. Contr. 34(8), 229–234 (2001). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/imamura_2003_GPEM.html

    Article  MATH  Google Scholar 

  39. Langdon, W.B., Poli, R.: Evolving problems to learn about particle swarm and other optimisers. In: Corne, D., et al. (eds.) CEC-2005, pp. 81–88. IEEE Press, Edinburgh, UK (2005). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2005_CECb.html

  40. Cotillon, A., Valencia, P., Jurdak, R.: Android genetic programming framework. In: Moraglio, A., Silva, S., Krawiec, K., Machado, P., Cotta, C. (eds.) EuroGP 2012. LNCS, vol. 7244, pp. 13–24. Springer, Heidelberg (2012). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/cotillon_2012_EuroGP.html

    Chapter  Google Scholar 

  41. Lopez-Herrejon, R.E., Linsbauer, L.: Genetic improvement for software product lines: an overview and a roadmap. In: GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Lopez-Herrejon_2015_gi.html

  42. Landsborough, J., Harding, S., Fugate, S.: Removing the kitchen sink from software. In GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Landsborough_2015_gi.html

  43. Schulte, E., Weimer, W., Forrest, S.: Repairing COTS router firmware without access to source code or test suites: A case study in evolutionary software repair. In: GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Schulte_2015_gi.html

  44. Yeboah-Antwi, K., Baudry, B.: Embedding adaptivity in software systems using the ECSELR framework. In: GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Yeboah-Antwi_2015_gi.html

  45. White, D.R., Arcuri, A., Clark, J.A.: Evolutionary improvement of programs. IEEE Trans. EC 15(4), 515–538 (2011). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/White_2011_ieeeTEC.html

    Google Scholar 

  46. Sitthi-amorn, P., Modly, N., Weimer, W., Lawrence, J.: Genetic programming for shader simplification. ACM Trans. Graphics, 30(6), article: 152 (2011). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/DBLP_journals_tog_Sitthi-amornMWL11.html

  47. Feldt, R.: Genetic programming as an explorative tool in early software development phases. In: Ryan, C., Buckley, J. (eds.) Proceedings of the 1st International Workshop on Soft Computing Applied to Software Engineering, pp. 11–20. Limerick University Press, University of Limerick, Ireland (1999). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/feldt_1999_GPxtxsdp.html

  48. Harman, M., Langdon, W.B., Jia, Y., White, D.R., Arcuri, A., Clark, J.A.: The GISMOE challenge: constructing the Pareto program surface using genetic programming to find better programs. In: ASE 2012, pp. 1–14. ACM, Essen, Germany (2012). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Harman_2012_ASE.html

  49. Lukschandl, E., Holmlund, M., Moden, E.: Automatic evolution of Java bytecode: first experience with the Java virtual machine. In: Poli, R., et al. (eds.) Late Breaking Papers at EuroGP 1998, Paris, France, CSRP-98-10, pp. 14–16, The University of Birmingham, UK (1998). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/lukschandl_1998_1java.html

  50. Archanjo, G.A., Von Zuben, F.J.: Genetic programming for automating the development of data management algorithms in information technology systems. Advances in Software Engineering (2012). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Archanjo_2012_ASE.html

  51. Ryan, C.: Automatic Re-Engineering of Software using Genetic Programming. Kluwer Academic Publishers (1999). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/ryan_book.html

  52. Katz, G., Peled, D.: Synthesizing, correcting and improving code, using model checking-based genetic programming. In: Bertacco, V., Legay, A. (eds.) HVC 2013. LNCS, vol. 8244, pp. 246–261. Springer, Heidelberg (2013). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/conf_hvc_KatzP13.html

    Chapter  Google Scholar 

  53. Cody-Kenny, B., Lopez, E.G., Barrett, S.: locoGP: improving performance by genetic programming java source code. In: GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Cody-Kenny_2015_gi.html

  54. Schulte, E., Dorn, J., Harding, S., Forrest, S., Weimer, W.: Post-compiler software optimization for reducing energy. In: ASPLOS 2014, pp. 639–652. ACM, Salt LakeCity, Utah, USA (2014). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/schulte2014optimization.html

  55. Mrazek, V., Vasicek, Z., Sekanina, L.: Evolutionary approximation of software for embedded systems: median function. In: GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Mrazek_2015_gi.html

  56. Arcuri, A., Yao, X.: A novel co-evolutionary approach to automatic software bug fixing. In: Wang, J., (ed.) WCCI 2008. IEEE, pp. 162–168 (2008). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Arcuri_2008_cec.html

  57. Le Goues, C., Dewey-Vogt, M., Forrest, S., Weimer, W.: A systematic study of automated program repair: Fixing 55 out of 105 bugs for 8 each. In: Glinz, M., (ed.) ICSE 2012, pp. 3–13 Zurich (2012). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/LeGoues_2012_ICSE.html

  58. Wilkerson, J.L., Tauritz, D.: Coevolutionary automated software correction. In: Branke, J., et al. (eds.) GECCO 2010, pp. 1391-1392. ACM, Portland, Oregon, USA (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Wilkerson_2010_gecco.html

  59. Bradbury, J.S., Jalbert, K.: Automatic repair of concurrency bugs. In: Di Penta, M., et al. (eds.) SSBSE 2010, Benevento, Italy (2010) (Fast abstract). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/BradburyJ10.html

  60. Ackling, T., Alexander, B., Grunert, I.: Evolving patches for software repair. In: Krasnogor, N., et al. (eds.) GECCO 2011, pp. 1427-1434. ACM, Dublin, Ireland (2011). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Ackling_2011_GECCO.html

  61. Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.: Design defects detection and correction by example. In: ICPC 2011, pp. 81–90. IEEE, Kingston, Canada (2011). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Kessentini_2011_ICPC.html

  62. Nguyen, H.D.T., Qi, D., Roychoudhury, A., Chandra, S.: SemFix: program repair via semantic analysis. In: Cheng, B.H.C., Pohl, K., (eds.) ICSE 2013, pp. 772–781. IEEE, San Francisco, USA (2013). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Nguyen_2013_ICSE.html

  63. Kim, D., Nam, J., Song, J., Kim, S.: Automatic patch generation learned from human-written patches. In: ICSE 2013, pp. 802–811, San Francisco, USA (2013). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Kim_2013_ICSE.html

  64. Tan, S.H., Roychoudhury, A.: relifix: Automated Repair of Software Regressions. In: Canfora, G., et al. (eds.) ICSE 2015, pp. 471–482. IEEE, Florence Italy (2015)

    Google Scholar 

  65. Schulte, E., DiLorenzo, J., Weimer, W., Forrest, S.: Automated repair of binary and assembly programs for cooperating embedded devices. In: ASPLOS 2013, pp. 317–328. ACM, Houston, Texas, USA (2013). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Schulte_2013_ARB_2451116_2451151.html

  66. Yoo, S.: Evolving human competitive spectra-based fault localisation techniques. In: Fraser, G., Teixeira de Souza, J. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 244–258. Springer, Heidelberg (2012). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Yoo_2012_SSBSE.html

    Chapter  Google Scholar 

  67. Weimer, W.: advances in automated program repair and a call to arms. In: Ruhe, G., Zhang, Y. (eds.) SSBSE 2013. LNCS, vol. 8084, pp. 1–3. Springer, Heidelberg (2013). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Weimer_2013_SSBSE.html

    Chapter  Google Scholar 

  68. Cody-Kenny, B., Barrett, S.: The emergence of useful bias in self-focusing genetic programming for software optimisation. In: Ruhe, G., Zhang, Y. (eds.) SSBSE 2013. LNCS, vol. 8084, pp. 306–311. Springer, Heidelberg (2013). Graduate Student Track http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Cody-Kenny_2013_SSBSE.html

    Chapter  Google Scholar 

  69. Gabel, M., Su, Z.: A study of the uniqueness of source code. In: FSE 2010, pp. 147–156. ACM (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Gabel_2010_FSE.html

  70. Darwin, C.: The Origin of Species. Penguin classics, 1985 edn. John Murray (1859)

    Google Scholar 

  71. Langdon, W.B., Harman, M.: Evolving a CUDA kernel from an nVidia template. In: Sobrevilla, P., (ed.) WCCI 2010, pp. 2376-2383. IEEE, Barcelona (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2010_cigpu.html

  72. Hutchins, M., Foster, H., Goradia, T., Ostrand, T.: Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria. In: ICSE 1994, pp. 191–200 (1994). urlhttp://dx.doi.org/10.1109/ICSE.1994.296778

    Google Scholar 

  73. Stam, J.: Stereo imaging with CUDA. Technical report, nVidia (2008)

    Google Scholar 

  74. Langdon, W.B., Harman, M.: Genetically improved CUDA C++ software. In: Nicolau, M., Krawiec, K., Heywood, M.I., Castelli, M., García-Sánchez, P., Merelo, J.J., Rivas Santos, V.M., Sim, K. (eds.) EuroGP 2014. LNCS, vol. 8599, pp. 87–99. Springer, Heidelberg (2014). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/langdon_2014_EuroGP.html

    Google Scholar 

  75. Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. IEEE Trans. EC 19(1), 118–135 (2015). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Langdon_2013_ieeeTEC.html

    Google Scholar 

  76. Klus, P., Lam, S., Lyberg, D., Cheung, M.S., Pullan, G., McFarlane, I., Yeo, G.S.H., Lam, B.Y.H.: BarraCUDA - a fast short read sequence aligner using graphics processing units. BMC Research Notes 5(1), 27 (2012). http://dx.doi.org/10.1186/1756-0500-5-27

  77. Langdon, W.B., Lam, B.Y.H., Petke, J., Harman, M.: Improving CUDA DNA analysis software with genetic programming. In: GECCO 2015. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Langdon_2015_GECCO.html

  78. Langdon, W.B., Lam, B.Y.H.: Genetically improved barraCUDA. Research Note RN/15/03, Department of Computer Science, University College London (2015). http://arxiv.org/abs/arXiv:1505.07855

  79. Modat, M., Ridgway, G.R., Taylor, Z.A., Lehmann, M., Barnes, J., Hawkes, D.J., Fox, N.C., Ourselin, S.: Fast free-form deformation using graphics processing units. Comput. Methods Programs Biomed. 98(3), 278–284 (2010). http://dx.doi.org/10.1016/j.cmpb.2009.09.002

    Article  Google Scholar 

  80. Langdon, W.B., Modat, M., Petke, J., Harman, M.: Improving 3D medical image registration CUDA software with genetic programming. In: Igel, C., et al. (eds.) GECCO 2014, pp. 951-958. ACM, Vancouver, BC, Canada (2014). http://arxiv.org/abs/arXiv:1505.07855

  81. Petke, J., Harman, M., Langdon, W.B., Weimer, W.: Using genetic improvement and code transplants to specialise a C++ program to a problem class. In: Nicolau, M., Krawiec, K., Heywood, M.I., Castelli, M., García-Sánchez, P., Merelo, J.J., Rivas Santos, V.M., Sim, K. (eds.) EuroGP 2014. LNCS, vol. 8599, pp. 137–149. Springer, Heidelberg (2014). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Petke_2014_EuroGP.html

    Google Scholar 

  82. Harman, M., Jia, Y., Langdon, W.B.: Babel Pidgin: SBSE can grow and graft entirely new functionality into a real world system. In: Le Goues, C., Yoo, S. (eds.) SSBSE 2014. LNCS, vol. 8636, pp. 247–252. Springer, Heidelberg (2014). http://www.cs.bham.ac.uk/\(\sim \)wbl/biblio/gp-html/Harman_2014_Babel.html

    Google Scholar 

  83. Harman, M.: Software engineering meets evolutionary computation. Comput. 44(10), 31–39 (2011). Cover feature http://www.cs.bham.ac.uk/\(sim\)wbl/biblio/gp-html/Harman_2011_ieeeC.html

    Article  Google Scholar 

  84. Jia, Y., Harman, M., Langdon, W.B., Marginean, A.: Grow and serve: Growing Django citation services using SBSE. In: Yoo, S., Minku, L. (eds.) SSBSE 2015. Challenge Track, Bergamo, Italy (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/jia_2015_gsgp.html

  85. Reeder, J., Steffen, P., Giegerich, R.: pknotsRG: RNA pseudoknot folding including near-optimal structures and sliding windows. Nucleic Acids Res. 35(Suppl. 2), W320–W324 (2007). http://dx.doi.org/10.1093/nar/gkm258

    Article  Google Scholar 

  86. Langdon, W.B., Harman, M.: Grow and graft a better CUDA pknotsRG for RNA pseudoknot free energy calculation. In: GECCO 2015 Companion. ACM, Madrid (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2015_gi_pknots.html

  87. Barr, E.T., Brun, Y., Devanbu, P., Harman, M., Sarro, F.: The plastic surgery hypothesis. In: Orso, A., et al. (eds.) FSE 2014. ACM, Hong Kong (2014). http://earlbarr.com/publications/psh.pdf

Download references

Acknowledgements

I am grateful for the assistance of Andrea Arcuri, Robert Feldt, Marc Schoenauer, Wes Weimer and Darrell Whitley. Tesla donated by nVidia (http://www.nvidia.com).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to William B. Langdon .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Langdon, W.B. (2015). Genetic Improvement of Software for Multiple Objectives. In: Barros, M., Labiche, Y. (eds) Search-Based Software Engineering. SSBSE 2015. Lecture Notes in Computer Science(), vol 9275. Springer, Cham. https://doi.org/10.1007/978-3-319-22183-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22183-0_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22182-3

  • Online ISBN: 978-3-319-22183-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics