Skip to main content

Advertisement

Log in

Online Genetic Improvement on the java virtual machine with ECSELR

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. TIOBE index: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.

  2. JVMTI: https://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html.

  3. WorldCup ’98 dataset can be found here: http://ita.ee.lbl.gov/html/contrib/WorldCup.html.

References

  1. M. Arlitt, T. Jin, Workload characterization of the 1998 world cup web site. IEEE Netw. 14(3), 30–37 (1999)

    Article  Google Scholar 

  2. 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)

  3. 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)

  4. 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)

  5. 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)

  6. 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)

  7. 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)

  8. 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)

  9. M.Y. Hou, X.Y. Liu, H.H. Liu, Fifi: An architecture to realize self-evolving of java program (2006)

  10. 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)

  11. 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

  12. M. Orlov, M. Sipper, Flight of the finch through the java wilderness (2010)

  13. 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)

  14. 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)

  15. 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)

  16. 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)

Download references

Acknowledgments

This work is partially supported by the EU FP7-ICT-2011-9 No. 600654 DIVERSIFY project.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kwaku Yeboah-Antwi.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-016-9278-4

Keywords

Navigation