Skip to main content

Amortised Optimisation of Non-functional Properties in Production Environments

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9275))

Abstract

Search Based Software Engineering has high potential for optimising non-functional properties such as execution time or power consumption. However, many non-functional properties are dependent not only on the software system under consideration but also the environment that surrounds the system. This necessitates a support for online, in situ optimisation. This paper introduces the novel concept of amortised optimisation which allows such online optimisation. The paper also presents two case studies: one that seeks to optimise JIT compilation, and another to optimise a hardware dependent algorithm. The results show that, by using the open source libraries we provide, developers can improve the speed of their Python script by up to 8.6 % with virtually no extra effort, and adapt a hardware dependent algorithm automatically for unseen CPUs.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    Piacin is made available as open source software at https://bitbucket.org/ntrolls/piacin.

  2. 2.

    NIA\(^3\)CIN is made available as open source software at https://bitbucket.org/ntrolls/niacin.

References

  1. CPUBoss: a benchmark comparison between Xeon W3680 and Core-i7 3820QM. http://cpuboss.com/cpus/Intel-Xeon-W3680-vs-Intel-Core-i7-3820QM

  2. Afzal, W., Torkar, R., Feldt, R.: A systematic review of search-based testing for non-functional system properties. Inf. Softw. Technol. 51(6), 957–976 (2009)

    Article  Google Scholar 

  3. Bolz, C.F., Cuni, A., Fijalkowski, M., Rigo, A.: Tracing the meta-level: Pypy’s tracing JIT compiler. In: Proceedings of the 4th Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems, ICOOOLPS 2009, pp. 18–25. ACM, New York (2009)

    Google Scholar 

  4. Briand, L.C., Labiche, Y., Shousha, M.: Stress testing real-time systems with genetic algorithms. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2005, pp. 1021–1028 (2005)

    Google Scholar 

  5. Budynek, J., Bonabeau, E., Shargel, B.: Evolving computer intrusion scripts for vulnerability assessment and log analysis. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2005, pp. 1905–1912 (2005)

    Google Scholar 

  6. Canfora, G., Penta, M.D., Esposito, R., Villani, M.L.: An approach for QoS-aware service composition based on genetic algorithms. In: Proceedings of the 2005 Conference on Genetic and Evolutionary Computation (GECCO 2005), pp. 1069–1075. ACM, Washington, D.C., 25–29 June 2005

    Google Scholar 

  7. Eves, H.: Elementary Matrix Theory. Dover Publication, New York (1980)

    MATH  Google Scholar 

  8. Groß, H.G.: An evaluation of dynamic, optimisation-based worst-case execution time analysis. In: ITPC 2003: Proceedings of the International Conference on Information Technology: Prospects and Challenges in the 21st Century, Kathmandu, pp. 8–14 (2003)

    Google Scholar 

  9. Grosso, C.D., Antoniol, G., Penta, M.D., Galinier, P., Merlo, E.: Improving network applications security: a new heuristic to generate stress testing data. In: Proceedings of the 2005 Conference on Genetic and Evolutionary Computation (GECCO 2005), pp. 1037–1043. ACM, Washington, D.C., 25–29 June 2005

    Google Scholar 

  10. Grosso, C.D., Antoniol, G., Merlo, E., Galinier, P.: Detecting buffer overflow via automatic test input data generation. Comput. Oper. Res. 35(10), 3125–3143 (2008)

    Article  Google Scholar 

  11. Hosek, P., Cadar, C.: Safe software updates via multi-version execution. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE 2013, pp. 612–621. IEEE Press, Piscataway (2013)

    Google Scholar 

  12. Kruse, P.M., Wegener, J., Wappler, S.: A highly configurable test system for evolutionary black-box testing of embedded systems. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2009, pp. 1545–1552 (2009)

    Google Scholar 

  13. Langdon, W., Harman, M.: Optimizing existing software with genetic programming. Trans. Evol. Comput. 19(1), 118–135 (2015)

    Article  Google Scholar 

  14. Penta, M.D., Canfora, G., Esposito, G., Mazza, V., Bruno, M.: Search-based testing of service level agreements. In: Proceedings of the Genetic and Evolutionary Computation, GECCO 2007, pp. 1090–1097 (2007)

    Google Scholar 

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

  16. Pohlheim, H., Wegener, J.: Testing the temporal behavior of real-time software modules using extended evolutionary algorithms. In: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 1795–1802, July 1999

    Google Scholar 

  17. Torres, M.: Pypy Speed Centre. http://speed.pypy.org/

  18. Wegener, J., Grochtmann, M.: Verifying timing constraints of real-time systems by means of evolutionary testing. Real-Time Syst. 15(3), 275–298 (1998)

    Article  Google Scholar 

  19. Wu, F., Weimer, W., Harman, M., Jia, Y., Krinke, J.: Deep parameter optimisation. In: Genetic and Evolutionary Computation Conference (2015, to appear)

    Google Scholar 

Download references

Acknowledgement

We would like to thank Carl Friedrich Bolz and Laurence Tratt for the informative discussion about the technical details of pypy.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shin Yoo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Yoo, S. (2015). Amortised Optimisation of Non-functional Properties in Production Environments. In: Barros, M., Labiche, Y. (eds) Search-Based Software Engineering. SSBSE 2015. Lecture Notes in Computer Science(), vol 9275. Springer, Cham. https://doi.org/10.1007/978-3-319-22183-0_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22183-0_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22182-3

  • Online ISBN: 978-3-319-22183-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics