Abstract
The earlier performance problems are detected, the easier they can be solved. Performance evaluations during the implementation phase of software projects cause overhead for developers. Unless performance evaluations are highly automated, they are not adopted in practice. This paper presents an approach to introduce performance awareness in Java Enterprise Edition (EE) integrated development environments (IDE) by providing automated model-based performance evaluations. The approach predicts response times of Java EE component operations and provides feedback to the developer within the IDE. Response time predictions are performed based on the component implementation and the response time of required services. The source code of the component to be evaluated is parsed and represented as an abstract syntax structure. This structure is then converted into a performance model representing the control flow of component operations and calls to required services. The response time of external calls is parameterized using monitoring data acquired by application performance monitoring (APM) tools from production systems. Developers are provided with immediate feedback, if the estimated response time of a component operation exceeds a predefined threshold.
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 subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Becker, S.: Coupled Model Transformations for QoS Enabled Component-Based Software Design. Karlsruhe Series on Software Quality, Universitätsverlag Karlsruhe (2008)
Brunelière, H., Cabot, J., Dupé, G., Madiot, F.: MoDisco: A model-driven reverse engineering framework. Information and Software Technology 56(8), 1012–1032 (2014)
Brunnert, A., Vögele, C., Danciu, A., Pfaff, M., Mayer, M., Krcmar, H.: Performance management work. Business & Information Systems Engineering 6(3), 177–179 (2014)
Bulej, L., Bureš, T., Keznikl, J., Koubková, A., Podzimek, A., Tůma, P.: Capturing performance assumptions using stochastic performance logic. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering (ICPE 2012), pp. 311–322. ACM (2012)
Bureš, T., Horký, V., Kit, M., Marek, L., Tůma, P.: Towards performance-aware engineering of autonomic component ensembles. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 131–146. Springer, Heidelberg (2014)
Danciu, A., Brunnert, A., Krcmar, H.: Towards performance awareness in Java EE development environments. In: Becker, S., Hasselbring, W., van Hoorn, A., Kounev, S., Reussner, R. (eds.) Proceedings of the Symposium on Software Performance: Descartes/Kieker/Palladio Days 2014, pp. 152–159, November 2014
DeMichiel, L., Shannon, B.: Java platform, enterprise edition (Java EE) specification, v7 (2013)
Heger, C., Happe, J., Farahbod, R.: Automated root cause isolation of performance regressions during software development. In: Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, pp. 27–38. ICPE 2013. ACM, New York (2013)
van Hoorn, A., Waller, J., Hasselbring, W.: Kieker: A framework for application performance monitoring and dynamic software analysis. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, pp. 247–248. ICPE 2012. ACM, New York (2012)
Horký, V., Libic, P., Marek, L., Steinhauser, A., Tůma, P.: Utilizing performance unit tests to increase performance awareness. In: Proceedings of the 6th International Conference on Performance Engineering (ICPE 2015), pp. 289–300. ACM (2015)
Koziolek, H.: Performance evaluation of component-based software systems: A survey. Performance Evaluation 67(8), 634–658 (2010). special Issue on Software and Performance
Krogmann, K., Kuperberg, M., Reussner, R.: Using genetic search for reverse engineering of parametric behaviour models for performance prediction. IEEE Transactions on Software Engineering 36(6), 865–877 (2010)
OMG: Software metrics meta-model (2012, accessed at 14–10-21)
Reussner, R., Becker, S., Happe, J., Koziolek, H., Krogmann, K., Kuperberg, M.: The Palladio Component Model. Universität Karlsruhe (2007)
SPEC: SPECjEnterprise2010. http://www.spec.org/jEnterprise2010/ (2012, accessed at 12–04-07)
Tůma, P.: Performance awareness: keynote abstract. In: Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering, pp. 135–136. ICPE 2014. ACM, New York (2014)
Weiss, C., Westermann, D., Heger, C., Moser, M.: Systematic performance evaluation based on tailored benchmark applications. In: Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, pp. 411–420. ICPE 2013. ACM, New York (2013)
Wert, A., Happe, J., Westermann, D.: Integrating software performance curves with the Palladio Component Model. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, pp. 283–286. ICPE 2012. ACM, New York (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Danciu, A., Chrusciel, A., Brunnert, A., Krcmar, H. (2015). Performance Awareness in Java EE Development Environments. In: Beltrán, M., Knottenbelt, W., Bradley, J. (eds) Computer Performance Engineering. EPEW 2015. Lecture Notes in Computer Science(), vol 9272. Springer, Cham. https://doi.org/10.1007/978-3-319-23267-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-23267-6_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-23266-9
Online ISBN: 978-3-319-23267-6
eBook Packages: Computer ScienceComputer Science (R0)