Abstract
High order mutation analysis of a software engineering benchmark, including schema and local optima networks, suggests program improvements may not be as hard to find as is often assumed. (1) Bit-wise genetic building blocks are not deceptive and can lead to all global optima. (2) There are many neutral networks, plateaux and local optima, nevertheless in most cases near the human written C source code there are hill climbing routes including neutral moves to solutions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
http://geneticimprovementofsoftware.com/?page_id=13 (accessed Oct, 9 2016).
- 2.
A \(16^\mathrm{th}\) order schema has 16 defined positions [64, page 29], and one variable * position (length = 17). Whereas a \(1^\mathrm{st}\) order mutation is identical to the original except for one change.
References
Langdon, W.B.: Genetically improved software. In: Gandomi, A.H., et al. (eds.) Handbook of Genetic Programming Applications, pp. 181–220. Springer, New York (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2015_hbgpa.html
Langdon, W.B.: Genetic improvement of software for multiple objectives. In: Barros, M., Labiche, Y. (eds.) SSBSE 2015. LNCS, vol. 9275, pp. 12–28. Springer, Heidelberg (2015). doi:10.1007/978-3-319-22183-0_2. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Langdon_2015_SSBSE.html
Petke, J.: Preface to the special issue on genetic improvement. Genet. Program. Evolvable Mach. (2017). Editorial Note, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Petke_2016_GPEM.html
Harman, M., Jones, B.F.: Search based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001). http://dx.doi.org/10.1016/S0950-5849(01)00189-6
Koza, J.R.: Genetic Programming: On the Programming of Computers by Natural Selection. MIT Press, Cambridge (1992). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_book.html
Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming: An Introduction On the Automatic Evolution of Computer Programs and its Applications. Morgan Kaufmann, San Francisco (1998). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/banzhaf_1997_book.html
Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming. Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk (2008). (With contributions by Koza, J.R.), http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/poli08_fieldguide.html
Arcuri, A., Yao, X.: A novel co-evolutionary approach to automatic software bug fixing. In: Wang, J. (ed.) 2008 IEEE World Congress on Computational Intelligence, Hong Kong, pp. 162–168. IEEE (2008). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Arcuri_2008_cec.html
Weimer, W., Nguyen, T., Le Goues, C., Forrest, S.: Automatically finding patches using genetic programming. In: Fickas, S. (ed.) 2009 International Conference on Software Engineering (ICSE), Vancouver, pp. 364–374 (2009). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Weimer_2009_ICES.html
Forrest, S., Nguyen, T., Weimer, W., Le Goues, C.: A genetic programming approach to automated software repair. In: Raidl, G., et al. (eds.) GECCO, Montreal, pp. 947–954. ACM (2009). Best paper, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/DBLP_conf_gecco_ForrestNWG09.html
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/~wbl/biblio/gp-html/Weimer_2010_ACM.html
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.) 34th International Conference on Software Engineering (ICSE 2012), Zurich, pp. 3–13 (2012). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/LeGoues_2012_ICSE.html
Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: GenProg: a generic method for automatic software repair. IEEE Trans. Softw. Eng. 38(1), 54–72 (2012). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/DBLP_journals_tse_GouesNFW12.html
Le Goues, C., Forrest, S., Weimer, W.: Current challenges in automatic software repair. Softw. Qual. J. 21, 421–443 (2013). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/legouesWFSQJO2013.html
Ke, Y., Stolee, K.T., Le Goues, C., Brun, Y.: Repairing programs with semantic code search. In: Grunske, L., Whalen, M. (eds.) 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), Lincoln, Nebraska, USA (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Ke_2015_ASE.html
Kocsis, Z.A., Drake, J.H., Carson, D., Swan, J.: Automatic improvement of Apache Spark queries using semantics-preserving program reduction. In: Petke, J., et al. (eds.) 2016 Workshop on Genetic Improvement, Denver, pp. 1141–1146. ACM (2016). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Kocsis_2016_GI.html
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). doi:10.1007/978-3-662-44303-3_12. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Petke_2014_EuroGP.html
Marginean, A., Barr, E.T., Harman, M., Jia, Y.: Automated transplantation of call graph and layout features into kate. In: Barros, M., Labiche, Y. (eds.) SSBSE 2015. LNCS, vol. 9275, pp. 262–268. Springer, Heidelberg (2015). doi:10.1007/978-3-319-22183-0_21. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Marginean_2015_SSBSE.html
Barr, E.T., Harman, M., Jia, Y., Marginean, A., Petke, J.: Automated software transplantation. In: Xie, T., Young, M. (eds.) International Symposium on Software Testing and Analysis, ISSTA 2015, Baltimore, Maryland, USA, pp. 257–269. ACM (2015). ACM SIGSOFT Distinguished Paper Award, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Barr_2015_ISSTA.html
Harman, M., Jia, Y., Langdon, W.B.: Babel Pidgin: SBSE can grow and graft entirely new functionality into a real world system. In: Goues, C., Yoo, S. (eds.) SSBSE 2014. LNCS, vol. 8636, pp. 247–252. Springer, Heidelberg (2014). doi:10.1007/978-3-319-09940-8_20. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Harman_2014_Babel.html
Jia, Y., Harman, M., Langdon, W.B., Marginean, A.: Grow and serve: growing django citation services using SBSE. In: Barros, M., Labiche, Y. (eds.) SSBSE 2015. LNCS, vol. 9275, pp. 269–275. Springer, Heidelberg (2015). doi:10.1007/978-3-319-22183-0_22. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/jia_2015_gsgp.html
Langdon, W.B., White, D.R., Harman, M., Jia, Y., Petke, J.: API-constrained genetic improvement. In: Sarro, F., Deb, K. (eds.) SSBSE 2016. LNCS, vol. 9962, pp. 224–230. Springer, Heidelberg (2016). doi:10.1007/978-3-319-47106-8_16. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Langdon_2016_SSBSE.html
Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. IEEE Trans. Evol. Comput. 19(1), 118–135 (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Langdon_2013_ieeeTEC.html
Langdon, W.B., Lam, B.Y.H., Modat, M., Petke, J., Harman, M.: Genetic improvement of GPU software. Genet. Program. Evolvable Mach. (2017). Online first, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Langdon_2016_GPEM.html
White, D.R., Arcuri, A., Clark, J.A.: Evolutionary improvement of programs. IEEE Trans. Evol. Comput. 15(4), 515–538 (2011). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/White_2011_ieeeTEC.html
Bruce, B.R., Petke, J., Harman, M.: Reducing energy consumption using genetic improvement. In: Silva, S., et al. (eds.) GECCO, Madrid, Spain, ACM, pp. 1327–1334 ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/bruce2015reducing.html
Bruce, B.R.: Energy optimisation via genetic improvement a SBSE technique for a new era in software development. In: Langdon, W.B., et al. (eds.) 2015 Workshop on Genetic Improvement, Madrid, pp. 819–820. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Bruce_2015_gi.html
Burles, N., Bowles, E., Brownlee, A.E.I., Kocsis, Z.A., Swan, J., Veerapen, N.: Object-oriented genetic improvement for improved energy consumption in Google Guava. In: Barros, M., Labiche, Y. (eds.) SSBSE 2015. LNCS, vol. 9275, pp. 255–261. Springer, Heidelberg (2015). doi:10.1007/978-3-319-22183-0_20. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Burles_2015_SSBSE.html
Burles, N., Bowles, E., Bruce, B.R., Srivisut, K.: Specialising Guava’s cache to reduce energy consumption. In: Barros, M., Labiche, Y. (eds.) SSBSE 2015. LNCS, vol. 9275, pp. 276–281. Springer, Heidelberg (2015). doi:10.1007/978-3-319-22183-0_23. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Burles_2015_SSBSEa.html
Bokhari, M., Wagner, M.: Optimising energy consumption heuristically on android mobile phones. In: Petke, J., et al. (eds.) Genetic Improvement 2016 Workshop, Denver, pp. 1139–1140. ACM (2016). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Bokhari_2016_GI.html
Haraldsson, S.O., Woodward, J.R.: Genetic improvement of energy usage is only as reliable as the measurements are accurate. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 831–832. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Haraldsson_2015_gi.html
Langdon, W.B., Petke, J., Bruce, B.R.: Optimising quantisation noise in energy measurement. In: Handl, J., Hart, E., Lewis, P.R., López-Ibáñez, M., Ochoa, G., Paechter, B. (eds.) PPSN 2016. LNCS, vol. 9921, pp. 249–259. Springer, Heidelberg (2016). doi:10.1007/978-3-319-45823-6_23. http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Langdon_2016_PPSN.html
Schulte, E., Dorn, J., Harding, S., Forrest, S., Weimer, W.: Post-compiler software optimization for reducing energy. In: Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014, Salt Lake City, Utah, USA, pp. 639–652. ACM (2014). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/schulte2014optimization.html
Wagner, M.: Speeding up the proof strategy in formal software verification. In: Petke, J., et al. (eds.) Genetic Improvement 2016 Workshop, Denver, pp. 1137–1138 ACM (2016). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Wagner_2016_GI.html
Wu, F., Weimer, W., Harman, M., Jia, Y., Krinke, J.: Deep parameter optimisation. In: Silva, S., et al. (eds.) GECCO, Madrid, pp. 1375–1382. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Wu_2015_GECCO.html
Walsh, P., Ryan, C.: Automatic conversion of programs from serial to parallel using genetic programming - the paragen system. In: D’Hollander, E.H., et al. (eds.) Proceedings of ParCo 1995, Volume 11 of Advances in Parallel Computing, Gent, Belgium, pp. 415–422. Elsevier (1995). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/ryan_1995_paragen.html
Williams, K.P.: Evolutionary algorithms for automatic parallelization. Ph.D. thesis, Department of Computer Science, University of Reading, Whiteknights Campus, Reading (1998). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/williams98.html
Williams, K.P., Williams, S.A.: Genetic compilers: a new technique for automatic parallelisation. In: 2nd European School of Parallel Programming Environments (ESPPE 1996), L’Alpe d’Hoez, France, pp. 27–30 (1996). http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.3499
Langdon, W.B., Harman, M.: Evolving a CUDA kernel from an nVidia template. In: Sobrevilla, P., (ed.) 2010 IEEE World Congress on Computational Intelligence, Barcelona, pp. 2376–2383. IEEE (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2010_cigpu.html
White, D.R., Clark, J., Jacob, J., Poulding, S.M.: Searching for resource-efficient programs: low-power pseudorandom number generators. In: Keijzer, M. et al., (eds.) GECCO, Atlanta, GA, USA, pp. 1775–1782. ACM (2008). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/White2_2008_gecco.html
White, D.R.: Genetic programming for low-resource systems. Ph.D. thesis, Department of Computer Science, University of York, UK (2009). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/White_thesis.html
Yeboah-Antwi, K., Baudry, B.: Embedding adaptivity in software systems using the ECSELR framework. In: Langdon, W.B., et al. (eds.): Genetic Improvement 2015 Workshop, Madrid, pp. 839–844. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Yeboah-Antwi_2015_gi.html
Mrazek, V., Vasicek, Z., Sekanina, L.: Evolutionary approximation of software for embedded systems: median function. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 795–801. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Mrazek_2015_gi.html
Burles, N., Swan, J., Bowles, E., Brownlee, A.E.I., Kocsis, Z.A., Veerapen, N.: Embedded dynamic improvement. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 831–832. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Swan_2015_gi.html
Vasicek, Z., Mrazek, V.: Trading between quality and non-functional properties of median filter in embedded systems. Genet. Program. Evolvable Mach. (2017). Online first, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Vasicek_2016_GPEMa.html
Petke, J.: Genetic improvement for code obfuscation. In: Petke, J., et al. (eds.) Genetic Improvement 2016 Workshop, Denver, pp. 1135–1136. ACM (2016). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Petke_2016_GI.html
Harman, M., Jia, Y., Langdon, W.B., Petke, J., Moghadam, I.H., Yoo, S., Wu, F.: Genetic improvement for adaptive software engineering. In: Engels, G. (ed.) 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2014), Hyderabad, India, pp. 1–4. ACM (2014). Keynote, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Harman_2014_seams.html
Landsborough, J., Harding, S., Fugate, S.: Removing the kitchen sink from software. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 833–838. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Landsborough_2015_gi.html
Harman, M., Jia, Y., Krinke, J., Langdon, W.B., Petke, J., Zhang, Y.: Search based software engineering for software product line engineering: a survey and directions for future work. In: 18th International Software Product Line, SPLC 2014, Florence, Italy, pp. 5–18 (2014). Invited keynote, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Harman_2014_SPLC.html
Lopez-Herrejon, R.E., Linsbauer, L., Assuncao, W.K.G., Fischer, S., Vergilio, S.R., Egyed, A.: Genetic improvement for software product lines: an overview and a roadmap. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 823–830. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Lopez-Herrejon_2015_gi.html
Langdon, W.B., Petke, J., White, D.R.: Genetic improvement 2015 chairs’ welcome. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 791–792. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2015_gi.html
Langdon, W.B., Harman, M.: Fitness landscape of the triangle program. In: Veerapen, N., Ochoa, G. (eds.) PPSN-2016 Workshop on Landscape-Aware Heuristic Search, Edinburgh (2016). Also available as UCL RN/16/05, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2016_PPSNlandscape.html
Langdon, W.B., Petke, J.: Software is not fragile. In: Parrend, P., et al. (eds.) CS-DC 2015, pp. 203–211. Springer, Cham (2015). Invited talk, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2015_csdc.html
Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)
Langdon, W.B., Harman, M., Jia, Y.: Efficient multi-objective higher order mutation testing with genetic programming. J. Syst. Softw. 83(12), 2416–2430 (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_2010_jss.html
Cody-Kenny, B., Lopez, E.G., Barrett, S.: locoGP: improving performance by genetic programming Java source code. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 811–818. ACM (2015). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Cody-Kenny_2015_gi.html
Orlov, M., Sipper, M.: Flight of the FINCH through the Java wilderness. IEEE Trans. Evol. Comput. 15(2), 166–182 (2011). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Orlov_2011_ieeeTEC.html
Schulte, E., Forrest, S., Weimer, W.: Automated program repair through the evolution of assembly code. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, Antwerp, pp. 13–316. ACM (2010). http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/schulte10__autom_progr_repair_evolut_assem_code.html
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/~wbl/biblio/gp-html/Schulte_2014_GPEM.html
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: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, Madrid, pp. 847–854. ACM (2015). Best Paper, http://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Schulte_2015_gi.html
Wright, S.: The roles of mutation, inbreeding, crossbreeding and selection in evolution. In: Proceedings of the Sixth Annual Congress of Genetics, pp. 356–366 (1932). http://www.blackwellpublishing.com/ridley/classictexts/wright.pdf
Reidys, C.M., Stadler, P.F.: Combinatorial landscapes. SIAM Rev. 44(1), 3–54 (2002). http://dx.doi.org/10.1137/S0036144501395952
Holland, J.H.: Genetic algorithms and the optimal allocation of trials. SIAM J. Comput. 2, 88–105 (1973). http://dx.doi.org/10.1137/0202009
Goldberg, D.E.: Genetic Algorithms in Search Optimization and Machine Learning. Addison-Wesley, Boston (1989)
Daolio, F., Tomassini, M., Verel, S., Ochoa, G.: Communities of minima in local optima networks of combinatorial spaces. Phys. A: Stat. Mech. Appl. 390(9), 1684–1694 (2011). http://dx.doi.org/10.1016/j.physa.2011.01.005
Ochoa, G., Verel, S., Daolio, F., Tomassini, M.: Local optima networks: a new model of combinatorial fitness landscapes. In: Richter, H., Engelbrecht, A. (eds.) Recent Advances in the Theory and Application of Fitness Landscapes, pp. 233–262. Springer, Berlin (2014). http://dx.doi.org/10.1007/978-3-642-41888-4_9
Ochoa, G., Veerapen, N.: Additional dimensions to the study of funnels in combinatorial landscapes. In: GECCO, pp. 373–380. ACM (2016) http://dx.doi.org/10.1145/2908812.2908820
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Langdon, W.B., Veerapen, N., Ochoa, G. (2017). Visualising the Search Landscape of the Triangle Program. In: McDermott, J., Castelli, M., Sekanina, L., Haasdijk, E., GarcÃa-Sánchez, P. (eds) Genetic Programming. EuroGP 2017. Lecture Notes in Computer Science(), vol 10196. Springer, Cham. https://doi.org/10.1007/978-3-319-55696-3_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-55696-3_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-55695-6
Online ISBN: 978-3-319-55696-3
eBook Packages: Computer ScienceComputer Science (R0)