首页 > 最新文献

Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering最新文献

英文 中文
An Evaluation of Parameter Pruning Approaches for Software Estimation 软件估计中参数修剪方法的评价
Thu D. Tran, Vu Nguyen, Thong Truong, C. Tran, Phu Le
Model-based estimation often uses impact factors and historical data to predict the effort of new projects. Estimation accuracy of this approach is highly dependent on how well impact factors are selected. This paper comparatively assesses six methods for prune parameters of effort estimation models, including Stepwise regression, Lasso, constrained regression, GRASP, Tabu search, and PCA. Four data sets were used for evaluation, showing that estimation accuracy varies among the methods but no method consistently outperforms the rest. Stepwise regression prunes estimation model parameters the most while it does not sacrifice much estimation performance. Our study provides further evidence to support the use of Stepwise regression for selecting factors in effort estimation.
基于模型的评估通常使用影响因素和历史数据来预测新项目的工作量。该方法的估计精度高度依赖于影响因子的选择。比较评价了逐步回归、Lasso、约束回归、GRASP、禁忌搜索和主成分分析等6种方法对工作量估计模型参数的修剪。我们使用了四个数据集进行评估,结果表明,不同方法的估计精度各不相同,但没有一种方法始终优于其他方法。逐步回归在不牺牲估计性能的前提下,对估计模型参数的删减最多。我们的研究提供了进一步的证据来支持逐步回归在努力估计中选择因素的使用。
{"title":"An Evaluation of Parameter Pruning Approaches for Software Estimation","authors":"Thu D. Tran, Vu Nguyen, Thong Truong, C. Tran, Phu Le","doi":"10.1145/3345629.3345633","DOIUrl":"https://doi.org/10.1145/3345629.3345633","url":null,"abstract":"Model-based estimation often uses impact factors and historical data to predict the effort of new projects. Estimation accuracy of this approach is highly dependent on how well impact factors are selected. This paper comparatively assesses six methods for prune parameters of effort estimation models, including Stepwise regression, Lasso, constrained regression, GRASP, Tabu search, and PCA. Four data sets were used for evaluation, showing that estimation accuracy varies among the methods but no method consistently outperforms the rest. Stepwise regression prunes estimation model parameters the most while it does not sacrifice much estimation performance. Our study provides further evidence to support the use of Stepwise regression for selecting factors in effort estimation.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116415284","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Applying Cross Project Defect Prediction Approaches to Cross-Company Effort Estimation 跨项目缺陷预测方法在跨公司工作量估算中的应用
S. Amasaki, Tomoyuki Yokogawa, Hirohisa Aman
BACKGROUND: Prediction systems in software engineering often suffer from the shortage of suitable data within a project. A promising solution is transfer learning that utilizes data from outside the project. Many transfer learning approaches have been proposed for defect prediction known as cross-project defect prediction (CPDP). In contrast, a few approaches have been proposed for software effort estimation known as cross-company software effort estimation (CCSEE). Both CCSEE and CPDP are engaged in a similar problem, and a few CPDP approaches are applicable as CCSEE in actual. It is thus beneficial for improving CCSEE performance to examine how well CPDP approaches can perform as CCSEE approaches. AIMS: To explore how well CPDP approaches work as CCSEE approaches. METHOD: An empirical experiment was conducted for evaluating the performance of CPDP approaches in CCSEE. We examined 7 CPDP approaches which were selected due to the easiness of application. Those approaches were applied to 8 data sets, each of which consists of a few subsets from different domains. The estimation results were evaluated with a common performance measure called SA. RESULTS: there were several CPDP approaches which could improve the estimation accuracy though the degree of improvement was not large. CONCLUSIONS: A straight forward application of selected CPDP approaches did not bring a clear effect. CCSEE may need specific transfer learning approaches for more improvement.
背景:软件工程中的预测系统经常受到项目中缺乏合适数据的困扰。一个很有前途的解决方案是利用项目外部数据的迁移学习。许多迁移学习方法被提出用于缺陷预测,称为跨项目缺陷预测(CPDP)。相反,已经提出了一些方法用于软件工作量估算,称为跨公司软件工作量估算(CCSEE)。CCSEE和CPDP都面临着类似的问题,CPDP的一些方法在实际中适用于CCSEE。因此,研究CPDP方法作为CCSEE方法的表现如何,有助于提高CCSEE的性能。目的:探讨CPDP方法与CCSEE方法的效果。方法:通过实证实验对CCSEE中CPDP方法的性能进行评价。我们检查了7种CPDP方法,这些方法是由于易于应用而选择的。这些方法应用于8个数据集,每个数据集由来自不同领域的几个子集组成。使用称为SA的常见性能度量来评估评估结果。结果:几种CPDP方法均能提高估计精度,但提高程度不大。结论:直接应用选定的CPDP方法并没有带来明显的效果。CCSEE可能需要特定的迁移学习方法来进一步改进。
{"title":"Applying Cross Project Defect Prediction Approaches to Cross-Company Effort Estimation","authors":"S. Amasaki, Tomoyuki Yokogawa, Hirohisa Aman","doi":"10.1145/3345629.3345638","DOIUrl":"https://doi.org/10.1145/3345629.3345638","url":null,"abstract":"BACKGROUND: Prediction systems in software engineering often suffer from the shortage of suitable data within a project. A promising solution is transfer learning that utilizes data from outside the project. Many transfer learning approaches have been proposed for defect prediction known as cross-project defect prediction (CPDP). In contrast, a few approaches have been proposed for software effort estimation known as cross-company software effort estimation (CCSEE). Both CCSEE and CPDP are engaged in a similar problem, and a few CPDP approaches are applicable as CCSEE in actual. It is thus beneficial for improving CCSEE performance to examine how well CPDP approaches can perform as CCSEE approaches. AIMS: To explore how well CPDP approaches work as CCSEE approaches. METHOD: An empirical experiment was conducted for evaluating the performance of CPDP approaches in CCSEE. We examined 7 CPDP approaches which were selected due to the easiness of application. Those approaches were applied to 8 data sets, each of which consists of a few subsets from different domains. The estimation results were evaluated with a common performance measure called SA. RESULTS: there were several CPDP approaches which could improve the estimation accuracy though the degree of improvement was not large. CONCLUSIONS: A straight forward application of selected CPDP approaches did not bring a clear effect. CCSEE may need specific transfer learning approaches for more improvement.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130720610","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Leveraging Change Intents for Characterizing and Identifying Large-Review-Effort Changes 利用变更意图来描述和识别大型评审工作变更
Song Wang, Chetan Bansal, Nachiappan Nagappan, Adithya Abraham Philip
Code changes to software occur due to various reasons such as bug fixing, new feature addition, and code refactoring. In most existing studies, the intent of the change is rarely leveraged to provide more specific, context aware analysis. In this paper, we present the first study to leverage change intent to characterize and identify Large-Review-Effort (LRE) changes regarding review effort---changes with large review effort. Specifically, we first propose a feedback-driven and heuristics-based approach to obtain change intents. We then characterize the changes regarding review effort by using various features extracted from change metadata and the change intents. We further explore the feasibility of automatically classifying LRE changes. We conduct our study on a large-scale project from Microsoft and three large-scale open source projects, i.e., Qt, Android, and OpenStack. Our results show that, (i) code changes with some intents are more likely to be LRE changes, (ii) machine learning based prediction models can efficiently help identify LRE changes, and (iii) prediction models built for code changes with some intents achieve better performance than prediction models without considering the change intent, the improvement in AUC can be up to 19 percentage points and is 7.4 percentage points on average. The tool developed in this study has already been used in Microsoft to provide the review effort and intent information of changes for reviewers to accelerate the review process.
软件的代码更改是由于各种原因而发生的,例如修复错误、添加新功能和代码重构。在大多数现有研究中,很少利用变更的意图来提供更具体的上下文感知分析。在本文中,我们提出了第一个利用变更意图来描述和识别与评审工作相关的大型评审工作(large - review - effort, LRE)变更的研究。具体来说,我们首先提出了一种基于反馈驱动和启发式的方法来获取变更意图。然后,我们通过使用从变更元数据和变更意图中提取的各种特征来描述与评审工作相关的变更。进一步探讨了LRE变化自动分类的可行性。我们的研究对象是微软的一个大型项目和三个大型开源项目,分别是Qt、Android和OpenStack。我们的研究结果表明,(i)带有某些意图的代码更改更有可能是LRE更改,(ii)基于机器学习的预测模型可以有效地帮助识别LRE更改,(iii)针对带有某些意图的代码更改构建的预测模型比不考虑更改意图的预测模型获得更好的性能,AUC的提高最高可达19个百分点,平均为7.4个百分点。本研究中开发的工具已经在微软中使用,为审稿人提供评审工作和变更的意图信息,以加速评审过程。
{"title":"Leveraging Change Intents for Characterizing and Identifying Large-Review-Effort Changes","authors":"Song Wang, Chetan Bansal, Nachiappan Nagappan, Adithya Abraham Philip","doi":"10.1145/3345629.3345635","DOIUrl":"https://doi.org/10.1145/3345629.3345635","url":null,"abstract":"Code changes to software occur due to various reasons such as bug fixing, new feature addition, and code refactoring. In most existing studies, the intent of the change is rarely leveraged to provide more specific, context aware analysis. In this paper, we present the first study to leverage change intent to characterize and identify Large-Review-Effort (LRE) changes regarding review effort---changes with large review effort. Specifically, we first propose a feedback-driven and heuristics-based approach to obtain change intents. We then characterize the changes regarding review effort by using various features extracted from change metadata and the change intents. We further explore the feasibility of automatically classifying LRE changes. We conduct our study on a large-scale project from Microsoft and three large-scale open source projects, i.e., Qt, Android, and OpenStack. Our results show that, (i) code changes with some intents are more likely to be LRE changes, (ii) machine learning based prediction models can efficiently help identify LRE changes, and (iii) prediction models built for code changes with some intents achieve better performance than prediction models without considering the change intent, the improvement in AUC can be up to 19 percentage points and is 7.4 percentage points on average. The tool developed in this study has already been used in Microsoft to provide the review effort and intent information of changes for reviewers to accelerate the review process.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"155 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132827447","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
From Reports to Bug-Fix Commits: A 10 Years Dataset of Bug-Fixing Activity from 55 Apache's Open Source Projects 从报告到bug修复提交:来自55个Apache开源项目的10年bug修复活动数据集
Renan Vieira, Antônio da Silva, L. Rocha, J. Gomes
Bugs appear in almost any software development. Solving all or at least a large part of them requires a great deal of time, effort, and budget. Software projects typically use issue tracking systems as a way to report and monitor bug-fixing tasks. In recent years, several researchers have been conducting bug tracking analysis to better understand the problem and thus provide means to reduce costs and improve the efficiency of the bug-fixing task. In this paper, we introduce a new dataset composed of more than 70,000 bug-fix reports from 10 years of bug-fixing activity of 55 projects from the Apache Software Foundation, distributed in 9 categories. We have mined this information from Jira issue track system concerning two different perspectives of reports with closed/resolved status: static (the latest version of reports) and dynamic (the changes that have occurred in reports over time). We also extract information from the commits (if they exist) that fix such bugs from their respective version-control system (Git). We also provide a change analysis that occurs in the reports as a way of illustrating and characterizing the proposed dataset. Once the data extraction process is an error-prone nontrivial task, we believe such initiatives like this could be useful to support researchers in further more detailed investigations.
几乎在任何软件开发中都会出现bug。解决所有或至少大部分问题需要大量的时间、精力和预算。软件项目通常使用问题跟踪系统作为报告和监视错误修复任务的一种方式。近年来,一些研究人员一直在进行bug跟踪分析,以更好地了解问题,从而提供降低成本和提高bug修复任务效率的方法。在本文中,我们介绍了一个新的数据集,该数据集由Apache软件基金会55个项目10年来的错误修复活动中的70,000多个错误修复报告组成,分为9个类别。我们从Jira问题跟踪系统中挖掘了这些信息,这些信息涉及具有关闭/已解决状态的报告的两个不同视角:静态(报告的最新版本)和动态(随着时间的推移报告中发生的变化)。我们还从各自的版本控制系统(Git)中修复这些错误的提交(如果存在的话)中提取信息。我们还提供了报告中发生的变化分析,作为说明和描述建议数据集的一种方式。一旦数据提取过程是一个容易出错的重要任务,我们相信这样的倡议可以帮助研究人员进行更详细的调查。
{"title":"From Reports to Bug-Fix Commits: A 10 Years Dataset of Bug-Fixing Activity from 55 Apache's Open Source Projects","authors":"Renan Vieira, Antônio da Silva, L. Rocha, J. Gomes","doi":"10.1145/3345629.3345639","DOIUrl":"https://doi.org/10.1145/3345629.3345639","url":null,"abstract":"Bugs appear in almost any software development. Solving all or at least a large part of them requires a great deal of time, effort, and budget. Software projects typically use issue tracking systems as a way to report and monitor bug-fixing tasks. In recent years, several researchers have been conducting bug tracking analysis to better understand the problem and thus provide means to reduce costs and improve the efficiency of the bug-fixing task. In this paper, we introduce a new dataset composed of more than 70,000 bug-fix reports from 10 years of bug-fixing activity of 55 projects from the Apache Software Foundation, distributed in 9 categories. We have mined this information from Jira issue track system concerning two different perspectives of reports with closed/resolved status: static (the latest version of reports) and dynamic (the changes that have occurred in reports over time). We also extract information from the commits (if they exist) that fix such bugs from their respective version-control system (Git). We also provide a change analysis that occurs in the reports as a way of illustrating and characterizing the proposed dataset. Once the data extraction process is an error-prone nontrivial task, we believe such initiatives like this could be useful to support researchers in further more detailed investigations.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"2016 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130126025","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 19
Does chronology matter in JIT defect prediction?: A Partial Replication Study 时间顺序在JIT缺陷预测中重要吗?:部分重复研究
H. Jahanshahi, Dhanya Jothimani, Ayse Basar, Mucahit Cevik
BACKGROUND: Just-In-Time (JIT) models, unlike the traditional defect prediction models, detect the fix-inducing changes (or defect inducing changes). These models are designed based on the assumption that past code change properties are similar to future ones. However, as the system evolves, the expertise of developers and/or the complexity of the system also change. AIM: In this work, we aim to investigate the effect of code change properties on JIT models over time. We also study the impact of using recent data as well as all available data on the performance of JIT models. Further, we analyze the effect of weighted sampling on the performance of fix-inducing properties of JIT models. For this purpose, we used datasets from four open-source projects, namely Eclipse JDT, Mozilla, Eclipse Platform, and PostgreSQL. METHOD: We used five families of change code properties such as size, diffusion, history, experience, and purpose. We used Random Forest to train and test the JIT model and Brier Score (BS) and Area Under Curve (AUC) for performance measurement. We applied the Wilcoxon Signed Rank Test on the output to statistically validate whether the performance of JIT models improves using all the available data or the recent data. RESULTS: Our paper suggest that the predictive power of JIT models does not change by time. Furthermore, we observed that the chronology of data in JIT defect prediction models can be discarded by considering all the available data. On the other hand, the importance score of families of code change properties is found to oscillate over time. CONCLUSION: To mitigate the impact of the evolution of code change properties, it is recommended to use weighted sampling approach in which more emphasis is placed upon the changes occurring closer to the current time. Moreover, since properties such as "Expertise of the Developer" and "Size" evolve with the time, the models obtained from old data may exhibit different characteristics compared to those employing the newer dataset. Hence, practitioners should constantly retrain JIT models to include fresh data.
背景:即时(JIT)模型与传统的缺陷预测模型不同,它检测引起修复的变更(或引起缺陷的变更)。这些模型是基于过去代码更改属性与未来代码更改属性相似的假设而设计的。然而,随着系统的发展,开发人员的专业知识和/或系统的复杂性也会发生变化。目的:在这项工作中,我们的目标是随着时间的推移研究代码更改属性对JIT模型的影响。我们还研究了使用最新数据以及所有可用数据对JIT模型性能的影响。进一步,我们分析了加权抽样对JIT模型的固定诱导性能的影响。为此,我们使用了来自四个开源项目的数据集,即Eclipse JDT、Mozilla、Eclipse Platform和PostgreSQL。方法:我们使用了五类变更代码属性,如大小、扩散、历史、经验和目的。我们使用Random Forest来训练和测试JIT模型,并使用Brier Score (BS)和Area Under Curve (AUC)进行性能测量。我们对输出应用了Wilcoxon Signed Rank Test,以统计地验证JIT模型的性能是使用所有可用数据还是使用最近的数据得到改善。结果:JIT模型的预测能力不随时间变化。此外,我们观察到JIT缺陷预测模型中数据的时间顺序可以通过考虑所有可用数据而被丢弃。另一方面,发现代码更改属性家族的重要性得分随时间而波动。结论:为了减轻代码更改属性演变的影响,建议使用加权抽样方法,其中更强调发生在更接近当前时间的更改。此外,由于“开发人员的专业知识”和“规模”等属性随着时间的推移而变化,与使用新数据集的模型相比,从旧数据中获得的模型可能表现出不同的特征。因此,从业者应该不断地重新训练JIT模型以包含新的数据。
{"title":"Does chronology matter in JIT defect prediction?: A Partial Replication Study","authors":"H. Jahanshahi, Dhanya Jothimani, Ayse Basar, Mucahit Cevik","doi":"10.1145/3345629.3351449","DOIUrl":"https://doi.org/10.1145/3345629.3351449","url":null,"abstract":"BACKGROUND: Just-In-Time (JIT) models, unlike the traditional defect prediction models, detect the fix-inducing changes (or defect inducing changes). These models are designed based on the assumption that past code change properties are similar to future ones. However, as the system evolves, the expertise of developers and/or the complexity of the system also change. AIM: In this work, we aim to investigate the effect of code change properties on JIT models over time. We also study the impact of using recent data as well as all available data on the performance of JIT models. Further, we analyze the effect of weighted sampling on the performance of fix-inducing properties of JIT models. For this purpose, we used datasets from four open-source projects, namely Eclipse JDT, Mozilla, Eclipse Platform, and PostgreSQL. METHOD: We used five families of change code properties such as size, diffusion, history, experience, and purpose. We used Random Forest to train and test the JIT model and Brier Score (BS) and Area Under Curve (AUC) for performance measurement. We applied the Wilcoxon Signed Rank Test on the output to statistically validate whether the performance of JIT models improves using all the available data or the recent data. RESULTS: Our paper suggest that the predictive power of JIT models does not change by time. Furthermore, we observed that the chronology of data in JIT defect prediction models can be discarded by considering all the available data. On the other hand, the importance score of families of code change properties is found to oscillate over time. CONCLUSION: To mitigate the impact of the evolution of code change properties, it is recommended to use weighted sampling approach in which more emphasis is placed upon the changes occurring closer to the current time. Moreover, since properties such as \"Expertise of the Developer\" and \"Size\" evolve with the time, the models obtained from old data may exhibit different characteristics compared to those employing the newer dataset. Hence, practitioners should constantly retrain JIT models to include fresh data.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127351094","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering 第十五届软件工程预测模型与数据分析国际会议论文集
{"title":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","authors":"","doi":"10.1145/3345629","DOIUrl":"https://doi.org/10.1145/3345629","url":null,"abstract":"","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115346584","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Prioritizing automated user interface tests using reinforcement learning 使用强化学习对自动化用户界面测试进行优先级排序
A. Nguyen, Bach Le, Vu Nguyen
User interface testing validates the correctness of an application through visual cues and interactive events emitted in real world usages. Performing user interface tests is a time-consuming process, and thus, many studies have focused on prioritizing test cases to help maintain the effectiveness of testing while reducing the need for a full execution. This paper describes a novel prioritization method that combines Reinforcement Learning and interaction coverage testing concepts. While Reinforcement Learning has been found to be suitable for rapid changing projects with abundant historical data, interaction coverage considers in depth the event-based aspects of user interface testing and provides a granular level at which the Reinforcement Learning system can gain more insights into individual test cases. We experiment and assess the proposed method using five data sets, finding that the method outperforms related methods and has the potential to be used in practice.
用户界面测试通过在实际使用中发出的视觉提示和交互事件来验证应用程序的正确性。执行用户界面测试是一个耗时的过程,因此,许多研究都集中在测试用例的优先级上,以帮助维护测试的有效性,同时减少对完整执行的需求。本文描述了一种结合强化学习和交互覆盖测试概念的新型优先级排序方法。虽然强化学习已经被发现适合于具有丰富历史数据的快速变化的项目,但交互覆盖深入考虑了用户界面测试的基于事件的方面,并提供了一个粒度级别,在这个级别上强化学习系统可以获得对单个测试用例的更多见解。我们使用五个数据集对所提出的方法进行了实验和评估,发现该方法优于相关方法,具有在实践中使用的潜力。
{"title":"Prioritizing automated user interface tests using reinforcement learning","authors":"A. Nguyen, Bach Le, Vu Nguyen","doi":"10.1145/3345629.3345636","DOIUrl":"https://doi.org/10.1145/3345629.3345636","url":null,"abstract":"User interface testing validates the correctness of an application through visual cues and interactive events emitted in real world usages. Performing user interface tests is a time-consuming process, and thus, many studies have focused on prioritizing test cases to help maintain the effectiveness of testing while reducing the need for a full execution. This paper describes a novel prioritization method that combines Reinforcement Learning and interaction coverage testing concepts. While Reinforcement Learning has been found to be suitable for rapid changing projects with abundant historical data, interaction coverage considers in depth the event-based aspects of user interface testing and provides a granular level at which the Reinforcement Learning system can gain more insights into individual test cases. We experiment and assess the proposed method using five data sets, finding that the method outperforms related methods and has the potential to be used in practice.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123189273","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Which Refactoring Reduces Bug Rate? 哪种重构能降低Bug率?
Idan Amit, D. Feitelson
We present a methodology to identify refactoring operations that reduce the bug rate in the code. The methodology is based on comparing the bug fixing rate in certain time windows before and after the refactoring. We analyzed 61,331 refactor commits from 1,531 large active GitHub projects. When comparing three-month windows, the bug rate is substantially reduced in 17% of the files of analyzed refactors, compared to 12% of the files in random commits. Within this group, implementing 'todo's provides the most benefits. Certain operations like reuse, upgrade, and using enum and namespaces are also especially beneficial.
我们提出了一种方法来识别重构操作,以减少代码中的bug率。该方法基于比较重构前后特定时间窗口内的bug修复率。我们分析了来自1,531个大型活动GitHub项目的61,331个重构提交。当比较三个月的窗口时,17%的分析重构文件的bug率大大降低,而随机提交的文件的bug率为12%。在这个群体中,实现“待办事项”提供了最大的好处。某些操作,如重用、升级以及使用枚举和名称空间,也特别有益。
{"title":"Which Refactoring Reduces Bug Rate?","authors":"Idan Amit, D. Feitelson","doi":"10.1145/3345629.3345631","DOIUrl":"https://doi.org/10.1145/3345629.3345631","url":null,"abstract":"We present a methodology to identify refactoring operations that reduce the bug rate in the code. The methodology is based on comparing the bug fixing rate in certain time windows before and after the refactoring. We analyzed 61,331 refactor commits from 1,531 large active GitHub projects. When comparing three-month windows, the bug rate is substantially reduced in 17% of the files of analyzed refactors, compared to 12% of the files in random commits. Within this group, implementing 'todo's provides the most benefits. Certain operations like reuse, upgrade, and using enum and namespaces are also especially beneficial.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"177 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116607453","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Reviewer Recommendation using Software Artifact Traceability Graphs 使用软件工件可追溯性图的审稿人建议
Emre Sülün, Eray Tüzün, Ugur Dogrusöz
Various types of artifacts (requirements, source code, test cases, documents, etc.) are produced throughout the lifecycle of a software. These artifacts are often related with each other via traceability links that are stored in modern application lifecycle management repositories. Throughout the lifecycle of a software, various types of changes can arise in any one of these artifacts. It is important to review such changes to minimize their potential negative impacts. To maximize benefits of the review process, the reviewer(s) should be chosen appropriately. In this study, we reformulate the reviewer suggestion problem using software artifact traceability graphs. We introduce a novel approach, named RSTrace, to automatically recommend reviewers that are best suited based on their familiarity with a given artifact. The proposed approach, in theory, could be applied to all types of artifacts. For the purpose of this study, we focused on the source code artifact and conducted an experiment on finding the appropriate code reviewer(s). We initially tested RSTrace on an open source project and achieved top-3 recall of 0.85 with an MRR (mean reciprocal ranking) of 0.73. In a further empirical evaluation of 37 open source projects, we confirmed that the proposed reviewer recommendation approach yields promising top-k and MRR scores on the average compared to the existing reviewer recommendation approaches.
在软件的整个生命周期中会产生各种类型的工件(需求、源代码、测试用例、文档等)。这些工件通常通过存储在现代应用程序生命周期管理存储库中的可跟踪性链接相互关联。在软件的整个生命周期中,这些工件中的任何一个都可能出现各种类型的更改。重要的是要审查这些变化,以尽量减少其潜在的负面影响。为了使评审过程的利益最大化,应该适当地选择评审人员。在本研究中,我们使用软件工件可追溯性图来重新表述审稿人建议问题。我们引入了一种名为RSTrace的新方法,可以根据对给定工件的熟悉程度自动推荐最适合的审阅者。理论上,建议的方法可以应用于所有类型的工件。为了本研究的目的,我们将重点放在源代码工件上,并进行了一个寻找合适的代码审查者的实验。我们最初在一个开源项目上测试RSTrace,并获得了前3名召回率0.85,MRR(平均对等排名)0.73。在对37个开源项目的进一步实证评估中,我们证实,与现有的审稿人推荐方法相比,拟议的审稿人推荐方法产生了有希望的top-k和MRR平均分数。
{"title":"Reviewer Recommendation using Software Artifact Traceability Graphs","authors":"Emre Sülün, Eray Tüzün, Ugur Dogrusöz","doi":"10.1145/3345629.3345637","DOIUrl":"https://doi.org/10.1145/3345629.3345637","url":null,"abstract":"Various types of artifacts (requirements, source code, test cases, documents, etc.) are produced throughout the lifecycle of a software. These artifacts are often related with each other via traceability links that are stored in modern application lifecycle management repositories. Throughout the lifecycle of a software, various types of changes can arise in any one of these artifacts. It is important to review such changes to minimize their potential negative impacts. To maximize benefits of the review process, the reviewer(s) should be chosen appropriately. In this study, we reformulate the reviewer suggestion problem using software artifact traceability graphs. We introduce a novel approach, named RSTrace, to automatically recommend reviewers that are best suited based on their familiarity with a given artifact. The proposed approach, in theory, could be applied to all types of artifacts. For the purpose of this study, we focused on the source code artifact and conducted an experiment on finding the appropriate code reviewer(s). We initially tested RSTrace on an open source project and achieved top-3 recall of 0.85 with an MRR (mean reciprocal ranking) of 0.73. In a further empirical evaluation of 37 open source projects, we confirmed that the proposed reviewer recommendation approach yields promising top-k and MRR scores on the average compared to the existing reviewer recommendation approaches.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120995422","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
The Technical Debt Dataset 技术债务数据集
Valentina Lenarduzzi, Nyyti Saarimäki, D. Taibi
Technical Debt analysis is increasing in popularity as nowadays researchers and industry are adopting various tools for static code analysis to evaluate the quality of their code. Despite this, empirical studies on software projects are expensive because of the time needed to analyze the projects. In addition, the results are difficult to compare as studies commonly consider different projects. In this work, we propose the Technical Debt Dataset, a curated set of project measurement data from 33 Java projects from the Apache Software Foundation. In the Technical Debt Dataset, we analyzed all commits from separately defined time frames with SonarQube to collect Technical Debt information and with Ptidej to detect code smells. Moreover, we extracted all available commit information from the git logs, the refactoring applied with Refactoring Miner, and fault information reported in the issue trackers (Jira). Using this information, we executed the SZZ algorithm to identify the fault-inducing and -fixing commits. We analyzed 78K commits from the selected 33 projects, detecting 1.8M SonarQube issues, 62K code smells, 28K faults and 57K refactorings. The project analysis took more than 200 days. In this paper, we describe the data retrieval pipeline together with the tools used for the analysis. The dataset is made available through CSV files and an SQLite database to facilitate queries on the data. The Technical Debt Dataset aims to open up diverse opportunities for Technical Debt research, enabling researchers to compare results on common projects.
技术债务分析越来越受欢迎,因为现在研究人员和行业正在采用各种工具进行静态代码分析以评估其代码的质量。尽管如此,对软件项目的实证研究是昂贵的,因为分析项目需要时间。此外,由于研究通常考虑不同的项目,结果难以比较。在这项工作中,我们提出了技术债务数据集,这是一组来自Apache软件基金会的33个Java项目的项目度量数据。在技术债务数据集中,我们使用SonarQube分析了来自单独定义的时间框架的所有提交,以收集技术债务信息,并使用Ptidej检测代码气味。此外,我们从git日志、refactoring Miner应用的重构以及问题跟踪器(Jira)中报告的故障信息中提取了所有可用的提交信息。使用这些信息,我们执行SZZ算法来识别引起错误和修复错误的提交。我们从选定的33个项目中分析了78K个提交,检测到1.8M个SonarQube问题、62K个代码气味、28K个错误和57K个重构。项目分析耗时200多天。在本文中,我们描述了数据检索管道以及用于分析的工具。数据集通过CSV文件和SQLite数据库提供,以方便对数据的查询。技术债务数据集旨在为技术债务研究开辟各种机会,使研究人员能够比较共同项目的结果。
{"title":"The Technical Debt Dataset","authors":"Valentina Lenarduzzi, Nyyti Saarimäki, D. Taibi","doi":"10.1145/3345629.3345630","DOIUrl":"https://doi.org/10.1145/3345629.3345630","url":null,"abstract":"Technical Debt analysis is increasing in popularity as nowadays researchers and industry are adopting various tools for static code analysis to evaluate the quality of their code. Despite this, empirical studies on software projects are expensive because of the time needed to analyze the projects. In addition, the results are difficult to compare as studies commonly consider different projects. In this work, we propose the Technical Debt Dataset, a curated set of project measurement data from 33 Java projects from the Apache Software Foundation. In the Technical Debt Dataset, we analyzed all commits from separately defined time frames with SonarQube to collect Technical Debt information and with Ptidej to detect code smells. Moreover, we extracted all available commit information from the git logs, the refactoring applied with Refactoring Miner, and fault information reported in the issue trackers (Jira). Using this information, we executed the SZZ algorithm to identify the fault-inducing and -fixing commits. We analyzed 78K commits from the selected 33 projects, detecting 1.8M SonarQube issues, 62K code smells, 28K faults and 57K refactorings. The project analysis took more than 200 days. In this paper, we describe the data retrieval pipeline together with the tools used for the analysis. The dataset is made available through CSV files and an SQLite database to facilitate queries on the data. The Technical Debt Dataset aims to open up diverse opportunities for Technical Debt research, enabling researchers to compare results on common projects.","PeriodicalId":424201,"journal":{"name":"Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116366624","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 63
期刊
Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering
全部 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