AI-driven Java Performance Testing: Balancing Result Quality with Testing Time

Performance testing aims at uncovering efficiency issues of software systems. In order to be both effective and practical, the design of a performance test must achieve a reasonable trade-off between result quality and testing time. This becomes particularly challenging in Java context, where the so...

Full description

Saved in:
Bibliographic Details
Published inIEEE/ACM International Conference on Automated Software Engineering : [proceedings] pp. 443 - 454
Main Authors Traini, Luca, Di Menna, Federico, Cortellessa, Vittorio
Format Conference Proceeding
LanguageEnglish
Published ACM 27.10.2024
Subjects
Online AccessGet full text
ISSN2643-1572
DOI10.1145/3691620.3695017

Cover

Abstract Performance testing aims at uncovering efficiency issues of software systems. In order to be both effective and practical, the design of a performance test must achieve a reasonable trade-off between result quality and testing time. This becomes particularly challenging in Java context, where the software undergoes a warm-up phase of execution, due to just-in-time compilation. During this phase, performance measurements are subject to severe fluctuations, which may adversely affect quality of performance test results. Both practitioners and researchers have proposed approaches to mitigate this issue. Practitioners typically rely on a fixed number of iterated executions that are used to warm-up the software before starting to collect performance measurements (state-of-practice). Researchers have developed techniques that can dynamically stop warm-up iterations at runtime (state-of-the-art). However, these approaches often provide suboptimal estimates of the warm-up phase, resulting in either insufficient or excessive warm-up iterations, which may degrade result quality or increase testing time. There is still a lack of consensus on how to properly address this problem. Here, we propose and study an AI-based framework to dynamically halt warm-up iterations at runtime. Specifically, our framework leverages recent advances in AI for Time Series Classification (TSC) to predict the end of the warm-up phase during test execution. We conduct experiments by training three different TSC models on half a million of measurement segments obtained from JMH microbenchmark executions. We find that our framework significantly improves the accuracy of the warm-up estimates provided by state-of-practice and state-of-the-art methods. This higher estimation accuracy results in a net improvement in either result quality or testing time for up to +35.3% of the microbenchmarks. Our study highlights that integrating AI to dynamically estimate the end of the warm-up phase can enhance the cost-effectiveness of Java performance testing.CCS CONCEPTS*Software and its engineering → Software performance; Software testing and debugging.
AbstractList Performance testing aims at uncovering efficiency issues of software systems. In order to be both effective and practical, the design of a performance test must achieve a reasonable trade-off between result quality and testing time. This becomes particularly challenging in Java context, where the software undergoes a warm-up phase of execution, due to just-in-time compilation. During this phase, performance measurements are subject to severe fluctuations, which may adversely affect quality of performance test results. Both practitioners and researchers have proposed approaches to mitigate this issue. Practitioners typically rely on a fixed number of iterated executions that are used to warm-up the software before starting to collect performance measurements (state-of-practice). Researchers have developed techniques that can dynamically stop warm-up iterations at runtime (state-of-the-art). However, these approaches often provide suboptimal estimates of the warm-up phase, resulting in either insufficient or excessive warm-up iterations, which may degrade result quality or increase testing time. There is still a lack of consensus on how to properly address this problem. Here, we propose and study an AI-based framework to dynamically halt warm-up iterations at runtime. Specifically, our framework leverages recent advances in AI for Time Series Classification (TSC) to predict the end of the warm-up phase during test execution. We conduct experiments by training three different TSC models on half a million of measurement segments obtained from JMH microbenchmark executions. We find that our framework significantly improves the accuracy of the warm-up estimates provided by state-of-practice and state-of-the-art methods. This higher estimation accuracy results in a net improvement in either result quality or testing time for up to +35.3% of the microbenchmarks. Our study highlights that integrating AI to dynamically estimate the end of the warm-up phase can enhance the cost-effectiveness of Java performance testing.CCS CONCEPTS*Software and its engineering → Software performance; Software testing and debugging.
Author Di Menna, Federico
Cortellessa, Vittorio
Traini, Luca
Author_xml – sequence: 1
  givenname: Luca
  surname: Traini
  fullname: Traini, Luca
  email: luca.traini@univaq.it
  organization: University of L'Aquila,Italy
– sequence: 2
  givenname: Federico
  surname: Di Menna
  fullname: Di Menna, Federico
  email: federico.dimenna@graduate.univaq.it
  organization: University of L'Aquila,Italy
– sequence: 3
  givenname: Vittorio
  surname: Cortellessa
  fullname: Cortellessa, Vittorio
  email: vittorio.cortellessa@univaq.it
  organization: University of L'Aquila,Italy
BookMark eNpNkEtPwzAQhA0CiVJ65sLBfyDF68QvbqUqUFTxUu7RJrbBUpJWSdqq_55Ag8RpRjsze_guyVm9rh0h18CmAIm4jaUBydm0V8FAnZCJUUYnjCngiVanZMRlEkcgFL8gk7YNOeutkAByRF5my8g2Yedq-ow7pG-u8eumwrpwNHVtF-rPO3qPZX_oLf1w7bbs6PsWy9Ad6D50X381mobKXZFzj2XrJoOOSfqwSOdP0er1cTmfrSLk2nSRl0muMRexLxgaL73yhZAFcoa5URaEcLG1CJpbNNYnCEYzx3lRgLJKx2PCjm-39QYPeyzLbNOECptDBiz7oZINVLKBSj-5OU6Cc-5fW8nf-BtGXF-E
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
ADTOC
UNPAY
DOI 10.1145/3691620.3695017
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
Accès UT - IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
Unpaywall for CDI: Periodical Content
Unpaywall
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
– sequence: 2
  dbid: UNPAY
  name: Unpaywall
  url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/
  sourceTypes: Open Access Repository
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798400712487
EISSN 2643-1572
EndPage 454
ExternalDocumentID 10.1145/3691620.3695017
10765017
Genre orig-research
GroupedDBID 6IE
6IF
6IH
6IK
6IL
6IM
6IN
6J9
AAJGR
AAWTH
ABLEC
ACREN
ADYOE
ADZIZ
AFYQB
ALMA_UNASSIGNED_HOLDINGS
AMTXH
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
ADTOC
UNPAY
ID FETCH-LOGICAL-a289t-f64b8ab53fc0a9f6f7fc56ca20ab97d155e3dda182da9df4a1980e22cc17d783
IEDL.DBID UNPAY
IngestDate Sun Oct 26 05:55:17 EDT 2025
Wed Jan 15 06:20:39 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Language English
License cc-by
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a289t-f64b8ab53fc0a9f6f7fc56ca20ab97d155e3dda182da9df4a1980e22cc17d783
OpenAccessLink https://proxy.k.utb.cz/login?url=https://doi.org/10.1145/3691620.3695017
PageCount 12
ParticipantIDs unpaywall_primary_10_1145_3691620_3695017
ieee_primary_10765017
PublicationCentury 2000
PublicationDate 2024-Oct.-27
PublicationDateYYYYMMDD 2024-10-27
PublicationDate_xml – month: 10
  year: 2024
  text: 2024-Oct.-27
  day: 27
PublicationDecade 2020
PublicationTitle IEEE/ACM International Conference on Automated Software Engineering : [proceedings]
PublicationTitleAbbrev ASE
PublicationYear 2024
Publisher ACM
Publisher_xml – name: ACM
SSID ssib057256116
ssj0051577
Score 2.3142426
Snippet Performance testing aims at uncovering efficiency issues of software systems. In order to be both effective and practical, the design of a performance test...
SourceID unpaywall
ieee
SourceType Open Access Repository
Publisher
StartPage 443
SubjectTerms Accuracy
Artificial intelligence
Java
JMH
Microbenchmarking
Runtime
Software testing
Steady-state
Testing
Time series analysis
Time Series Classification
Training
Tuning
SummonAdditionalLinks – databaseName: IEEE Electronic Library (IEL)
  dbid: RIE
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LSwMxEA62F_VSHxXrixy8eNi6m80mG28qSi1YilTorWTz8GDZlrqr1F_vZB9tEQRvgV3CkMlkvknmm0Ho0iqrwdO4p0HfelSBpSfUp55UIDYTia9jx0Z-HrDeK-2Po3FFVi-4MMaYIvnMdN2weMvXM5W7qzKwcA6AIuAN1OAxK8la9eaJODjvwGGd8hgGP815VcsnoNF1yAAIEYhRmXBTVM1UdtF2ns7l8ktOpxt-5bGFBrVEZTrJezfPkq76_lWs8d8i76H2msKHhyvntI-2THqAWnUPB1yZ9CEa3D55euGOPNyXnxIP10QCPHIVONK3G3zn8h8VDPGL-cinGS4rbyyxu8Wtf8OOTdJGo8eH0X3Pq3oseBJCrcyzjCaxTKLQKl8Kyyy3KmJKEl8mgmtAGybUWkIUoqXQlspAxL4hRKmAax6HR6iZzlJzjHAYiYAECeU6tJQB0GBEAzyQvhEAIYnooLZbnsm8rKIxqVemg65WKtj46OjS0aTS2qTS2skfc5yiHQJgw_kUws9QM1vk5hzAQpZcFJvkB6Lnu8o
  priority: 102
  providerName: IEEE
Title AI-driven Java Performance Testing: Balancing Result Quality with Testing Time
URI https://ieeexplore.ieee.org/document/10765017
https://doi.org/10.1145/3691620.3695017
UnpaywallVersion publishedVersion
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NS8NAFHxoexAvKlZUtOzBi4fUTbLZZL1VsdSCpUgL9RT2I-vBEktNlPrrfWvTD8SD3gJ5JMuEZOZld2YBLqy2BpnGTQ1S6zGNb7pilHlS47C5UNQkzo380OfdEeuNo3EVkuS8MJvz9z6LrkKO-iXA1pLjxfx4G-o8QtFdg_qoP2g_VWE9v1RWu6Xswk6ZT-X8Q04mG8TR2YPu8paL9SIvrbJQLf35I43xD2Pah8banUcGK945gK0sP4R--94zM_fpIj35LslgbQggQ5ekkT9fkxu3jlHjIXnM3spJQRYJGnPi_sYuy4hzhTRg2Lkb3na9aq8ET2LLVHiWM5VIFYVWUykst7HVEdcyoFKJ2KBqyEJjJHYTRgpjmfRFQrMg0NqPTZyER1DLX_PsGEgYCT_wFYtNaBlHwcADgzQvaSZQCgbiBBoO2HS6SMNIsX_kDoYTuFwhvXHS2Z6jtIIsrSA7_UftGdSKWZmdI_cXqvlt0GtWT_8LcHirBA
linkProvider Unpaywall
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8QwEB58HNSLrxXf5uDFQ9c2zWPjTUVZX4vICt5KmocHlyraKvrrnWxbFUHwFmgJQyaT-SaZbwZg1xtv0dOEp8HYR8ygpecsZpE2KLZQeWx7gY18NRD9W3Z-x-8asvqYC-OcGyefuW4Yjt_y7aOpwlUZWrhEQJHISZjmjDFe07Xa7cMluu8koJ36IEZPLWVTzSdhfD8VCIUoRqlChUmadipzMFMVT_r9TY9GPzzL6TwMWpnqhJKHblXmXfPxq1zjv4VegM43iY9cf7mnRZhwxRLMt10cSGPUyzA4PIvsczj0yLl-1eT6m0pAhqEGR3F_QI5CBqTBIblxL9WoJHXtjXcS7nHb30jgk3RgeHoyPO5HTZeFSGOwVUZesLync556E2vlhZfecGE0jXWupEW84VJrNcYhVivrmU5UL3aUGpNIK3vpCkwVj4VbBZJyldAkZ9KmngmEGoJaBAg6dgpBJFVr0AnLkz3VdTSydmXWYO9LBT8-BsI0zxqtZY3W1v-YYwdm-sOry-zybHCxAbMUoUfwMFRuwlT5XLkthA5lvj3eMJ-oGb8X
linkToUnpaywall http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NS8NAFHxoexAvKlasqOzBi4fUfOxust6qWGrBUqSFegr7kfVgSUtNlPrrfUvTD8SD3gJ5JMuEZOZld2YBrqy2BpnGTQ361qMa33RFfepJjcPmQvkmcW7kpz7vjmhvzMZVSJLzwmzP3weU3UQc9UuIrSXHiwXxLtQ5Q9Fdg_qoP2i_VGE9v1RWu6Xsw16Zz-TiU04mW8TROYDu6pbL9SJvrbJQLf31I43xD2M6hMbGnUcGa945gp0sP4Z--9Ezc_fpIj35IclgYwggQ5ekkb_ekju3jlHjIXnO3stJQZYJGgvi_sauyohzhTRg2HkY3ne9aq8ET2LLVHiWU5VIxSKrfSkst7HVjGsZ-lKJ2KBqyCJjJHYTRgpjqQxE4mdhqHUQmziJTqCWT_PsFEjERBAGisYmspSjYOChQZqXfiZQCoaiCQ0HbDpbpmGk2D9yB0MTrtdIb510tmeWVpClFWRn_6g9h1oxL7ML5P5CXVbP_RtztaoD
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%3A+%5Bproceedings%5D&rft.atitle=AI-driven+Java+Performance+Testing%3A+Balancing+Result+Quality+with+Testing+Time&rft.au=Traini%2C+Luca&rft.au=Di+Menna%2C+Federico&rft.au=Cortellessa%2C+Vittorio&rft.date=2024-10-27&rft.pub=ACM&rft.eissn=2643-1572&rft.spage=443&rft.epage=454&rft_id=info:doi/10.1145%2F3691620.3695017&rft.externalDocID=10765017