首页 > 最新文献

Software Quality Journal最新文献

英文 中文
Do developer perceptions have borders? Comparing C code responses across continents 开发者的认知有边界吗?比较各大洲的C代码响应
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-23 DOI: 10.1007/s11219-023-09654-0
Yanyan Zhuang, Yu Yan, Lois Anne DeLong, Martin K. Yeh

Recent studies have empirically validated the existence of small patterns in C code, named atoms of confusion (or atoms for short), that can interfere with program comprehension. The focus of this research is an attempt to see if these patterns in C would have a similar impact on a second group of participants who have similar levels of experience with C, but come from different places. We report on studies conducted with students from the USA and China. Both sets of participants were shown snippets of code and asked to predict the output. While performance measures (accuracy and speed) showed little difference in aggregate, a few individual atoms yielded surprising results. For example, we found examples where the clarified versions of code, with the atoms removed, were more confusing to the Chinese participants, despite the presence of atoms having much less impact on this group in general. These findings suggest that both the atoms themselves, and the processes used to remove them, may be viewed differently by individuals from different parts of the world. As such, developing insights on the “cross-border” applicability of coding practices could help create better pedagogical practices to prepare students for today’s globally-integrated approach to software development.

最近的研究已经证实了C代码中存在一些小模式,称为混淆原子(或简称原子),它们会干扰程序的理解。这项研究的重点是试图看看C语言中的这些模式是否会对第二组具有类似C语言经验水平但来自不同地方的参与者产生类似的影响。我们报道对来自美国和中国的学生进行的研究。两组参与者都看到了代码片段,并被要求预测输出。虽然性能测量(准确性和速度)总体上显示差异不大,但几个单独的原子产生了令人惊讶的结果。例如,我们发现了一些例子,尽管原子的存在对这一组的影响要小得多,但去除原子的澄清版本的代码对中国参与者来说更令人困惑。这些发现表明,来自世界不同地区的人对原子本身和去除它们的过程可能有不同的看法。因此,开发对编码实践的“跨界”适用性的见解可以帮助创建更好的教学实践,为学生准备当今全球集成的软件开发方法。
{"title":"Do developer perceptions have borders? Comparing C code responses across continents","authors":"Yanyan Zhuang, Yu Yan, Lois Anne DeLong, Martin K. Yeh","doi":"10.1007/s11219-023-09654-0","DOIUrl":"https://doi.org/10.1007/s11219-023-09654-0","url":null,"abstract":"<p>Recent studies have empirically validated the existence of small patterns in C code, named atoms of confusion (or atoms for short), that can interfere with program comprehension. The focus of this research is an attempt to see if these patterns in C would have a similar impact on a second group of participants who have similar levels of experience with C, but come from different places. We report on studies conducted with students from the USA and China. Both sets of participants were shown snippets of code and asked to predict the output. While performance measures (accuracy and speed) showed little difference in aggregate, a few individual atoms yielded surprising results. For example, we found examples where the clarified versions of code, with the atoms removed, were <i>more confusing</i> to the Chinese participants, despite the presence of atoms having much less impact on this group in general. These findings suggest that both the atoms themselves, and the processes used to remove them, may be viewed differently by individuals from different parts of the world. As such, developing insights on the “cross-border” applicability of coding practices could help create better pedagogical practices to prepare students for today’s globally-integrated approach to software development.\u0000</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"32 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2023-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138517431","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Keyword-labeled self-admitted technical debt and static code analysis have significant relationship but limited overlap 关键词标记的自我承认的技术债务和静态代码分析有显著的关系,但重叠有限
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-16 DOI: 10.1007/s11219-023-09655-z
Leevi Rantala, Mika Mäntylä, Valentina Lenarduzzi

Technical debt presents sub-optimal choices made in development, which are beneficial in the short term but not in the long run. Consciously admitted debt, which is marked with a keyword, e.g., TODO, is called keyword-labeled self-admitted technical debt (KL-SATD). KL-SATD can lead to adverse effects in software development, e.g., to a rise in complexity within the developed software. We investigated the relationship between KL-SATD from source code comments and reports from the highly popular industrial program analysis tool SonarQube. The goal was to find which SonarQube metrics and issues are related to KL-SATD introduction and removal and how many KL-SATD in the context of an issue addresses that issue. We performed a study with 33 software repositories. We analyzed the changes in SonarQube reports (sqale index, reliability and security remediation metrics, and SonarQube issues) and the relationship to KL-SATD addition and removal with mixed model analysis. We manually annotated a sample to investigate how many KL-SATD comments are in the context of SonarQube issues and how many address them directly. KL-SATD is associated with a reduction in code maintainability measured with SonarQube’s sqale index. KL-SATD removal is associated with an increase in code maintainability (sqale index) and reliability measured with SonarQube’s reliability remediation effort. The introduction and removal of KL-SATD have a predominantly relationship with code smells, and not with vulnerabilities and bugs. Manual annotation revealed that 36% of KL-SATD comments are in the context of a SonarQube issue, but only 15% of the comment address an issue. This means that despite of statistical relationship between KL-SATD comments and SonarQube reports there is a large set of KL-SATD comments that are in areas that Sonarqube reports as clean or free of maintainability issues. KL-SATD introduction and removal are connected mainly to code smells, connecting them to maintainability rather than reliability or security. This is reinforced by the relationship with the sqale index, as well as the dominance of code smells in SonarQube issues. Many KL-SATD issues have characteristics going beyond static analysis tools and require future studies extending the capabilities of the current tools. As KL-SATD comments and SonarQube reports appear to have limited overlap, it suggests that they are complementary and both are needed for getting a comprehensive view coverage of code maintainability. The study also presents rules violations developers should be aware of regarding KL-SATD introduction and removal.

技术债务表示在开发过程中做出的次优选择,这些选择在短期内是有益的,但从长期来看却不是。用关键字(如TODO)标记的自觉承认的债务称为关键字标记的自我承认技术债务(KL-SATD)。KL-SATD会在软件开发中导致不利的影响,例如,在开发的软件中增加复杂性。我们调查了来自源代码注释的KL-SATD和来自非常流行的工业程序分析工具SonarQube的报告之间的关系。目标是找出哪些SonarQube指标和问题与KL-SATD的引入和移除有关,以及在一个问题的上下文中有多少KL-SATD可以解决该问题。我们对33个软件存储库进行了研究。我们使用混合模型分析分析了SonarQube报告中的变化(sqale指数、可靠性和安全性补救度量以及SonarQube问题)以及与KL-SATD添加和删除的关系。我们手动注释了一个示例,以调查在SonarQube问题的上下文中有多少KL-SATD注释,以及有多少注释直接解决了这些注释。KL-SATD与用SonarQube的sqale指数衡量的代码可维护性的降低有关。KL-SATD的移除与代码可维护性(平方指数)的增加以及SonarQube可靠性补救工作测量的可靠性有关。KL-SATD的引入和移除主要与代码气味有关,而与漏洞和bug无关。手动注释显示,36%的KL-SATD评论是在SonarQube问题的上下文中,但只有15%的评论是针对问题的。这意味着,尽管KL-SATD注释和SonarQube报告之间存在统计上的关系,但仍有大量KL-SATD注释位于SonarQube报告为干净或没有可维护性问题的区域。KL-SATD的引入和移除主要与代码气味有关,将它们与可维护性而不是可靠性或安全性联系起来。与sqale索引的关系以及SonarQube问题中代码气味的主导地位加强了这一点。许多KL-SATD问题的特点超出了静态分析工具的范围,需要未来的研究来扩展当前工具的功能。由于KL-SATD注释和SonarQube报告似乎有有限的重叠,这表明它们是互补的,并且对于获得代码可维护性的全面视图覆盖都是必需的。该研究还提出了开发人员在引入和删除KL-SATD时应该注意的违规规则。
{"title":"Keyword-labeled self-admitted technical debt and static code analysis have significant relationship but limited overlap","authors":"Leevi Rantala, Mika Mäntylä, Valentina Lenarduzzi","doi":"10.1007/s11219-023-09655-z","DOIUrl":"https://doi.org/10.1007/s11219-023-09655-z","url":null,"abstract":"<p>Technical debt presents sub-optimal choices made in development, which are beneficial in the short term but not in the long run. Consciously admitted debt, which is marked with a keyword, e.g., TODO, is called keyword-labeled self-admitted technical debt (KL-SATD). KL-SATD can lead to adverse effects in software development, e.g., to a rise in complexity within the developed software. We investigated the relationship between KL-SATD from source code comments and reports from the highly popular industrial program analysis tool SonarQube. The goal was to find which SonarQube metrics and issues are related to KL-SATD introduction and removal and how many KL-SATD in the context of an issue addresses that issue. We performed a study with 33 software repositories. We analyzed the changes in SonarQube reports (sqale index, reliability and security remediation metrics, and SonarQube issues) and the relationship to KL-SATD addition and removal with mixed model analysis. We manually annotated a sample to investigate how many KL-SATD comments are in the context of SonarQube issues and how many address them directly. KL-SATD is associated with a reduction in code maintainability measured with SonarQube’s sqale index. KL-SATD removal is associated with an increase in code maintainability (sqale index) and reliability measured with SonarQube’s reliability remediation effort. The introduction and removal of KL-SATD have a predominantly relationship with code smells, and not with vulnerabilities and bugs. Manual annotation revealed that 36% of KL-SATD comments are in the context of a SonarQube issue, but only 15% of the comment address an issue. This means that despite of statistical relationship between KL-SATD comments and SonarQube reports there is a large set of KL-SATD comments that are in areas that Sonarqube reports as clean or free of maintainability issues. KL-SATD introduction and removal are connected mainly to code smells, connecting them to maintainability rather than reliability or security. This is reinforced by the relationship with the sqale index, as well as the dominance of code smells in SonarQube issues. Many KL-SATD issues have characteristics going beyond static analysis tools and require future studies extending the capabilities of the current tools. As KL-SATD comments and SonarQube reports appear to have limited overlap, it suggests that they are complementary and both are needed for getting a comprehensive view coverage of code maintainability. The study also presents rules violations developers should be aware of regarding KL-SATD introduction and removal.\u0000</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"235 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2023-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138517478","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Automatic software code repair using deep learning techniques 使用深度学习技术的自动软件代码修复
3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-06 DOI: 10.1007/s11219-023-09653-1
Mohammad Mahdi Abdollahpour, Mehrdad Ashtiani, Fatemeh Bakhshi
{"title":"Automatic software code repair using deep learning techniques","authors":"Mohammad Mahdi Abdollahpour, Mehrdad Ashtiani, Fatemeh Bakhshi","doi":"10.1007/s11219-023-09653-1","DOIUrl":"https://doi.org/10.1007/s11219-023-09653-1","url":null,"abstract":"","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135634383","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Lessons learned from replicating a study on information-retrieval-based test case prioritization 从复制基于信息检索的测试用例优先级研究中获得的经验教训
3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-10-16 DOI: 10.1007/s11219-023-09650-4
Nasir Mehmood Minhas, Mohsin Irshad, Kai Petersen, Jürgen Börstler
Abstract Replication studies help solidify and extend knowledge by evaluating previous studies’ findings. Software engineering literature showed that too few replications are conducted focusing on software artifacts without the involvement of humans. This study aims to replicate an artifact-based study on software testing to address the gap related to replications. In this investigation, we focus on (i) providing a step-by-step guide of the replication, reflecting on challenges when replicating artifact-based testing research and (ii) evaluating the replicated study concerning the validity and robustness of the findings. We replicate a test case prioritization technique proposed by Kwon et al. We replicated the original study using six software programs, four from the original study and two additional software programs. We automated the steps of the original study using a Jupyter notebook to support future replications. Various general factors facilitating replications are identified, such as (1) the importance of documentation; (2) the need for assistance from the original authors; (3) issues in the maintenance of open-source repositories (e.g., concerning needed software dependencies, versioning); and (4) availability of scripts. We also noted observations specific to the study and its context, such as insights from using different mutation tools and strategies for mutant generation. We conclude that the study by Kwon et al. is partially replicable for small software programs and could be automated to facilitate software practitioners, given the availability of required information. However, it is hard to implement the technique for large software programs with the current guidelines. Based on lessons learned, we suggest that the authors of original studies need to publish their data and experimental setup to support the external replications.
重复性研究通过评估先前的研究结果来帮助巩固和扩展知识。软件工程文献表明,在没有人类参与的情况下,对软件工件进行的复制太少了。本研究旨在复制一个基于工件的软件测试研究,以解决与复制相关的差距。在这项调查中,我们专注于(i)提供复制的一步一步的指导,在复制基于工件的测试研究时反映挑战,以及(ii)评估关于结果的有效性和稳健性的复制研究。我们复制了Kwon等人提出的测试用例优先排序技术。我们使用六个软件程序复制了原始研究,其中四个来自原始研究,另外两个是附加的软件程序。我们使用Jupyter笔记本自动化了原始研究的步骤,以支持未来的复制。确定了促进重复的各种一般因素,例如(1)文件的重要性;(二)是否需要原作者的协助;(3)维护开源存储库的问题(例如,涉及所需的软件依赖关系、版本控制);(4)脚本的可用性。我们还注意到特定于研究及其背景的观察结果,例如使用不同的突变工具和突变生成策略的见解。我们得出结论,Kwon等人的研究对于小型软件程序是部分可复制的,并且可以自动化以方便软件从业者,给定所需信息的可用性。然而,在目前的指导方针下,很难在大型软件程序中实现该技术。根据经验教训,我们建议原始研究的作者需要公布他们的数据和实验设置,以支持外部复制。
{"title":"Lessons learned from replicating a study on information-retrieval-based test case prioritization","authors":"Nasir Mehmood Minhas, Mohsin Irshad, Kai Petersen, Jürgen Börstler","doi":"10.1007/s11219-023-09650-4","DOIUrl":"https://doi.org/10.1007/s11219-023-09650-4","url":null,"abstract":"Abstract Replication studies help solidify and extend knowledge by evaluating previous studies’ findings. Software engineering literature showed that too few replications are conducted focusing on software artifacts without the involvement of humans. This study aims to replicate an artifact-based study on software testing to address the gap related to replications. In this investigation, we focus on (i) providing a step-by-step guide of the replication, reflecting on challenges when replicating artifact-based testing research and (ii) evaluating the replicated study concerning the validity and robustness of the findings. We replicate a test case prioritization technique proposed by Kwon et al. We replicated the original study using six software programs, four from the original study and two additional software programs. We automated the steps of the original study using a Jupyter notebook to support future replications. Various general factors facilitating replications are identified, such as (1) the importance of documentation; (2) the need for assistance from the original authors; (3) issues in the maintenance of open-source repositories (e.g., concerning needed software dependencies, versioning); and (4) availability of scripts. We also noted observations specific to the study and its context, such as insights from using different mutation tools and strategies for mutant generation. We conclude that the study by Kwon et al. is partially replicable for small software programs and could be automated to facilitate software practitioners, given the availability of required information. However, it is hard to implement the technique for large software programs with the current guidelines. Based on lessons learned, we suggest that the authors of original studies need to publish their data and experimental setup to support the external replications.","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"136112943","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Identifying the severity of technical debt issues based on semantic and structural information 根据语义和结构信息确定技术债务问题的严重性
3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-10-10 DOI: 10.1007/s11219-023-09651-3
Dongjin Yu, Sicheng Li, Xin Chen, Tian Sun
{"title":"Identifying the severity of technical debt issues based on semantic and structural information","authors":"Dongjin Yu, Sicheng Li, Xin Chen, Tian Sun","doi":"10.1007/s11219-023-09651-3","DOIUrl":"https://doi.org/10.1007/s11219-023-09651-3","url":null,"abstract":"","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"136356535","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
UX debt in an agile development process: evidence and characterization 敏捷开发过程中的用户体验债务:证据和特征
3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-10-07 DOI: 10.1007/s11219-023-09652-2
Andres Rodriguez, Juan Cruz Gardey, Julian Grigera, Gustavo Rossi, Alejandra Garrido
{"title":"UX debt in an agile development process: evidence and characterization","authors":"Andres Rodriguez, Juan Cruz Gardey, Julian Grigera, Gustavo Rossi, Alejandra Garrido","doi":"10.1007/s11219-023-09652-2","DOIUrl":"https://doi.org/10.1007/s11219-023-09652-2","url":null,"abstract":"","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135252730","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Model-driven gap analysis for the fulfillment of quality standards in software development processes 用于软件开发过程中质量标准实现的模型驱动的差距分析
3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-27 DOI: 10.1007/s11219-023-09649-x
Giovanni Giachetti, José Luis de la Vara, Beatriz Marín
{"title":"Model-driven gap analysis for the fulfillment of quality standards in software development processes","authors":"Giovanni Giachetti, José Luis de la Vara, Beatriz Marín","doi":"10.1007/s11219-023-09649-x","DOIUrl":"https://doi.org/10.1007/s11219-023-09649-x","url":null,"abstract":"","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135536867","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
.NET/C# instrumentation for search-based software testing . net / c#工具用于基于搜索的软件测试
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-01 DOI: 10.1007/s11219-023-09645-1
Amid Golmohammadi, Man Zhang, Andrea Arcuri
{"title":".NET/C# instrumentation for search-based software testing","authors":"Amid Golmohammadi, Man Zhang, Andrea Arcuri","doi":"10.1007/s11219-023-09645-1","DOIUrl":"https://doi.org/10.1007/s11219-023-09645-1","url":null,"abstract":"","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":" ","pages":""},"PeriodicalIF":1.9,"publicationDate":"2023-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"43576626","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Correction to: TeqReq: a new family of test‑related requirements attributes 更正:TeqReq:一个新的测试相关需求属性系列
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-29 DOI: 10.1007/s11219-023-09647-z
Enrique Roncero, Andrés Silva
{"title":"Correction to: TeqReq: a new family of test‑related requirements attributes","authors":"Enrique Roncero, Andrés Silva","doi":"10.1007/s11219-023-09647-z","DOIUrl":"https://doi.org/10.1007/s11219-023-09647-z","url":null,"abstract":"","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":" ","pages":""},"PeriodicalIF":1.9,"publicationDate":"2023-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"43305795","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Comparative study of machine learning test case prioritization for continuous integration testing 持续集成测试中机器学习测试用例优先级的比较研究
3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-07-28 DOI: 10.1007/s11219-023-09646-0
Dusica Marijan
There is a growing body of research indicating the potential of machine learning to tackle complex software testing challenges. One such challenge pertains to continuous integration testing, which is highly time-constrained, and generates a large amount of data coming from iterative code commits and test runs. In such a setting, we can use plentiful test data for training machine learning predictors to identify test cases able to speed up the detection of regression bugs introduced during code integration. However, different machine learning models can have different fault prediction performance depending on the context and the parameters of continuous integration testing, for example, variable time budget available for continuous integration cycles, or the size of test execution history used for learning to prioritize failing test cases. Existing studies on test case prioritization rarely study both of these factors, which are essential for the continuous integration practice. In this study, we perform a comprehensive comparison of the fault prediction performance of machine learning approaches that have shown the best performance on test case prioritization tasks in the literature. We evaluate the accuracy of the classifiers in predicting fault-detecting tests for different values of the continuous integration time budget and with different lengths of test history used for training the classifiers. In evaluation, we use real-world and augmented industrial datasets from a continuous integration practice. The results show that different machine learning models have different performance for different size of test history used for model training and for different time budgets available for test case execution. Our results imply that machine learning approaches for test prioritization in continuous integration testing should be carefully configured to achieve optimal performance.
越来越多的研究表明,机器学习有潜力解决复杂的软件测试挑战。其中一个挑战与持续集成测试有关,它具有高度的时间限制,并从迭代代码提交和测试运行中生成大量数据。在这种情况下,我们可以使用大量的测试数据来训练机器学习预测器,以识别能够加速检测代码集成期间引入的回归错误的测试用例。然而,不同的机器学习模型可能有不同的故障预测性能,这取决于上下文和持续集成测试的参数,例如,持续集成周期可用的可变时间预算,或者用于学习优先考虑失败测试用例的测试执行历史的大小。现有的关于测试用例优先级的研究很少研究这两个因素,而这两个因素对于持续集成实践是至关重要的。在这项研究中,我们对文献中在测试用例优先级任务上表现最佳的机器学习方法的故障预测性能进行了全面比较。在不同的持续积分时间预算值和不同的测试历史长度下,我们评估了分类器预测故障检测测试的准确性。在评估中,我们使用来自持续集成实践的真实世界和增强的工业数据集。结果表明,不同的机器学习模型对于用于模型训练的不同规模的测试历史和用于测试用例执行的不同时间预算具有不同的性能。我们的结果表明,在持续集成测试中,用于测试优先级的机器学习方法应该仔细配置,以实现最佳性能。
{"title":"Comparative study of machine learning test case prioritization for continuous integration testing","authors":"Dusica Marijan","doi":"10.1007/s11219-023-09646-0","DOIUrl":"https://doi.org/10.1007/s11219-023-09646-0","url":null,"abstract":"There is a growing body of research indicating the potential of machine learning to tackle complex software testing challenges. One such challenge pertains to continuous integration testing, which is highly time-constrained, and generates a large amount of data coming from iterative code commits and test runs. In such a setting, we can use plentiful test data for training machine learning predictors to identify test cases able to speed up the detection of regression bugs introduced during code integration. However, different machine learning models can have different fault prediction performance depending on the context and the parameters of continuous integration testing, for example, variable time budget available for continuous integration cycles, or the size of test execution history used for learning to prioritize failing test cases. Existing studies on test case prioritization rarely study both of these factors, which are essential for the continuous integration practice. In this study, we perform a comprehensive comparison of the fault prediction performance of machine learning approaches that have shown the best performance on test case prioritization tasks in the literature. We evaluate the accuracy of the classifiers in predicting fault-detecting tests for different values of the continuous integration time budget and with different lengths of test history used for training the classifiers. In evaluation, we use real-world and augmented industrial datasets from a continuous integration practice. The results show that different machine learning models have different performance for different size of test history used for model training and for different time budgets available for test case execution. Our results imply that machine learning approaches for test prioritization in continuous integration testing should be carefully configured to achieve optimal performance.","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135556996","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
期刊
Software Quality Journal
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1