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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
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
Cruse, P., Foord, R.: A five-year prospective study of 23,649 surgical wounds. Arch. Surg. 107(2), 206–210 (1973)
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
Harman, M., Burke, E., Clark, J.A., Yao, X.: Dynamic adaptive search based software engineering (keynote paper). In: ESEM, pp. 1–8 (2012)
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
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
Kiczales, G.: Aspect oriented programming. ACM SIGPLAN Not. 32(10), 162 (1997). Table of contents includes this invited talk
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
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
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
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
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
Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming (2008). http://www.gp-field-guide.org.uk
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
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
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
Swan, J., et al.: Gen-O-Fix: An embeddable framework for dynamic adaptive genetic improvement programming. Technical report CSM-195, University of Stirling (2014)
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
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Langdon, W.B., White, D.R., Harman, M., Jia, Y., Petke, J. (2016). API-Constrained Genetic Improvement. In: Sarro, F., Deb, K. (eds) Search Based Software Engineering. SSBSE 2016. Lecture Notes in Computer Science(), vol 9962. Springer, Cham. https://doi.org/10.1007/978-3-319-47106-8_16
Download citation
DOI: https://doi.org/10.1007/978-3-319-47106-8_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47105-1
Online ISBN: 978-3-319-47106-8
eBook Packages: Computer ScienceComputer Science (R0)