Abstract
Online Genetic Improvement embeds the ability to evolve and adapt inside a target software system enabling it to improve at runtime without any external dependencies or human intervention. We recently developed a general purpose tool enabling Online Genetic Improvement in software systems running on the java virtual machine. This tool, dubbed ECSELR, is embedded inside extant software systems at runtime, enabling such systems to self-improve and adapt autonomously online. We present this tool, describing its architecture and focusing on its design choices and possible uses.
Similar content being viewed by others
Notes
WorldCup ’98 dataset can be found here: http://ita.ee.lbl.gov/html/contrib/WorldCup.html.
References
M. Arlitt, T. Jin, Workload characterization of the 1998 world cup web site. IEEE Netw. 14(3), 30–37 (1999)
N. Burles, J. Swan, E. Bowles, A.E., Brownlee, Z.A., Kocsis, N., Veerapen, Embedded dynamic improvement. In: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation, ACM, Madrid, Spain, GECCO Companion ’15, pp 831–832, doi:10.1145/2739482.2768423 (2015)
G. Fraser, A. Arcuri, Evosuite: automatic test suite generation for object-oriented software. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ACM, Szeged, Hungary, ESEC/FSE ’11, pp 416–419, doi:10.1145/2025113.2025179 (2011)
J. Gustavsson, A classification of unanticipated runtime software changes in java. In: Proceedings of the International Conference on Software Maintenance, IEEE Computer Society, Amsterdam, Netherlands, ICSM ’03, p. 4, http://dl.acm.org/citation.cfm?id=942800.943566 (2003)
M. Harman, E. Burke, J. Clark, X. Yao, Dynamic adaptive search based software engineering. In: Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ACM, Lund, Sweden, ESEM ’12, pp 1–8, doi:10.1145/2372251.2372253 (2012a)
M. Harman, W.B. Langdon, Y. Jia, D.R. White, A. Arcuri, J.A. Clark, The gismoe challenge: Constructing the pareto program surface using genetic programming to find better programs (keynote paper). In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ACM, Essen, Germany, ASE 2012, pp 1–14, doi:10.1145/2351676.2351678 (2012b)
M. Harman, W. Langdon, W. Weimer, Genetic programming for reverse engineering. In: Reverse Engineering (WCRE), 2013 20th Working Conference on, pp. 1–10, doi:10.1109/WCRE.2013.6671274 (2013)
M. Harman, Y. Jia, W.B. Langdon, J. Petke, I.H. Moghadam, S. Yoo, F. Wu, Genetic improvement for adaptive software engineering (keynote). In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, ACM, Hyderabad, India, SEAMS 2014, pp. 1–4, doi:10.1145/2593929.2600116 (2014)
M.Y. Hou, X.Y. Liu, H.H. Liu, Fifi: An architecture to realize self-evolving of java program (2006)
W.B. Langdon, Genetically improved software. In: Gandomi AH, Alavi AH, Ryan C (eds) Handbook of Genetic Programming Applications, Springer, chap 8, pp. 181–220, doi:10.1007/978-3-319-20883-1_8, http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/langdon_2015_hbgpa (2015)
W.B. Langdon, M. Harman, Optimising existing software with genetic programming. IEEE Transactions on Evolutionary Computation (2013). doi:10.1109/TEVC.2013.2281544, http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/bowtie2_supplementary, accepted
M. Orlov, M. Sipper, Flight of the finch through the java wilderness (2010)
J. Petke, M. Harman, W.B. Langdon, W. Weimer, Using genetic improvement and code transplants to specialise a C++ program to a problem class. In: Nicolau M, Krawiec K, Heywood MI, Castelli M, Garcia-Sanchez P, Merelo JJ, Rivas Santos VM, Sim K (eds) 17th European Conference on Genetic Programming, Springer, Granada, Spain, LNCS, vol 8599, pp 137–149, doi:10.1007/978-3-662-44303-3_12, http://www0.cs.ucl.ac.uk/staff/J.Petke/papers/Petke_2014_EuroGP (2014)
E. Schulte, S. Forrest, W. Weimer, Automated program repair through the evolution of assembly code. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ACM, Antwerp, Belgium, ASE ’10, pp 313–316, doi:10.1145/1858996.1859059 (2010)
J. Swan, N. Burles, Templar: a framework for template-method hyper-heuristics. In: Machado P, Heywood MI, McDermott J, Castelli M, Garcia-Sanchez P, Burelli P, Risi S, Sim K (eds) 18th European Conference on Genetic Programming, Springer, Copenhagen, LNCS, vol 9025, pp 205–216, doi: 10.1007/978-3-319-16501-1_17 (2015)
J. Swan, M. Epitropakis, J.R. Woodward, Gen-o-fix: An embeddable framework for dynamic adaptive genetic improvement programming. Tech. rep., Technical Report January, Department of Computing Science and Mathematics, University of Stirling, Stirling, UK (2014)
Acknowledgments
This work is partially supported by the EU FP7-ICT-2011-9 No. 600654 DIVERSIFY project.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Yeboah-Antwi, K., Baudry, B. Online Genetic Improvement on the java virtual machine with ECSELR. Genet Program Evolvable Mach 18, 83–109 (2017). https://doi.org/10.1007/s10710-016-9278-4
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-016-9278-4