API-Constrained Genetic Improvement

  • William B. Langdon
  • David R. White
  • Mark Harman
  • Yue Jia
  • Justyna Petke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9962)

Abstract

ACGI respects the Application Programming Interface whilst using genetic programming to optimise the implementation of the API. It reduces the scope for improvement but it may smooth the path to GI acceptance because the programmer’s code remains unaffected; only library code is modified. We applied ACGI to C++ software for the state-of-the-art OpenCV SEEDS superPixels image segmentation algorithm, obtaining a speed-up of up to 13.2 % (\(\pm 1.3\,\%\)) to the $50 K Challenge winner announced at CVPR 2015.

References

  1. 1.
    Bruce, B.R., Petke, J., Harman, M.: Reducing energy consumption using genetic improvement. In: GECCO, pp. 1327–1334 (2015). http://dx.doi.org/doi:10.1145/2739480.2754752
  2. 2.
    Cruse, P., Foord, R.: A five-year prospective study of 23,649 surgical wounds. Arch. Surg. 107(2), 206–210 (1973)CrossRefGoogle Scholar
  3. 3.
    Fry, Z.P., Landau, B., Weimer, W.: A human study of patch maintainability. In: ISSTA, pp. 177–187 (2012). http://dx.doi.org/doi:10.1145/2338965.2336775
  4. 4.
    Harman, M., Burke, E., Clark, J.A., Yao, X.: Dynamic adaptive search based software engineering (keynote paper). In: ESEM, pp. 1–8 (2012)Google Scholar
  5. 5.
    Harman, M., Jia, Y., Langdon, W.B.: Babel pidgin: SBSE can grow and graft entirely new functionality into a real world system. In: Le Goues, C., Yoo, S. (eds.) SSBSE 2014. LNCS, vol. 8636, pp. 247–252. Springer, Heidelberg (2014). http://dx.doi.org/10.1007/978-3-319-09940-8 Google Scholar
  6. 6.
    Harman, M., Langdon, W.B., Jia, Y., White, D.R., Arcuri, A., Clark, J.A.: The GISMOE challenge: constructing the Pareto program surface using genetic programming to find better programs (keynote paper). In: ASE, pp. 1–14 (2012). http://dx.doi.org/doi:10.1145/2351676.2351678
  7. 7.
    Kiczales, G.: Aspect oriented programming. ACM SIGPLAN Not. 32(10), 162 (1997). Table of contents includes this invited talkCrossRefGoogle Scholar
  8. 8.
    Langdon, W.B.: Genetically improved software. In: Gandomi, A.H., et al. (eds.) Handbook of Genetic Programming Applications, pp. 181–220. Springer, Switzerland (2015). http://dx.doi.org/10.1007/978-3-319-20883-1_8 CrossRefGoogle Scholar
  9. 9.
    Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. IEEE TEVC 19(1), 118–135 (2015). http://dx.doi.org/doi:10.1109/TEVC.2013.2281544 Google Scholar
  10. 10.
    Le Goues, C., Forrest, S., Weimer, W.: Current challenges in automatic software repair. Softw. Qual. J. 21(3), 421–443 (2013). http://dx.doi.org/doi:10.1007/s11219-013-9208-0 CrossRefGoogle Scholar
  11. 11.
    Orlov, M., Sipper, M.: Flight of the FINCH through the Java wilderness. IEEE TEVC 15(2), 166–182 (2011). http://dx.doi.org/doi:10.1109/TEVC.2010.2052622 Google Scholar
  12. 12.
    Petke, J., Harman, M., Langdon, W.B., Weimer, W.: Using genetic improvement & 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.) Genetic Programming. LNCS, vol. 8599, pp. 137–149. Springer, Heidelberg (2014). http://dx.doi.org/doi:10.1007/978-3-662-44303-3_12 Google Scholar
  13. 13.
    Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming (2008). http://www.gp-field-guide.org.uk
  14. 14.
    Schulte, E., Dorn, J., Harding, S., Forrest, S., Weimer, W.: Post-compiler software optimization for reducing energy. In: ASPLOS, pp. 639–652 (2014). http://doi.acm.org/10.1145/2654822.2541980
  15. 15.
    Sitthi-amorn, P., Modly, N., Weimer, W., Lawrence, J.: Genetic programming for shader simplification. ACM TOG 30(6), 152:1–152:11 (2011). http://dx.doi.org/doi:10.1145/2070781.2024186 CrossRefGoogle Scholar
  16. 16.
    Souza, J., Maia, C.L., de Freitas, F.G., Coutinho, D.P.: The human competitiveness of search based software engineering. IEEE SSBSE, 143–152 (2010). http://dx.doi.org/10.1109/SSBSE.2010.25
  17. 17.
    Swan, J., et al.: Gen-O-Fix: An embeddable framework for dynamic adaptive genetic improvement programming. Technical report CSM-195, University of Stirling (2014)Google Scholar
  18. 18.
    Van den Bergh, M., Boix, X., Roig, G., de Capitani, B., Van Gool, L.: SEEDS: superpixels extracted via energy-driven sampling. In: Fitzgibbon, A., Lazebnik, S., Perona, P., Sato, Y., Schmid, C. (eds.) ECCV 2012, Part VII. LNCS, vol. 7578, pp. 13–26. Springer, Heidelberg (2012). http://dx.doi.org/10.1007/978-3-642-33786-4_2 CrossRefGoogle Scholar
  19. 19.
    White, D.R., Arcuri, A., Clark, J.A.: Evolutionary improvement of programs. IEEE TEVC 15(4), 515–538 (2011). http://dx.doi.org/doi:10.1109/TEVC.2010.2083669 Google Scholar
  20. 20.
    Wu, F., Harman, M., Jia, Y., Krinke, J., Weimer, W.: Deep parameter optimisation. In: GECCO, pp. 1375–1382 (2015). http://dx.doi.org/doi:10.1145/2739480.2754648

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • William B. Langdon
    • 1
  • David R. White
    • 1
  • Mark Harman
    • 1
  • Yue Jia
    • 1
  • Justyna Petke
    • 1
  1. 1.CRESTUniversity College LondonLondonUK

Personalised recommendations