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...
        Saved in:
      
    
          | Published in | IEEE/ACM International Conference on Automated Software Engineering : [proceedings] pp. 443 - 454 | 
|---|---|
| Main Authors | , , | 
| Format | Conference Proceeding | 
| Language | English | 
| Published | 
            ACM
    
        27.10.2024
     | 
| Subjects | |
| Online Access | Get full text | 
| ISSN | 2643-1572 | 
| DOI | 10.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 |