Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Java Performance Testing For The Masses
Název práce v češtině: Testování výkonu Javy pro každého
Název v anglickém jazyce: Java Performance Testing For The Masses
Klíčová slova: Java ; performance ; SPL ; JMH ; unit testing ; software development process
Klíčová slova anglicky: Java ; performance ; SPL ; JMH ; unit testing ; software development process
Akademický rok vypsání: 2016/2017
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: prof. Ing. Petr Tůma, Dr.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 22.02.2017
Datum zadání: 22.02.2017
Datum potvrzení stud. oddělením: 04.05.2017
Datum a čas obhajoby: 12.06.2018 09:00
Datum odevzdání elektronické podoby:10.05.2018
Datum odevzdání tištěné podoby:11.05.2018
Datum proběhlé obhajoby: 12.06.2018
Oponenti: doc. RNDr. Petr Hnětynka, Ph.D.
 
 
 
Zásady pro vypracování
Although methods and tools for unit testing of performance exist for over a decade, evidence suggests unit testing of performance is not nearly as common as unit testing of functionality. The goal of the thesis is to investigate testing practices used by open-source developers in Java and design a tool for easy automation of performance testing over time in common Java development processes. The tool should:
- integrate with common build systems, e.g. Maven,
- integrate with common Java benchmarking frameworks, e.g. JMH,
- present measurements in a user friendly manner, e.g. in a source or documentation browser,
- rely on the SPL formalism for evaluating measurements,
- remain simple to use in small applications.
The final tool will be tested on an open-source project of choice.
Seznam odborné literatury
[1] G. Kick, C. Decker, P. Duffin, and et al., Caliper. 2015.
[2] L. Bulej, T. Bureš, J. Keznikl, A. Koubková, A. Podzimek, and P. Tůma, “Capturing Performance Assumptions Using Stochastic Performance Logic,” in Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, New York, NY, USA, 2012, pp. 311–322.
[3] V. Bergmann, ContiPerf. 2012.
[4] D. G. Feitelson, E. Frachtenberg, and K. L. Beck, “Development and Deployment at Facebook,” IEEE Internet Computing, vol. 17, no. 4, pp. 8–17, 2013.
[5] M. Linares-Vásquez, C. Vendome, Q. Luo, and D. Poshyvanyk, “How developers detect and fix performance bottlenecks in Android apps,” in 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2015, pp. 352–361.
[6] Oracle Corporation, Project Kenai, and Cognisync, Japex Micro-benchmark Framework. 2014.
[7] Oracle Corporation, Java Microbenchmarking Harness (JMH). 2016.
[8] JUnit, “JUnit,” 2006. [Online]. Available: http://junit.org/. [Accessed: 14-Oct-2016].
[9] Clarkware Consulting, Inc., JUnitPerf. 2009.
[10] V. Horký, F. Haas, J. Kotrč, M. Lacina, and P. Tůma, “Performance Regression Unit Testing: A Case Study,” in Computer Performance Engineering, M. S. Balsamo, W. J. Knottenbelt, and A. Marin, Eds. Springer Berlin Heidelberg, 2013, pp. 149–163.
[11] J. Kroß, F. Willnecker, T. Zwickl, and H. Krcmar, “PET: Continuous Performance Evaluation Tool,” in Proceedings of the 2Nd International Workshop on Quality-Aware DevOps, New York, NY, USA, 2016, pp. 42–43.
[12] J. D. McGregor, “Test early, test often.,” The Journal of Object Technology, vol. 6, no. 4, p. 7, 2007.
[13] L. Bulej et al., “Unit testing performance with Stochastic Performance Logic,” Autom Softw Eng, pp. 1–49, 2016.
Oracle Corporation, Java Microbenchmarking Harness (JMH). 2016.
 
Univerzita Karlova | Informační systém UK