Visualising the Search Landscape of the Triangle Program

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.

[1]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[2]  Christian M. Reidys,et al.  Combinatorial Landscapes , 2002, SIAM Rev..

[3]  Kathryn T. Stolee,et al.  Repairing Programs with Semantic Code Search , 2015 .

[4]  Westley Weimer,et al.  Post-compiler software optimization for reducing energy , 2014, ASPLOS.

[5]  Mark Harman,et al.  Babel Pidgin: SBSE Can Grow and Graft Entirely New Functionality into a Real World System , 2014, SSBSE.

[6]  Mark Harman,et al.  Review of "Genetic Programming and Evolvable Machines: Special Issue on Semantic Methods in Genetic Programming" , 2016, SEVO.

[7]  Bobby R. Bruce,et al.  Specialising Guava's Cache to Reduce Energy Consumption , 2015, SSBSE.

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

[9]  Sébastien Vérel,et al.  Local Optima Networks: A New Model of Combinatorial Fitness Landscapes , 2014, ArXiv.

[10]  Mark Harman,et al.  Fitness Landscape of the Triangle Program , 2016 .

[11]  Name M. Lastname Automatically Finding Patches Using Genetic Programming , 2013 .

[12]  Mark Harman,et al.  Ieee Transactions on Evolutionary Computation 1 , 2022 .

[13]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[14]  Markus Wagner Speeding up the Proof Strategy in Formal Software Verification , 2016, GECCO.

[15]  Claire Le Goues,et al.  A genetic programming approach to automated software repair , 2009, GECCO.

[16]  John A. Clark,et al.  Searching for resource-efficient programs: low-power pseudorandom number generators , 2008, GECCO '08.

[17]  Benoit Baudry,et al.  Embedding Adaptivity in Software Systems using the ECSELR framework , 2015, GECCO.

[18]  Jerry Swan,et al.  Automatic Improvement of Apache Spark Queries using Semantics-preserving Program Reduction , 2016, GECCO.

[19]  Claire Le Goues,et al.  GenProg: A Generic Method for Automatic Software Repair , 2012, IEEE Transactions on Software Engineering.

[20]  Alexander Egyed,et al.  Genetic Improvement for Software Product Lines: An Overview and a Roadmap , 2015, GECCO.

[21]  Mark Harman,et al.  Genetic Improvement for Adaptive Software Engineering , 2014, SEAMS 2014.

[22]  Xin Yao,et al.  A novel co-evolutionary approach to automatic software bug fixing , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[23]  Claire Le Goues,et al.  A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[24]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[25]  Edgar Galván López,et al.  locoGP: Improving Performance by Genetic Programming Java Source Code , 2015, GECCO.

[26]  Mark Harman,et al.  Using Genetic Improvement and Code Transplants to Specialise a C++ Program to a Problem Class , 2014, EuroGP.

[27]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[28]  Mark Harman,et al.  API-Constrained Genetic Improvement , 2016, SSBSE.

[29]  David Robert White,et al.  Genetic programming for low-resource systems , 2009 .

[30]  Mark Harman,et al.  Automated Transplantation of Call Graph and Layout Features into Kate , 2015, SSBSE.

[31]  P. Williams,et al.  Genetic Compilers : A New Technique for Automatic ParallelisationKenneth , 1996 .

[32]  Lukás Sekanina,et al.  Evolutionary Approximation of Software for Embedded Systems: Median Function , 2015, GECCO.

[33]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[34]  Mark Harman,et al.  Evolving a CUDA kernel from an nVidia template , 2010, IEEE Congress on Evolutionary Computation.

[35]  Mark Harman,et al.  Multi Objective Higher Order Mutation Testing with Genetic Programming , 2009 .

[36]  Kenneth Peter Williams,et al.  Evolutionary algorithms for automatic parallelization , 1998 .

[37]  Markus Wagner,et al.  Optimising Energy Consumption Heuristically on Android Mobile Phones , 2016, GECCO.

[38]  Mark Harman,et al.  Grow and Serve: Growing Django Citation Services Using SBSE , 2015, SSBSE.

[39]  Zdenek Vasícek,et al.  Trading between quality and non-functional properties of median filter in embedded systems , 2017, Genetic Programming and Evolvable Machines.

[40]  Justyna Petke Preface to the Special Issue on Genetic Improvement , 2016, Genetic Programming and Evolvable Machines.

[41]  Justyna Petke,et al.  Reducing Energy Consumption Using Genetic Improvement , 2015, GECCO.

[42]  Justyna Petke,et al.  Genetic Improvement for Code Obfuscation , 2016, GECCO.

[43]  Moshe Sipper,et al.  Flight of the FINCH Through the Java Wilderness , 2011, IEEE Transactions on Evolutionary Computation.

[44]  Claire Le Goues,et al.  Current challenges in automatic software repair , 2013, Software Quality Journal.

[45]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[46]  Alexander E. I. Brownlee,et al.  Embedded Dynamic Improvement , 2015, GECCO.

[47]  William B. Langdon,et al.  Genetic Improvement of Software for Multiple Objectives , 2015, SSBSE.

[48]  John H. Holland,et al.  Genetic Algorithms and the Optimal Allocation of Trials , 1973, SIAM J. Comput..

[49]  Jason Landsborough,et al.  Removing the Kitchen Sink from Software , 2015, GECCO.

[50]  Westley Weimer,et al.  Automated program repair through the evolution of assembly code , 2010, ASE.

[51]  Fan Wu,et al.  Deep Parameter Optimisation , 2015, GECCO.

[52]  John R. Woodward,et al.  Genetic Improvement of Energy Usage is only as Reliable as the Measurements are Accurate , 2015, GECCO.

[53]  Gabriela Ochoa,et al.  Additional Dimensions to the Study of Funnels in Combinatorial Landscapes , 2016, GECCO.

[54]  Alexander E. I. Brownlee,et al.  Object-Oriented Genetic Improvement for Improved Energy Consumption in Google Guava , 2015, SSBSE.

[55]  P. Walsh,et al.  Automatic Conversion of Programs from Serial to Parallel using Genetic Programming - The Paragen System , 1995, PARCO.

[56]  Sébastien Vérel,et al.  Communities of Minima in Local Optima Networks of Combinatorial Spaces , 2011, ArXiv.

[57]  Westley Weimer,et al.  Software mutational robustness , 2012, Genetic Programming and Evolvable Machines.

[58]  William B. Langdon,et al.  Software is Not Fragile , 2017 .

[59]  William B. Langdon,et al.  Optimising Quantisation Noise in Energy Measurement , 2016, PPSN.

[60]  Bobby R. Bruce Energy Optimisation via Genetic Improvement: A SBSE technique for a new era in Software Development , 2015, GECCO.

[61]  William B. Langdon,et al.  Genetically Improved Software , 2015, Handbook of Genetic Programming Applications.

[62]  Mark Harman,et al.  Automated software transplantation , 2015, ISSTA.

[63]  Westley Weimer,et al.  Repairing COTS Router Firmware without Access to Source Code or Test Suites: A Case Study in Evolutionary Software Repair , 2015, GECCO.

[64]  John A. Clark,et al.  Evolutionary Improvement of Programs , 2011, IEEE Transactions on Evolutionary Computation.

[65]  Yuanyuan Zhang,et al.  Search based software engineering for software product line engineering: a survey and directions for future work , 2014, SPLC.