skip to main content
10.1145/3194810.3194813acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Experiments in genetic divergence for emergent systems

Published:02 June 2018Publication History

ABSTRACT

Emergent software systems take a step towards tackling the ever-increasing complexity of modern software, by having systems self-assemble from a library of building blocks, and then continually re-assemble themselves from alternative building blocks to learn which compositions of behaviour work best in each deployment environment. One of the key challenges in emergent systems is populating the library of building blocks, and particularly a set of alternative implementations of particular building blocks, which form the runtime search space of optimal behaviour. We present initial work in using a fusion of genetic improvement and genetic synthesis to automatically populate a divergent set of implementations of the same functionality, allowing emergent systems to explore new behavioural alternatives without human input. Our early results indicate this approach is able to successfully yield useful divergent implementations of building blocks which are more suited than any existing alternative for particular operating conditions.

References

  1. B. Porter, M. Grieves, R. Rodrigues Filho, and D. Leslie, "RE<sup>X</sup>: A development platform and online learning approach for runtime emergent software systems," in Symposium on Operating Systems Design and Implementation. USENIX, November 2016, pp. 333--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Rodrigues Filho and B. Porter, "Defining emergent software using continuous self-assembly, perception, and learning," Transactions on Autonomous and Adaptive Systems, vol. 12, no. 3, pp. 1--25, September 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Source code from this paper with instructions: http://research.projectdana.com/gi2018mcgowan.Google ScholarGoogle Scholar
  4. J. Petke, S. Haraldsson, M. Harman, william Langdon, D. White, and J. Woodward, "Genetic Improvement of Software: a Comprehensive Survey," IEEE Transactions on Evolutionary Computation, no. c, pp. 1--1, 2017.Google ScholarGoogle Scholar
  5. S. Forrest, T. Nguyen, W. Weimer, and C. Le Goues, "A genetic programming approach to automated software repair," in Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation, ser. GECCO '09. New York, NY, USA: ACM, 2009, pp. 947--954. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Arcuri and X. Yao, "A novel co-evolutionary approach to automatic software bug fixing," 2008 IEEE Congress on Evolutionary Computation, CEC 2008, pp. 162--168, 2008.Google ScholarGoogle Scholar
  7. S. Sidiroglou-Douskos, E. Lahtinen, F. Long, and M. Rinard, "Automatic error elimination by horizontal code transfer across multiple applications," Pldi, pp. 43--54, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. V. Mrazek, Z. Vasicek, and L. Sekanina, "Evolutionary Approximation of Software for Embedded Systems: Median Function," Genetic Improvement 2015 Workshop, no. 1, pp. 795--801, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. W. B. Langdon and M. Harman, "Optimizing existing software with genetic programming," IEEE Transactions on Evolutionary Computation, vol. 19, no. 1, pp. 118--135, Feb 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Landsborough, S. Harding, and S. Fugate, "Removing the Kitchen Sink from Software," Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference - GECCO Companion '15, pp. 833--838, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. B. Cody-kenny, E. Galván-lópez, and S. Barrett, "locoGP : Improving Performance by Genetic Programming Java Source Code," Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation, pp. 811--818, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. O. Haraldsson and J. R. Woodward, "Automated Design of Algorithms and Genetic Improvement: Contrast and Commonalities," Proceedings of the 2014 Conference Companion on Genetic and Evolutionary Computation Companion, pp. 1373--1380, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. T. Barr, Y. Brun, P. Devanbu, M. Harman, and F. Sarro, "The plastic surgery hypothesis," Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2014, pp. 306--317, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Orlov, "Evolving Software Building Blocks with {FINCH}," Gi-2017, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Schulte, J. DiLorenzo, W. Weimer, and S. Forrest, "Automated repair of binary and assembly programs for cooperating embedded devices," in Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS '13. New York, NY, USA: ACM, 2013, pp. 317--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. O. Haraldsson, J. R. Woodward, A. E. I. Brownlee, A. V. Smith, and V. Gudnason, "Genetic improvement of runtime and its fitness landscape in a bioinformatics application," in Proceedings of the Genetic and Evolutionary Computation Conference Companion, ser. GECCO '17. New York, NY, USA: ACM, 2017, pp. 1521--1528. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. L. Chen and A. Avizienis, "N-version programming: A fault-tolerance approach to reliablilty of software operation," in 25th International Symposium on Fault-Tolerant Computing, 1995, Highlights from Twenty-Five Years., Jun 1995, p. 113.Google ScholarGoogle Scholar
  18. J. Petke, "New operators for non-functional genetic improvement," in Proceedings of the Genetic and Evolutionary Computation Conference Companion, ser. GECCO '17. New York, NY, USA: ACM, 2017, pp. 1541--1542. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Gulwani, W. R. Harris, and R. Singh, "Spreadsheet data manipulation using examples," Communications of the ACM, vol. 55, no. 8, p. 97, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Orlov and M. Sipper, "Flight of the FINCH through the java wilderness," IEEE Transactions on Evolutionary Computation, vol. 15, no. 2, pp. 166--182, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Swan and N. Burles, Templar - A Framework for Template-Method Hyper-Heuristics. Cham: Springer International Publishing, 2015, pp. 205--216.Google ScholarGoogle Scholar
  22. Dana language: http://www.projectdana.com.Google ScholarGoogle Scholar
  23. B. Porter, "Runtime modularity in complex structures: A component model for fine grained runtime adaptation," in Component-Based Software Engineering. ACM, June 2014, pp. 26--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Mitchell, An Introduction to Genetic Algorithms. Cambridge, MA, USA: MIT Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    GI '18: Proceedings of the 4th International Workshop on Genetic Improvement Workshop
    June 2018
    63 pages
    ISBN:9781450357531
    DOI:10.1145/3194810

    Copyright © 2018 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 2 June 2018

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Upcoming Conference

    ICSE 2025

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader