Grow and Serve: Growing Django Citation Services Using SBSE

  • Yue JiaEmail author
  • Mark Harman
  • William B. Langdon
  • Alexandru Marginean
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9275)


We introduce a ‘grow and serve’ approach to Genetic Improvement (GI) that grows new functionality as a web service running on the Django platform. Using our approach, we successfully grew and released a citation web service. This web service can be invoked by existing applications to introduce a new citation counting feature. We demonstrate that GI can grow genuinely useful code in this way, so we deployed the SBSE-grown web service into widely-used publications repositories, such as the GP bibliography. In the first 24 hours of deployment alone, the service was used to provide GP bibliography citation data 369 times from 29 countries.


Genetic Improvement Fitness Component Citation Information Python Code Test Harness 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Arcuri, A., Yao, X.: A novel co-evolutionary approach to automatic software bug fixing. In: CEC, pp. 162–168 (2008)Google Scholar
  2. 2.
    Barr, E.T., Harman, M., Jia, Y., Marginean, A., Petke, J.: Automated software transplantation. In: ISSTA (2015), to appearGoogle Scholar
  3. 3.
    Bruce, B.R., Petke, J., Harman, M.: Reducing energy consumption using genetic improvement. In: GECCO (2015, to appear)Google Scholar
  4. 4.
    Harman, M., Jones, B.F.: Search based software engineering. IST 43(14), 833–839 (2001)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) 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)Google Scholar
  7. 7.
    Langdon, W., Harman, M.: Evolving a CUDA kernel from an nVidia template. In: CEC, pp. 1–8, July 2010Google Scholar
  8. 8.
    Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. TEC 19(1), 118–135 (2015)Google Scholar
  9. 9.
    Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: Genprog: a generic method for automatic software repair. TSE 38(1), 54–72 (2012)Google Scholar
  10. 10.
    Li, D., Tran, A.H., Halfond, W.G.J.: Making web applications more energy efficient for OLED smartphones. In: ICSE, pp. 527–538 (2014)Google Scholar
  11. 11.
    Orlov, M., Sipper, M.: Flight of the FINCH through the Java wilderness. TEC 15(2), 166–182 (2011)Google Scholar
  12. 12.
    Petke, J., Harman, M., Langdon, W.B., Weimer, W.: Using genetic improvement and 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.) EuroGP 2014. LNCS, vol. 8599, pp. 137–149. Springer, Heidelberg (2014) Google Scholar
  13. 13.
    Schulte, E., Dorn, J., Harding, S., Forrest, S., Weimer, W.: Post-compiler software optimization for reducing energy. In: ASPLOS, pp. 639–652 (2014)Google Scholar
  14. 14.
    Sitthi-amorn, P., Modly, N., Weimer, W., Lawrence, J.: Genetic programming for shader simplification. ACM TOG 30(6), 152:1–152:11 (2011)CrossRefGoogle Scholar
  15. 15.
    White, D.R., Arcuri, A., Clark, J.A.: Evolutionary improvement of programs. TEC 15(4), 515–538 (2011)Google Scholar
  16. 16.
    Wu, F., Weimer, W., Harman, M., Jia, Y., Krinke, J.: Deep parameter optimisation. In: GECCO (2015, to appear)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Yue Jia
    • 1
    Email author
  • Mark Harman
    • 1
  • William B. Langdon
    • 1
  • Alexandru Marginean
    • 1
  1. 1.CREST, Department of Computer ScienceUniversity College LondonLondonUK

Personalised recommendations