Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts
Continuous Integration (CI) requires efficient regression testing to ensure software quality without significantly delaying its CI builds. This warrants the need for techniques to reduce regression testing time, such as Test Case Prioritization (TCP) techniques that prioritize the execution of test...
Gespeichert in:
Veröffentlicht in: | arXiv.org 2022-04 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | |
container_start_page | |
container_title | arXiv.org |
container_volume | |
creator | Ahmadreza Saboor Yaraghi Bagherzadeh, Mojtaba Kahani, Nafiseh Briand, Lionel |
description | Continuous Integration (CI) requires efficient regression testing to ensure software quality without significantly delaying its CI builds. This warrants the need for techniques to reduce regression testing time, such as Test Case Prioritization (TCP) techniques that prioritize the execution of test cases to detect faults as early as possible. Many recent TCP studies employ various Machine Learning (ML) techniques to deal with the dynamic and complex nature of CI. However, most of them use a limited number of features for training ML models and evaluate the models on subjects for which the application of TCP makes little practical sense, due to their small regression testing time and low number of failed builds. In this work, we first define, at a conceptual level, a data model that captures data sources and their relations in a typical CI environment. Second, based on this data model, we define a comprehensive set of features that covers all features previously used by related studies. Third, we develop methods and tools to collect the defined features for 25 open-source software systems with enough failed builds and whose regression testing takes at least five minutes. Fourth, relying on the collected dataset containing a comprehensive feature set, we answer four research questions concerning data collection time, the effectiveness of ML-based TCP, the impact of the features on effectiveness, the decay of ML-based TCP models over time, and the trade-off between data collection time and the effectiveness of ML-based TCP techniques. |
doi_str_mv | 10.48550/arxiv.2109.13168 |
format | Article |
fullrecord | <record><control><sourceid>proquest_arxiv</sourceid><recordid>TN_cdi_arxiv_primary_2109_13168</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2577597887</sourcerecordid><originalsourceid>FETCH-LOGICAL-a527-51e6cbff61bfbd3f946bf373f30a9174b972de7d39a6cc189cb43b04ee5e91d63</originalsourceid><addsrcrecordid>eNotj91LwzAAxIMgOOb-AJ8M-NyajyZpHkfxYzBQse8lSRPJmOlMUpn-9XarTwd3x3E_AG4wKquaMXSv4tF_lwQjWWKKeX0BFoRSXNQVIVdgldIOIUS4IIzRBXh7N2qv9N5CFXq4NmaMKlvY2pRho5KFr9EP0Wf_q7IfAvQBNkPIPozDmOAmZPsR5-Rk22NO1-DSqX2yq39dgvbxoW2ei-3L06ZZbwvFiCgYttxo5zjWTvfUyYprRwV1FCmJRaWlIL0VPZWKG4NraXRFNaqsZVbintMluJ1nz7zdIfpPFX-6E3d35p4ad3PjEIevcQLqdsMYw_SpI0wIJkVdC_oHSkxcIA</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2577597887</pqid></control><display><type>article</type><title>Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts</title><source>arXiv.org</source><source>Free E- Journals</source><creator>Ahmadreza Saboor Yaraghi ; Bagherzadeh, Mojtaba ; Kahani, Nafiseh ; Briand, Lionel</creator><creatorcontrib>Ahmadreza Saboor Yaraghi ; Bagherzadeh, Mojtaba ; Kahani, Nafiseh ; Briand, Lionel</creatorcontrib><description>Continuous Integration (CI) requires efficient regression testing to ensure software quality without significantly delaying its CI builds. This warrants the need for techniques to reduce regression testing time, such as Test Case Prioritization (TCP) techniques that prioritize the execution of test cases to detect faults as early as possible. Many recent TCP studies employ various Machine Learning (ML) techniques to deal with the dynamic and complex nature of CI. However, most of them use a limited number of features for training ML models and evaluate the models on subjects for which the application of TCP makes little practical sense, due to their small regression testing time and low number of failed builds. In this work, we first define, at a conceptual level, a data model that captures data sources and their relations in a typical CI environment. Second, based on this data model, we define a comprehensive set of features that covers all features previously used by related studies. Third, we develop methods and tools to collect the defined features for 25 open-source software systems with enough failed builds and whose regression testing takes at least five minutes. Fourth, relying on the collected dataset containing a comprehensive feature set, we answer four research questions concerning data collection time, the effectiveness of ML-based TCP, the impact of the features on effectiveness, the decay of ML-based TCP models over time, and the trade-off between data collection time and the effectiveness of ML-based TCP techniques.</description><identifier>EISSN: 2331-8422</identifier><identifier>DOI: 10.48550/arxiv.2109.13168</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Accuracy ; Computer Science - Software Engineering ; Data collection ; Data models ; Fault detection ; Machine learning ; Open source software ; Regression ; Software ; Software testing ; Source code ; Testing time</subject><ispartof>arXiv.org, 2022-04</ispartof><rights>2022. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><rights>http://arxiv.org/licenses/nonexclusive-distrib/1.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,784,885,27925</link.rule.ids><backlink>$$Uhttps://doi.org/10.1109/TSE.2022.3184842$$DView published paper (Access to full text may be restricted)$$Hfree_for_read</backlink><backlink>$$Uhttps://doi.org/10.48550/arXiv.2109.13168$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Ahmadreza Saboor Yaraghi</creatorcontrib><creatorcontrib>Bagherzadeh, Mojtaba</creatorcontrib><creatorcontrib>Kahani, Nafiseh</creatorcontrib><creatorcontrib>Briand, Lionel</creatorcontrib><title>Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts</title><title>arXiv.org</title><description>Continuous Integration (CI) requires efficient regression testing to ensure software quality without significantly delaying its CI builds. This warrants the need for techniques to reduce regression testing time, such as Test Case Prioritization (TCP) techniques that prioritize the execution of test cases to detect faults as early as possible. Many recent TCP studies employ various Machine Learning (ML) techniques to deal with the dynamic and complex nature of CI. However, most of them use a limited number of features for training ML models and evaluate the models on subjects for which the application of TCP makes little practical sense, due to their small regression testing time and low number of failed builds. In this work, we first define, at a conceptual level, a data model that captures data sources and their relations in a typical CI environment. Second, based on this data model, we define a comprehensive set of features that covers all features previously used by related studies. Third, we develop methods and tools to collect the defined features for 25 open-source software systems with enough failed builds and whose regression testing takes at least five minutes. Fourth, relying on the collected dataset containing a comprehensive feature set, we answer four research questions concerning data collection time, the effectiveness of ML-based TCP, the impact of the features on effectiveness, the decay of ML-based TCP models over time, and the trade-off between data collection time and the effectiveness of ML-based TCP techniques.</description><subject>Accuracy</subject><subject>Computer Science - Software Engineering</subject><subject>Data collection</subject><subject>Data models</subject><subject>Fault detection</subject><subject>Machine learning</subject><subject>Open source software</subject><subject>Regression</subject><subject>Software</subject><subject>Software testing</subject><subject>Source code</subject><subject>Testing time</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GOX</sourceid><recordid>eNotj91LwzAAxIMgOOb-AJ8M-NyajyZpHkfxYzBQse8lSRPJmOlMUpn-9XarTwd3x3E_AG4wKquaMXSv4tF_lwQjWWKKeX0BFoRSXNQVIVdgldIOIUS4IIzRBXh7N2qv9N5CFXq4NmaMKlvY2pRho5KFr9EP0Wf_q7IfAvQBNkPIPozDmOAmZPsR5-Rk22NO1-DSqX2yq39dgvbxoW2ei-3L06ZZbwvFiCgYttxo5zjWTvfUyYprRwV1FCmJRaWlIL0VPZWKG4NraXRFNaqsZVbintMluJ1nz7zdIfpPFX-6E3d35p4ad3PjEIevcQLqdsMYw_SpI0wIJkVdC_oHSkxcIA</recordid><startdate>20220405</startdate><enddate>20220405</enddate><creator>Ahmadreza Saboor Yaraghi</creator><creator>Bagherzadeh, Mojtaba</creator><creator>Kahani, Nafiseh</creator><creator>Briand, Lionel</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20220405</creationdate><title>Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts</title><author>Ahmadreza Saboor Yaraghi ; Bagherzadeh, Mojtaba ; Kahani, Nafiseh ; Briand, Lionel</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a527-51e6cbff61bfbd3f946bf373f30a9174b972de7d39a6cc189cb43b04ee5e91d63</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Accuracy</topic><topic>Computer Science - Software Engineering</topic><topic>Data collection</topic><topic>Data models</topic><topic>Fault detection</topic><topic>Machine learning</topic><topic>Open source software</topic><topic>Regression</topic><topic>Software</topic><topic>Software testing</topic><topic>Source code</topic><topic>Testing time</topic><toplevel>online_resources</toplevel><creatorcontrib>Ahmadreza Saboor Yaraghi</creatorcontrib><creatorcontrib>Bagherzadeh, Mojtaba</creatorcontrib><creatorcontrib>Kahani, Nafiseh</creatorcontrib><creatorcontrib>Briand, Lionel</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science & Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Access via ProQuest (Open Access)</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection><collection>arXiv Computer Science</collection><collection>arXiv.org</collection><jtitle>arXiv.org</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Ahmadreza Saboor Yaraghi</au><au>Bagherzadeh, Mojtaba</au><au>Kahani, Nafiseh</au><au>Briand, Lionel</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts</atitle><jtitle>arXiv.org</jtitle><date>2022-04-05</date><risdate>2022</risdate><eissn>2331-8422</eissn><abstract>Continuous Integration (CI) requires efficient regression testing to ensure software quality without significantly delaying its CI builds. This warrants the need for techniques to reduce regression testing time, such as Test Case Prioritization (TCP) techniques that prioritize the execution of test cases to detect faults as early as possible. Many recent TCP studies employ various Machine Learning (ML) techniques to deal with the dynamic and complex nature of CI. However, most of them use a limited number of features for training ML models and evaluate the models on subjects for which the application of TCP makes little practical sense, due to their small regression testing time and low number of failed builds. In this work, we first define, at a conceptual level, a data model that captures data sources and their relations in a typical CI environment. Second, based on this data model, we define a comprehensive set of features that covers all features previously used by related studies. Third, we develop methods and tools to collect the defined features for 25 open-source software systems with enough failed builds and whose regression testing takes at least five minutes. Fourth, relying on the collected dataset containing a comprehensive feature set, we answer four research questions concerning data collection time, the effectiveness of ML-based TCP, the impact of the features on effectiveness, the decay of ML-based TCP models over time, and the trade-off between data collection time and the effectiveness of ML-based TCP techniques.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><doi>10.48550/arxiv.2109.13168</doi><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | EISSN: 2331-8422 |
ispartof | arXiv.org, 2022-04 |
issn | 2331-8422 |
language | eng |
recordid | cdi_arxiv_primary_2109_13168 |
source | arXiv.org; Free E- Journals |
subjects | Accuracy Computer Science - Software Engineering Data collection Data models Fault detection Machine learning Open source software Regression Software Software testing Source code Testing time |
title | Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-25T03%3A11%3A57IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_arxiv&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Scalable%20and%20Accurate%20Test%20Case%20Prioritization%20in%20Continuous%20Integration%20Contexts&rft.jtitle=arXiv.org&rft.au=Ahmadreza%20Saboor%20Yaraghi&rft.date=2022-04-05&rft.eissn=2331-8422&rft_id=info:doi/10.48550/arxiv.2109.13168&rft_dat=%3Cproquest_arxiv%3E2577597887%3C/proquest_arxiv%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2577597887&rft_id=info:pmid/&rfr_iscdi=true |