Abstract
Experiments are used in many modern systems to optimize their operation. Such experiment-driven systems are used in various fields, such as web-based systems, smart-* systems, and various self-adaptive systems. There is a class of these systems that derive their data from running simulations or another type of computation, such as in digital twins, online planning using probabilistic model-checking, or performance benchmarking. To obtain statistically significant results, these systems must repeat the experiments multiple times. As a result, they consume extensive computation resources. The GraalVM benchmarking project detects performance changes in the GraalVM compiler. However, the benchmarking project has an extensive usage of computational resources and time. The doctoral research project proposed in this paper focuses on controlling the experiments with the goal of reducing computation costs. The plan is to use statistical and machine learning approaches to predict the outcomes of experiments and select the experiments yielding more useful information. As an evaluation, we are applying these methods to the GraalVM benchmarking project; the initial results confirm that these methods have the potential to significantly reduce computation costs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abdullah, M., Bulej, L., Bures, T., Hnetynka, P., Horky, V., Tuma, P.: Reducing experiment costs in automated software performance regression detection. In: 2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Gran Canaria, Spain, pp. 56–59. IEEE (2022). https://doi.org/10.1109/SEAA56994.2022.00017
Ali, S., Hafeez, Y., Hussain, S., Yang, S.: Enhanced regression testing technique for agile software development and continuous integration strategies. Software Qual. J. 28(2), 397–423 (2019). https://doi.org/10.1007/s11219-019-09463-4
ALShoaibi, D., Gupta, H., Mendelson, M., Jenhani, I., Mrad, A.B., Mkaouer, M.W.: Learning to characterize performance regression introducing code changes. In: Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, Virtual Event, pp. 1590–1597. ACM (2022). https://doi.org/10.1145/3477314.3507150
Altiero, F., Colella, G., Corazza, A., Di Martino, S., Peron, A., Starace, L.L.L.: Change-aware regression test prioritization using genetic algorithms. In: 2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Gran Canaria, Spain, pp. 125–132. IEEE (2022). https://doi.org/10.1109/SEAA56994.2022.00028
Barrett, E., Bolz-Tereick, C.F., Killick, R., Mount, S., Tratt, L.: Virtual machine warmup blows hot and cold. Proc. ACM Program. Lang. 1(OOPSLA), 1–27 (2017). https://doi.org/10.1145/3133876
Bukh, P.N.D.: Review of the art of computer systems performance analysis, techniques for experimental design, measurement, simulation and modeling. Interfaces 22(4), 113–115 (1992)
Bulej, L., et al.: Unit testing performance with stochastic performance logic. Autom. Softw. Eng. 24(1), 139–187 (2016). https://doi.org/10.1007/s10515-015-0188-0
Bulej, L., HorkĂ½, V., Tůma, P.: Tracking Performance of Graal on Public Benchmarks, p. 7258108 Bytes (2021). https://doi.org/10.6084/M9.FIGSHARE.14447148. Artwork Size: 7258108 Bytes Publisher: figshare
Costa, D., Bezemer, C.P., Leitner, P., Andrzejak, A.: What’s wrong with my benchmark results? Studying bad practices in JMH benchmarks. IEEE Trans. Softw. Eng. 47(7), 1452–1467 (2021). https://doi.org/10.1109/TSE.2019.2925345
De Oliveira, A.B., Fischmeister, S., Diwan, A., Hauswirth, M., Sweeney, P.F.: Perphecy: performance regression test selection made simple but effective. In: 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST), Tokyo, pp. 103–113. IEEE (2017). https://doi.org/10.1109/ICST.2017.17
Deng, A., Lu, J., Chen, S.: Continuous monitoring of A/B tests without pain: optional stopping in Bayesian testing. In: 2016 IEEE International Conference on Data Science and Advanced Analytics (DSAA), Montreal, QC, Canada, pp. 243–252. IEEE (2016). https://doi.org/10.1109/DSAA.2016.33
Eimer, T., Biedenkapp, A., Reimer, M., Adriansen, S., Hutter, F., Lindauer, M.: DACBench: a benchmark library for dynamic algorithm configuration. In: Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence, pp. 1668–1674. International Joint Conferences on Artificial Intelligence Organization, Montreal, Canada (2021). https://doi.org/10.24963/ijcai.2021/230
Georges, A., Eeckhout, L., Buytaert, D.: Java performance evaluation through rigorous replay compilation. In: Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, Nashville, TN, USA, pp. 367–384. ACM (2008). https://doi.org/10.1145/1449764.1449794
Gerostathopoulos, I., Plasil, F., Prehofer, C., Thomas, J., Bischl, B.: Automated online experiment-driven adaptation-mechanics and cost aspects. IEEE Access 9, 58079–58087 (2021). https://doi.org/10.1109/ACCESS.2021.3071809
Grano, G., Laaber, C., Panichella, A., Panichella, S.: Testing with fewer resources: an adaptive approach to performance-aware test case generation. IEEE Trans. Software Eng. 47(11), 2332–2347 (2021). https://doi.org/10.1109/TSE.2019.2946773
Gupta, S., et al.: Top challenges from the first practical online controlled experiments summit. ACM SIGKDD Explor. Newsl. 21(1), 20–35 (2019). https://doi.org/10.1145/3331651.3331655
Habib, M.K., Ayankoso, S.A., Nagata, F.: Data-driven modeling: concept, techniques, challenges and a case study. In: 2021 IEEE International Conference on Mechatronics and Automation (ICMA), Takamatsu, Japan, pp. 1000–1007. IEEE (2021). https://doi.org/10.1109/ICMA52036.2021.9512658
Johari, R., Koomen, P., Pekelis, L., Walsh, D.: Always valid inference: continuous monitoring of A/B tests. Oper. Res. 70(3), 1806–1821 (2022). https://doi.org/10.1287/opre.2021.2135
Laaber, C., Basmaci, M., Salza, P.: Predicting unstable software benchmarks using static source code features. Empir. Softw. Eng. 26(6), 1–53 (2021). https://doi.org/10.1007/s10664-021-09996-y
Moghadam, M.H., Saadatmand, M., Borg, M., Bohlin, M., Lisper, B.: An autonomous performance testing framework using self-adaptive fuzzy reinforcement learning. Softw. Qual. J. (6), 1–33 (2021). https://doi.org/10.1007/s11219-020-09532-z
Pecorelli, F., Grano, G., Palomba, F., Gall, H.C., De Lucia, A.: Toward Granular Automatic Unit Test Case Generation (2022). https://doi.org/10.48550/ARXIV.2204.05561
Quin, F., Weyns, D.: SEAByTE: a self-adaptive micro-service system artifact for automating A/B testing. In: Proceedings of the 17th Symposium on Software Engineering for Adaptive and Self-Managing Systems, Pittsburgh, Pennsylvania, pp. 77–83. ACM (2022). https://doi.org/10.1145/3524844.3528081
Reichelt, D.G., Kuhne, S., Hasselbring, W.: PeASS: a tool for identifying performance changes at code level. In: 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), San Diego, CA, USA, pp. 1146–1149. IEEE (2019). https://doi.org/10.1109/ASE.2019.00123
Rothermel, G., Untch, R., Chu, C., Harrold, M.: Prioritizing test cases for regression testing. IEEE Trans. Software Eng. 27(10), 929–948 (2001). https://doi.org/10.1109/32.962562
Saputri, T.R.D., Lee, S.W.: The application of machine learning in self-adaptive systems: a systematic literature review. IEEE Access 8, 205948–205967 (2020). https://doi.org/10.1109/ACCESS.2020.3036037
Sheskin, D.J.: Handbook of Parametric and Nonparametric Statistical Procedures, 5 edn. Chapman and Hall/CRC, Boca Raton (2011). https://doi.org/10.1201/9780429186196
Smith, C.U.: Software performance antipatterns in cyber-physical systems. In: Proceedings of the ACM/SPEC International Conference on Performance Engineering, Edmonton, AB, Canada, pp. 173–180. ACM (2020). https://doi.org/10.1145/3358960.3379138
Traini, L., Cortellessa, V., Di Pompeo, D., Tucci, M.: Towards effective assessment of steady state performance in Java software: are we there yet? Empir. Softw. Eng. 28(1), 13 (2023). https://doi.org/10.1007/s10664-022-10247-x
Vemulapati, J., Khastgir, A.S., Savalgi, C.: AI based performance benchmarking & analysis of big data and cloud powered applications: an in depth view. In: Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering, Mumbai, India, pp. 103–109. ACM (2019). https://doi.org/10.1145/3297663.3309676
Acknowledgment
This work has been partially supported by the EU project ExtremeXP grant agreement 101093164, partially by Charles University institutional funding SVV 260698/2023, and partially by the Charles University Grant Agency project 408622.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Abdullah, M. (2023). Controlling Automatic Experiment-Driven Systems Using Statistics and Machine Learning. In: Batista, T., Bureš, T., Raibulet, C., Muccini, H. (eds) Software Architecture. ECSA 2022 Tracks and Workshops. ECSA 2022. Lecture Notes in Computer Science, vol 13928. Springer, Cham. https://doi.org/10.1007/978-3-031-36889-9_9
Download citation
DOI: https://doi.org/10.1007/978-3-031-36889-9_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-36888-2
Online ISBN: 978-3-031-36889-9
eBook Packages: Computer ScienceComputer Science (R0)