首页 > 最新文献

Journal of Software-Evolution and Process最新文献

英文 中文
Just-in-time identification for cross-project correlated issues 及时发现跨项目相关问题
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-26 DOI: 10.1002/smr.2637
Hao Ren, Yanhui Li, Lin Chen, Yulu Cao, Xiaowei Zhang, Changhai Nie

Issue tracking systems are now prevalent in software development, which would help developers submit and discuss issues to solve development problems on software projects. Most previous studies have been conducted to analyze issue relations within projects, such as recommending similar or duplicate bug issues. However, along with the popularization of co-developing through multiple projects, many issues are cross-project correlated (CPC), that is, one issue is associated with another issue in a different project. When developers meet with CPC issues, it may primarily increase the difficulties of solving them because they need information from not only their projects but also other related projects that developers are not familiar with. Identifying a CPC issue as early as possible is a fundamental challenge for both managers and developers to allocate the resources for software maintenance and estimate the effort to solve it. This paper proposes 11 issue metrics of two groups to describe textual summary and reporters' activity, which can be extracted just after the issue was reported. We employ these 11 issue metrics to construct just-in-time (JIT) prediction models to identify CPC issues. To evaluate the effect of CPC issue prediction models, we conduct experiments on 16 open-source data science and deep learning projects and compare our prediction model with two baseline models based on textual features (i.e., Term Frequency-Inverse Document Frequency [TF-IDF] and Word Embedding), which are commonly adopted by previous studies on issue prediction. The results show that the JIT prediction model based on issue metrics has significantly improved the performance of CPC issue prediction under two evaluation indicators, Matthew's correlation coefficient (MCC) and F1. In addition, we find that the prediction model is more suitable for large-scale complex core projects in the open-source ecosystem.

问题跟踪系统目前在软件开发中非常普遍,它可以帮助开发人员提交和讨论问题,以解决软件项目中的开发问题。以往的研究大多是分析项目内部的问题关系,如推荐相似或重复的错误问题。然而,随着多个项目共同开发的普及,许多问题都是跨项目关联(CPC)的,即一个问题与不同项目中的另一个问题相关联。当开发人员遇到 CPC 问题时,可能主要会增加解决问题的难度,因为他们不仅需要本项目的信息,还需要开发人员不熟悉的其他相关项目的信息。尽早发现 CPC 问题,对于管理者和开发者分配软件维护资源和估算解决问题的工作量来说,都是一个基本挑战。本文提出了两组共 11 个问题度量指标来描述文本摘要和报告者的活动,这些指标可以在问题被报告后提取。我们利用这 11 个问题度量来构建及时(JIT)预测模型,以识别 CPC 问题。为了评估 CPC 问题预测模型的效果,我们在 16 个开源数据科学和深度学习项目上进行了实验,并将我们的预测模型与两个基于文本特征的基线模型(即词频-反向文档频率 [TF-IDF] 和词嵌入)进行了比较,这两个模型是以往问题预测研究中普遍采用的。结果表明,在马修相关系数(MCC)和 F1 这两个评价指标下,基于问题度量的 JIT 预测模型显著提高了 CPC 问题预测的性能。此外,我们还发现该预测模型更适合开源生态系统中的大型复杂核心项目。
{"title":"Just-in-time identification for cross-project correlated issues","authors":"Hao Ren,&nbsp;Yanhui Li,&nbsp;Lin Chen,&nbsp;Yulu Cao,&nbsp;Xiaowei Zhang,&nbsp;Changhai Nie","doi":"10.1002/smr.2637","DOIUrl":"10.1002/smr.2637","url":null,"abstract":"<p>Issue tracking systems are now prevalent in software development, which would help developers submit and discuss issues to solve development problems on software projects. Most previous studies have been conducted to analyze issue relations within projects, such as recommending similar or duplicate bug issues. However, along with the popularization of co-developing through multiple projects, many issues are cross-project correlated (CPC), that is, one issue is associated with another issue in a different project. When developers meet with CPC issues, it may primarily increase the difficulties of solving them because they need information from not only their projects but also other related projects that developers are not familiar with. Identifying a CPC issue as early as possible is a fundamental challenge for both managers and developers to allocate the resources for software maintenance and estimate the effort to solve it. This paper proposes 11 issue metrics of two groups to describe textual summary and reporters' activity, which can be extracted just after the issue was reported. We employ these 11 issue metrics to construct just-in-time (JIT) prediction models to identify CPC issues. To evaluate the effect of CPC issue prediction models, we conduct experiments on 16 open-source data science and deep learning projects and compare our prediction model with two baseline models based on textual features (i.e., Term Frequency-Inverse Document Frequency [TF-IDF] and Word Embedding), which are commonly adopted by previous studies on issue prediction. The results show that the JIT prediction model based on issue metrics has significantly improved the performance of CPC issue prediction under two evaluation indicators, Matthew's correlation coefficient (MCC) and F1. In addition, we find that the prediction model is more suitable for large-scale complex core projects in the open-source ecosystem.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139053160","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
MetaLiDAR: Automated metamorphic testing of LiDAR-based autonomous driving systems MetaLiDAR:基于激光雷达的自动驾驶系统自动变形测试
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-20 DOI: 10.1002/smr.2644
Zhen Yang, Song Huang, Changyou Zheng, Xingya Wang, Yang Wang, Chunyan Xia

Recent advances in artificial intelligence technology and perception components have promoted the rapid development of autonomous vehicles. However, as safety-critical software, autonomous driving systems often make wrong judgments, seriously threatening human and property safety. LiDAR is one of the most critical sensors in autonomous vehicles, capable of accurately perceiving the three-dimensional information of the environment. Nevertheless, the high cost of manually collecting and labeling point cloud data leads to a dearth of testing methods for LiDAR-based perception modules. To bridge the critical gap, we introduce MetaLiDAR, a novel automated metamorphic testing methodology for LiDAR-based autonomous driving systems. First, we propose three object-level metamorphic relations for the domain characteristics of autonomous driving systems. Next, we design three transformation modules so that MetaLiDAR can generate natural-looking follow-up point clouds. Finally, we define corresponding evaluation metrics based on metamorphic relations. MetaLiDAR automatically determines whether source and follow-up test cases meet the metamorphic relations based on the evaluation metrics. Our empirical research on five state-of-the-art LiDAR-based object detection models shows that MetaLiDAR can not only generate natural-looking test point clouds to detect 181,547 inconsistent behaviors of different models but also significantly enhance the robustness of models by retraining with synthetic point clouds.

近年来,人工智能技术和感知组件的进步推动了自动驾驶汽车的快速发展。然而,作为对安全至关重要的软件,自动驾驶系统经常会做出错误判断,严重威胁人身和财产安全。激光雷达是自动驾驶汽车最关键的传感器之一,能够准确感知环境的三维信息。然而,人工收集和标注点云数据的成本高昂,导致基于激光雷达的感知模块测试方法匮乏。为了弥补这一关键差距,我们为基于激光雷达的自动驾驶系统引入了一种新型自动元测试方法--MetaLiDAR。首先,我们针对自动驾驶系统的领域特征提出了三个对象级的变形关系。接着,我们设计了三个转换模块,使 MetaLiDAR 能够生成自然的后续点云。最后,我们根据变形关系定义了相应的评估指标。MetaLiDAR 会根据评估指标自动判断源测试用例和后续测试用例是否符合变形关系。我们对五种基于激光雷达的先进物体检测模型进行的实证研究表明,MetaLiDAR 不仅能生成自然的测试点云,检测出不同模型的 181,547 种不一致行为,还能通过使用合成点云进行再训练,显著增强模型的鲁棒性。
{"title":"MetaLiDAR: Automated metamorphic testing of LiDAR-based autonomous driving systems","authors":"Zhen Yang,&nbsp;Song Huang,&nbsp;Changyou Zheng,&nbsp;Xingya Wang,&nbsp;Yang Wang,&nbsp;Chunyan Xia","doi":"10.1002/smr.2644","DOIUrl":"10.1002/smr.2644","url":null,"abstract":"<p>Recent advances in artificial intelligence technology and perception components have promoted the rapid development of autonomous vehicles. However, as safety-critical software, autonomous driving systems often make wrong judgments, seriously threatening human and property safety. LiDAR is one of the most critical sensors in autonomous vehicles, capable of accurately perceiving the three-dimensional information of the environment. Nevertheless, the high cost of manually collecting and labeling point cloud data leads to a dearth of testing methods for LiDAR-based perception modules. To bridge the critical gap, we introduce MetaLiDAR, a novel automated metamorphic testing methodology for LiDAR-based autonomous driving systems. First, we propose three object-level metamorphic relations for the domain characteristics of autonomous driving systems. Next, we design three transformation modules so that MetaLiDAR can generate natural-looking follow-up point clouds. Finally, we define corresponding evaluation metrics based on metamorphic relations. MetaLiDAR automatically determines whether source and follow-up test cases meet the metamorphic relations based on the evaluation metrics. Our empirical research on five state-of-the-art LiDAR-based object detection models shows that MetaLiDAR can not only generate natural-looking test point clouds to detect 181,547 inconsistent behaviors of different models but also significantly enhance the robustness of models by retraining with synthetic point clouds.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138955778","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
An ecology-oriented convergence evolution analysis method of crossover service ecosystems 面向生态学的交叉服务生态系统聚合演化分析方法
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-14 DOI: 10.1002/smr.2635
Yu Qiao, Jian Wang, Zhengli Liu, Wei Tang, Xiangfei Lu, Bing Li

The phenomenon of crossover cooperation and convergence among services has gained increasing attention in the modern service industry. Service boundaries have been expansively stretched into other domains rather than limited to their original domains to achieve value creation, fostering the emergence of crossover services. Consequently, a complex service ecosystem takes shape. However, there is a lack of the convergence-evolution mechanism of crossover services for the adaptive transformation of service providers' businesses in this context. To address this problem, this paper proposes population-based and community-based convergence-evolution patterns from the ecological perspective. Based on the analysis of these evolution patterns and the driven force of service evolution, we propose an ecology-oriented evolution analysis method. Furthermore, we devise an automated tool to support the evolution design of crossover service ecosystems. Case studies and evaluation experiments show the feasibility and effectiveness of our proposed method and the corresponding tool.

在现代服务业中,服务之间的跨界合作与融合现象日益受到关注。为了实现价值创造,服务的边界不再局限于原有领域,而是被扩展到其他领域,从而促进了跨界服务的出现。因此,一个复杂的服务生态系统逐渐形成。然而,在此背景下,服务提供商的业务适应性转型缺乏跨界服务的融合-演进机制。针对这一问题,本文从生态学的角度提出了基于种群和社区的聚合进化模式。在分析这些进化模式和服务进化驱动力的基础上,我们提出了一种面向生态学的进化分析方法。此外,我们还设计了一种自动化工具来支持交叉服务生态系统的进化设计。案例研究和评估实验表明了我们提出的方法和相应工具的可行性和有效性。
{"title":"An ecology-oriented convergence evolution analysis method of crossover service ecosystems","authors":"Yu Qiao,&nbsp;Jian Wang,&nbsp;Zhengli Liu,&nbsp;Wei Tang,&nbsp;Xiangfei Lu,&nbsp;Bing Li","doi":"10.1002/smr.2635","DOIUrl":"10.1002/smr.2635","url":null,"abstract":"<p>The phenomenon of crossover cooperation and convergence among services has gained increasing attention in the modern service industry. Service boundaries have been expansively stretched into other domains rather than limited to their original domains to achieve value creation, fostering the emergence of crossover services. Consequently, a complex service ecosystem takes shape. However, there is a lack of the convergence-evolution mechanism of crossover services for the adaptive transformation of service providers' businesses in this context. To address this problem, this paper proposes population-based and community-based convergence-evolution patterns from the ecological perspective. Based on the analysis of these evolution patterns and the driven force of service evolution, we propose an ecology-oriented evolution analysis method. Furthermore, we devise an automated tool to support the evolution design of crossover service ecosystems. Case studies and evaluation experiments show the feasibility and effectiveness of our proposed method and the corresponding tool.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138689405","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Readiness and maturity models for Industry 4.0: A systematic literature review 工业 4.0 的准备程度和成熟度模型:系统性文献综述
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-14 DOI: 10.1002/smr.2641
Hüseyin Ünlü, Onur Demirörs, Vahid Garousi

Industry 4.0 changes traditional manufacturing relationships from isolated optimized cells to fully integrated data and product flows across borders with its technological pillars. However, the transition to Industry 4.0 is not a straightforward journey in which organizations need assistance. A well-known approach that can be utilized during the early phases of the transition is to assess the capability of the organization. Maturity models are frequently used to improve capability. In this systematic literature review (SLR), we analyzed 22 maturity and readiness models based on 10 criteria: year, type, focus, structure, research methodology followed during the design of models, base frameworks, tool support, community support, objectivity, and extent of usage in practice. Our SLR provides a well-defined comparison for organizations to choose and apply available models. This SLR showed that (1) there is no widely accepted maturity/readiness model for Industry 4.0, as well as no international standard; (2) only a few models have received positive feedback from the industry, whereas most do not provide any practical usage information; and (3) the objectivity of the assessment method is controversial in most of the models. We have also identified a number of issues as open research areas for assessing readiness and maturity models for Industry 4.0.

工业 4.0 凭借其技术支柱,将传统的制造关系从孤立的优化单元转变为全面集成的数据和产品跨界流动。然而,向工业 4.0 转型并非一帆风顺,企业需要得到帮助。在过渡的早期阶段,一个众所周知的方法是评估组织的能力。成熟度模型常用于提高能力。在本系统性文献综述(SLR)中,我们根据以下 10 项标准分析了 22 个成熟度和准备度模型:年份、类型、重点、结构、模型设计过程中遵循的研究方法、基础框架、工具支持、社区支持、客观性以及在实践中的使用程度。我们的 SLR 为各组织选择和应用可用模型提供了明确的比较。该 SLR 表明:(1) 没有一个被广泛接受的工业 4.0 成熟度/准备度模型,也没有一个国际标准;(2) 只有少数模型得到了业界的积极反馈,而大多数模型没有提供任何实际使用信息;(3) 大多数模型的评估方法的客观性存在争议。我们还确定了一些问题,作为评估工业 4.0 准备状态和成熟度模型的开放研究领域。
{"title":"Readiness and maturity models for Industry 4.0: A systematic literature review","authors":"Hüseyin Ünlü,&nbsp;Onur Demirörs,&nbsp;Vahid Garousi","doi":"10.1002/smr.2641","DOIUrl":"10.1002/smr.2641","url":null,"abstract":"<p>Industry 4.0 changes traditional manufacturing relationships from isolated optimized cells to fully integrated data and product flows across borders with its technological pillars. However, the transition to Industry 4.0 is not a straightforward journey in which organizations need assistance. A well-known approach that can be utilized during the early phases of the transition is to assess the capability of the organization. Maturity models are frequently used to improve capability. In this systematic literature review (SLR), we analyzed 22 maturity and readiness models based on 10 criteria: year, type, focus, structure, research methodology followed during the design of models, base frameworks, tool support, community support, objectivity, and extent of usage in practice. Our SLR provides a well-defined comparison for organizations to choose and apply available models. This SLR showed that (1) there is no widely accepted maturity/readiness model for Industry 4.0, as well as no international standard; (2) only a few models have received positive feedback from the industry, whereas most do not provide any practical usage information; and (3) the objectivity of the assessment method is controversial in most of the models. We have also identified a number of issues as open research areas for assessing readiness and maturity models for Industry 4.0.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138689462","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
On the sustainability of deep learning projects: Maintainers' perspective 深度学习项目的可持续性:维护者的观点
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-13 DOI: 10.1002/smr.2645
Junxiao Han, Jiakun Liu, David Lo, Chen Zhi, Yishan Chen, Shuiguang Deng

Deep learning (DL) techniques have grown in leaps and bounds in both academia and industry over the past few years. Despite the growth of DL projects, there has been little study on how DL projects evolve, whether maintainers in this domain encounter a dramatic increase in workload and whether or not existing maintainers can guarantee the sustained development of projects. To address this gap, we perform an empirical study to investigate the sustainability of DL projects, understand maintainers' workloads and workloads growth in DL projects, and compare them with traditional open-source software (OSS) projects. In this regard, we first investigate how DL projects grow, then, understand maintainers' workload in DL projects, and explore the workload growth of maintainers as DL projects evolve. After that, we mine the relationships between maintainers' activities and the sustainability of DL projects. Eventually, we compare it with traditional OSS projects. Our study unveils that although DL projects show increasing trends in most activities, maintainers' workloads present a decreasing trend. Meanwhile, the proportion of workload maintainers conducted in DL projects is significantly lower than in traditional OSS projects. Moreover, there are positive and moderate correlations between the sustainability of DL projects and the number of maintainers' releases, pushes, and merged pull requests. Our findings shed lights that help understand maintainers' workload and growth trends in DL and traditional OSS projects and also highlight actionable directions for organizations, maintainers, and researchers.

在过去的几年里,深度学习(DL)技术在学术界和工业界都有了突飞猛进的发展。尽管深度学习项目在增长,但关于深度学习项目如何发展、该领域的维护者是否会遇到工作量的急剧增加以及现有维护者是否能够保证项目的持续发展的研究很少。为了解决这一差距,我们进行了一项实证研究,以调查DL项目的可持续性,了解DL项目中维护者的工作量和工作量增长,并将其与传统的开源软件(OSS)项目进行比较。在这方面,我们首先调查了深度学习项目是如何增长的,然后,了解了深度学习项目中维护者的工作量,并探讨了随着深度学习项目的发展维护者的工作量增长。之后,我们挖掘维护者的活动和DL项目的可持续性之间的关系。最后,我们将其与传统的OSS项目进行比较。我们的研究表明,尽管DL项目在大多数活动中显示出增加的趋势,但维护人员的工作量呈现出减少的趋势。同时,在DL项目中进行工作量维护的比例明显低于传统OSS项目。此外,DL项目的可持续性与维护者的发布、推送和合并的拉取请求的数量之间存在正相关和适度相关。我们的发现有助于理解DL和传统OSS项目中维护者的工作量和增长趋势,同时也为组织、维护者和研究人员强调了可操作的方向。
{"title":"On the sustainability of deep learning projects: Maintainers' perspective","authors":"Junxiao Han,&nbsp;Jiakun Liu,&nbsp;David Lo,&nbsp;Chen Zhi,&nbsp;Yishan Chen,&nbsp;Shuiguang Deng","doi":"10.1002/smr.2645","DOIUrl":"10.1002/smr.2645","url":null,"abstract":"<p>Deep learning (DL) techniques have grown in leaps and bounds in both academia and industry over the past few years. Despite the growth of DL projects, there has been little study on how DL projects evolve, whether maintainers in this domain encounter a dramatic increase in workload and whether or not existing maintainers can guarantee the sustained development of projects. To address this gap, we perform an empirical study to investigate the sustainability of DL projects, understand maintainers' workloads and workloads growth in DL projects, and compare them with traditional open-source software (OSS) projects. In this regard, we first investigate how DL projects grow, then, understand maintainers' workload in DL projects, and explore the workload growth of maintainers as DL projects evolve. After that, we mine the relationships between maintainers' activities and the sustainability of DL projects. Eventually, we compare it with traditional OSS projects. Our study unveils that although DL projects show increasing trends in most activities, maintainers' workloads present a decreasing trend. Meanwhile, the proportion of workload maintainers conducted in DL projects is significantly lower than in traditional OSS projects. Moreover, there are positive and moderate correlations between the sustainability of DL projects and the number of maintainers' releases, pushes, and merged pull requests. Our findings shed lights that help understand maintainers' workload and growth trends in DL and traditional OSS projects and also highlight actionable directions for organizations, maintainers, and researchers.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138630588","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
GUI testing of Android applications: Investigating the impact of the number of testers on different exploratory testing strategies 安卓应用程序的图形用户界面测试:研究测试人员数量对不同探索性测试策略的影响
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-11 DOI: 10.1002/smr.2640
Sergio Di Martino, Anna Rita Fasolino, Luigi Libero Lucio Starace, Porfirio Tramontana

Graphical user interface (GUI) testing plays a pivotal role in ensuring the quality and functionality of mobile apps. In this context, exploratory testing (ET), a distinctive methodology in which individual testers pursue a creative, and experience-based approach to test design, is often used as an alternative or in addition to traditional scripted testing. Managing the exploratory testing process is a challenging task that can easily result either in wasteful spending or in inadequate software quality, due to the relative unpredictability of exploratory testing activities, which depend on the skills and abilities of individual testers. A number of works have investigated the diversity of testers' performance when using ET strategies, often in a crowdtesting setting. These works, however, investigated ET effectiveness in detecting bugs, and not in scenarios in which the goal is to generate a re-executable test suite, as well. Moreover, less work has been conducted on evaluating the impact of adopting different exploratory testing strategies. As a first step toward filling this gap in the literature, in this work, we conduct an empirical evaluation involving four open-source Android apps and 20 masters students that we believe can be representative of practitioners partaking in exploratory testing activities. The students were asked to generate test suites for the apps using a capture and replay tool and different exploratory testing strategies. We then compare the effectiveness, in terms of aggregate code coverage that different-sized groups of students using different exploratory testing strategies may achieve. Results provide deeper insights into code coverage dynamics to project managers interested in using exploratory approaches to test simple Android apps, on which they can make more informed decisions.

图形用户界面(GUI)测试在确保移动应用的质量和功能方面起着关键作用。在这种情况下,探索性测试(ET)是一种独特的方法,在这种方法中,单个测试人员追求一种创造性的、基于经验的方法来进行测试设计,它经常被用作传统脚本测试的替代或补充。管理探索性测试过程是一项具有挑战性的任务,由于探索性测试活动的相对不可预测性,它依赖于单个测试人员的技能和能力,因此很容易导致浪费的支出或软件质量的不足。许多研究已经调查了测试者在使用ET策略时表现的多样性,通常是在众测环境中。然而,这些工作调查了ET在检测bug方面的有效性,而不是在以生成可重复执行的测试套件为目标的场景中。此外,在评估采用不同探索性测试策略的影响方面进行的工作较少。作为填补这一文献空白的第一步,在这项工作中,我们对四个开源Android应用程序和20名硕士生进行了实证评估,我们认为这些硕士生可以代表参与探索性测试活动的从业者。学生们被要求使用捕获和重播工具和不同的探索性测试策略为应用程序生成测试套件。然后我们比较有效性,根据使用不同探索性测试策略的不同规模的学生组可能达到的总代码覆盖率。结果为项目经理提供了对代码覆盖动态的更深入的了解,他们对使用探索性方法测试简单的Android应用程序感兴趣,从而可以做出更明智的决策。
{"title":"GUI testing of Android applications: Investigating the impact of the number of testers on different exploratory testing strategies","authors":"Sergio Di Martino,&nbsp;Anna Rita Fasolino,&nbsp;Luigi Libero Lucio Starace,&nbsp;Porfirio Tramontana","doi":"10.1002/smr.2640","DOIUrl":"10.1002/smr.2640","url":null,"abstract":"<p>Graphical user interface (GUI) testing plays a pivotal role in ensuring the quality and functionality of mobile apps. In this context, exploratory testing (ET), a distinctive methodology in which individual testers pursue a creative, and experience-based approach to test design, is often used as an alternative or in addition to traditional scripted testing. Managing the exploratory testing process is a challenging task that can easily result either in wasteful spending or in inadequate software quality, due to the relative unpredictability of exploratory testing activities, which depend on the skills and abilities of individual testers. A number of works have investigated the diversity of testers' performance when using ET strategies, often in a crowdtesting setting. These works, however, investigated ET effectiveness in detecting bugs, and not in scenarios in which the goal is to generate a re-executable test suite, as well. Moreover, less work has been conducted on evaluating the impact of adopting different exploratory testing strategies. As a first step toward filling this gap in the literature, in this work, we conduct an empirical evaluation involving four open-source Android apps and 20 masters students that we believe can be representative of practitioners partaking in exploratory testing activities. The students were asked to generate test suites for the apps using a capture and replay tool and different exploratory testing strategies. We then compare the effectiveness, in terms of aggregate code coverage that different-sized groups of students using different exploratory testing strategies may achieve. Results provide deeper insights into code coverage dynamics to project managers interested in using exploratory approaches to test simple Android apps, on which they can make more informed decisions.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2640","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138630585","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
The vital role of community in open source software development: A framework for assessment and ranking 社区在开源软件开发中的重要作用:评估和排名框架
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-07 DOI: 10.1002/smr.2643
Jaswinder Singh, Anu Gupta, Preet Kanwal

Open source software (OSS) follows a software development paradigm whereby self-motivated volunteers scattered all around the globe contribute to the development in the form of code, documentation, feedback, feature recommendations, bug reporting, and bug resolution. These volunteers, commonly referred to as OSS project community, serve as the foundation of the OSS project, fostering its creation and sustenance and providing long-term support. The quality and sustainability of the OSS project is reliant upon the development and structure of the self-governing community. When a business organization plans to acquire an OSS solution, it not only takes into consideration the factors such as reliability, security, and scalability but also attaches significant importance to the likelihood of the OSS project being maintained and supported in the future so that it can rely on it as a stable and secure technology solution. Modern cloud-based software hosting platforms, such as GitHub, offer a range of options for automatically and freely accessing the complete development history of millions of OSS projects. This easy availability of detailed development history has enabled researchers to analyze and draw quantitative and scientific inferences about the quality of an OSS project which generally involves assessing three aspects, namely, software product, development process, and project community. With focus on project community part, a Framework for Assessment and Ranking of OSS Community is being presented in the current research work, following a detailed examination of the largest source code hosting and project collaboration platform, GitHub. Technique for Order of Preference by Similarity to Ideal Solution from Multi-Criteria Decision-Making toolkit has been utilized for assessing the quality of the project community. The framework has been validated by applying it on nine OSS projects and comparing the results with the outcomes obtained through an existing OSS evaluation methodology. The comparative analysis demonstrated that the proposed framework aligns with the aforementioned evaluation methodology while offering an opportunity for in-depth analysis on the dynamics of volunteer communities, which is lacking in previous evaluation methods. These insights can prove valuable for both potential adopters and project maintainers, aiding them in making informed strategic decisions.

开放源码软件(OSS)遵循的是一种软件开发模式,即分散在全球各地的自发志愿者以代码、文档、反馈、功能建议、错误报告和错误解决等形式为软件开发做出贡献。这些志愿者通常被称为开放源码软件项目社区,他们是开放源码软件项目的基础,促进了项目的创建和维持,并提供长期支持。开放源码软件项目的质量和可持续性取决于自治社区的发展和结构。商业机构在计划购买开放源码软件解决方案时,不仅要考虑可靠性、安全性和可扩展性等因素,还要非常重视开放源码软件项目在未来得到维护和支持的可能性,以便将其作为稳定、安全的技术解决方案。基于云的现代软件托管平台(如 GitHub)提供了一系列选项,可自动、免费地访问数百万开放源码软件项目的完整开发历史。由于可以轻松获取详细的开发历史记录,研究人员可以对开放源码软件项目的质量进行分析,并得出科学的定量推论,这通常涉及对软件产品、开发过程和项目社区三个方面的评估。当前的研究工作侧重于项目社区部分,在对最大的源代码托管和项目协作平台 GitHub 进行详细研究后,提出了开放源码软件社区评估和排名框架。多标准决策工具包中的 "与理想解决方案相似度排序技术 "被用于评估项目社区的质量。通过将该框架应用于九个开放源码软件项目,并将结果与现有开放源码软件评估方法得出的结果进行比较,对该框架进行了验证。比较分析表明,建议的框架与上述评估方法一致,同时为深入分析志愿者社区的动态提供了机会,而这正是以前的评估方法所缺乏的。这些见解对潜在采用者和项目维护者都很有价值,有助于他们做出明智的战略决策。
{"title":"The vital role of community in open source software development: A framework for assessment and ranking","authors":"Jaswinder Singh,&nbsp;Anu Gupta,&nbsp;Preet Kanwal","doi":"10.1002/smr.2643","DOIUrl":"10.1002/smr.2643","url":null,"abstract":"<p>Open source software (OSS) follows a software development paradigm whereby self-motivated volunteers scattered all around the globe contribute to the development in the form of code, documentation, feedback, feature recommendations, bug reporting, and bug resolution. These volunteers, commonly referred to as OSS project community, serve as the foundation of the OSS project, fostering its creation and sustenance and providing long-term support. The quality and sustainability of the OSS project is reliant upon the development and structure of the self-governing community. When a business organization plans to acquire an OSS solution, it not only takes into consideration the factors such as reliability, security, and scalability but also attaches significant importance to the likelihood of the OSS project being maintained and supported in the future so that it can rely on it as a stable and secure technology solution. Modern cloud-based software hosting platforms, such as GitHub, offer a range of options for automatically and freely accessing the complete development history of millions of OSS projects. This easy availability of detailed development history has enabled researchers to analyze and draw quantitative and scientific inferences about the quality of an OSS project which generally involves assessing three aspects, namely, software product, development process, and project community. With focus on project community part, a Framework for Assessment and Ranking of OSS Community is being presented in the current research work, following a detailed examination of the largest source code hosting and project collaboration platform, GitHub. Technique for Order of Preference by Similarity to Ideal Solution from Multi-Criteria Decision-Making toolkit has been utilized for assessing the quality of the project community. The framework has been validated by applying it on nine OSS projects and comparing the results with the outcomes obtained through an existing OSS evaluation methodology. The comparative analysis demonstrated that the proposed framework aligns with the aforementioned evaluation methodology while offering an opportunity for in-depth analysis on the dynamics of volunteer communities, which is lacking in previous evaluation methods. These insights can prove valuable for both potential adopters and project maintainers, aiding them in making informed strategic decisions.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138563876","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
On the use of big data frameworks in big service management 论大数据框架在大业务管理中的应用
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-01 DOI: 10.1002/smr.2642
Fedia Ghedass, Faouzi Ben Charrada
<p>Over the last few years, big data have emerged as a paradigm for processing and analyzing a large volume of data. Coupled with other paradigms, such as cloud computing, service computing, and Internet of Things, big data processing takes advantage of the underlying cloud infrastructure, which allows hosting and managing massive amounts of data, while service computing allows to process and deliver various data sources as on-demand services. This synergy between multiple paradigms has led to the emergence of <i>big services</i>, as a cross-domain, large-scale, and big data-centric service model. Apart from the adaptation issues (e.g., need of high reaction to changes) inherited from other service models, the massiveness and heterogeneity of big services add a new factor of complexity to the way such a large-scale service ecosystem is managed in case of execution deviations. Indeed, big services are often subject to frequent deviations at both the functional (e.g., service failure, QoS degradation, and IoT resource unavailability) and data (e.g., data source unavailability or access restrictions) levels. Handling these execution problems is beyond the capacity of traditional web/cloud service management tools, and the majority of big service approaches have targeted specific management operations, such as selection and composition. To maintain a moderate state and high quality of their cross-domain execution, big services should be continuously monitored and managed in a scalable and autonomous way. To cope with the absence of self-management frameworks for large-scale services, the goal of this work is to design an autonomic management solution that takes the whole control of big services in an autonomous and distributed lifecycle process. We combine autonomic computing and big data processing paradigms to endow big services with <i>self-</i>* and <i>parallel processing</i> capabilities. The proposed management framework takes advantage of the well-known MapReduce programming model and Apache Spark and manages big service's related data using <i>knowledge graph technology</i>. We also define a <i>scalable embedding model</i> that allows processing and learning latent big service knowledge in a distributed manner. Finally, a <i>cooperative decision mechanism</i> is defined to trigger non-conflicting management policies in response to the captured deviations of the running big service. Big services' management tasks (monitoring, embedding, and decision), as well as the core modules (autonomic managers' controller, embedding module, and coordinator), are implemented on top of Apache Spark as MapReduce jobs, while the processed data are represented as resilient distributed dataset (RDD) structures. To exploit the shared information exchanged between the workers and the master node (coordinator), and for further resolution of conflicts between management policies, we endowed the proposed framework with a lightweight communication mechanism that allo
在过去的几年里,大数据已经成为处理和分析大量数据的范例。结合其他范例,如云计算、服务计算和物联网,大数据处理利用底层云基础设施,它允许托管和管理大量数据,而服务计算允许处理和交付各种数据源作为按需服务。多个范例之间的协同作用导致了大服务的出现,即跨域、大规模和以大数据为中心的服务模型。除了从其他服务模型继承的适应问题(例如,需要对更改做出高反应)之外,大型服务的大规模和异构性为这种大规模服务生态系统在执行偏差情况下的管理方式增加了新的复杂性因素。事实上,大型服务通常在功能(例如,服务故障,QoS降级和物联网资源不可用)和数据(例如,数据源不可用或访问限制)级别上经常出现偏差。处理这些执行问题超出了传统web/云服务管理工具的能力,并且大多数大型服务方法都针对特定的管理操作,例如选择和组合。为了保持适度的状态和高质量的跨域执行,应该以可扩展和自治的方式持续监控和管理大型服务。为了解决大规模服务缺乏自我管理框架的问题,这项工作的目标是设计一个自治管理解决方案,在自治和分布式生命周期过程中对大型服务进行全面控制。我们将自主计算和大数据处理模式相结合,赋予大服务自处理和并行处理能力。提出的管理框架利用知名的MapReduce编程模型和Apache Spark,利用知识图技术对大服务的相关数据进行管理。我们还定义了一个可扩展的嵌入模型,允许以分布式的方式处理和学习潜在的大服务知识。最后,定义了一个协作决策机制来触发无冲突的管理策略,以响应正在运行的大型服务的捕获偏差。大型服务的管理任务(监控、嵌入和决策)以及核心模块(自治管理器的控制器、嵌入模块和协调器)都在Apache Spark上作为MapReduce作业实现,而处理的数据则表示为弹性分布式数据集(RDD)结构。为了利用工作节点和主节点(协调器)之间交换的共享信息,并进一步解决管理策略之间的冲突,我们赋予所提出的框架一个轻量级的通信机制,允许在运行的map-reduce任务之间传递有用的知识,并过滤不适当的中间数据(例如,冲突的操作)。实验结果表明,在并行和合作环境下,由于知识共享,自主管理者的嵌入质量和绩效都有所提高。
{"title":"On the use of big data frameworks in big service management","authors":"Fedia Ghedass,&nbsp;Faouzi Ben Charrada","doi":"10.1002/smr.2642","DOIUrl":"10.1002/smr.2642","url":null,"abstract":"&lt;p&gt;Over the last few years, big data have emerged as a paradigm for processing and analyzing a large volume of data. Coupled with other paradigms, such as cloud computing, service computing, and Internet of Things, big data processing takes advantage of the underlying cloud infrastructure, which allows hosting and managing massive amounts of data, while service computing allows to process and deliver various data sources as on-demand services. This synergy between multiple paradigms has led to the emergence of &lt;i&gt;big services&lt;/i&gt;, as a cross-domain, large-scale, and big data-centric service model. Apart from the adaptation issues (e.g., need of high reaction to changes) inherited from other service models, the massiveness and heterogeneity of big services add a new factor of complexity to the way such a large-scale service ecosystem is managed in case of execution deviations. Indeed, big services are often subject to frequent deviations at both the functional (e.g., service failure, QoS degradation, and IoT resource unavailability) and data (e.g., data source unavailability or access restrictions) levels. Handling these execution problems is beyond the capacity of traditional web/cloud service management tools, and the majority of big service approaches have targeted specific management operations, such as selection and composition. To maintain a moderate state and high quality of their cross-domain execution, big services should be continuously monitored and managed in a scalable and autonomous way. To cope with the absence of self-management frameworks for large-scale services, the goal of this work is to design an autonomic management solution that takes the whole control of big services in an autonomous and distributed lifecycle process. We combine autonomic computing and big data processing paradigms to endow big services with &lt;i&gt;self-&lt;/i&gt;* and &lt;i&gt;parallel processing&lt;/i&gt; capabilities. The proposed management framework takes advantage of the well-known MapReduce programming model and Apache Spark and manages big service's related data using &lt;i&gt;knowledge graph technology&lt;/i&gt;. We also define a &lt;i&gt;scalable embedding model&lt;/i&gt; that allows processing and learning latent big service knowledge in a distributed manner. Finally, a &lt;i&gt;cooperative decision mechanism&lt;/i&gt; is defined to trigger non-conflicting management policies in response to the captured deviations of the running big service. Big services' management tasks (monitoring, embedding, and decision), as well as the core modules (autonomic managers' controller, embedding module, and coordinator), are implemented on top of Apache Spark as MapReduce jobs, while the processed data are represented as resilient distributed dataset (RDD) structures. To exploit the shared information exchanged between the workers and the master node (coordinator), and for further resolution of conflicts between management policies, we endowed the proposed framework with a lightweight communication mechanism that allo","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138527141","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Functional suitability assessment of smart contracts: A survey and first proposal 智能合约的功能适用性评估:调查和第一个建议
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-28 DOI: 10.1002/smr.2636
Anna Vacca, Michele Fredella, Andrea Di Sorbo, Corrado A. Visaggio, Mario Piattini

Blockchain is a cross-cutting technology allowing interactions among untrusted entities in a distributed manner without the need for involving a trusted third party. Smart contracts (i.e., programs running on the blockchain) enabled organizations to envision and implement solutions to real-world problems in less cost and time. Given the immutability of blockchain and the lack of best practices for properly designing and developing smart contracts, it is crucial to assure smart contract quality before deployment. With the help of an exploratory survey involving developers and researchers, this paper identifies the practices and tools used to develop, implement, and evaluate smart contracts. The survey received 55 valid responses. Such responses indicate that (i) inefficiencies may occur during the development cycle of a smart contract, especially regarding requirements specification, design, and testing phases, and (ii) the lack of a shared standard to evaluate the functional quality of implemented smart contracts. To start coping with these issues, the adoption of functional suitability assessment measures recommended by the ISO/IEC 25000 standard, widely used in software engineering, is proposed by adapting them to the context of smart contracts. Through some examples, the manuscript also illustrates how to measure the functional completeness and correctness of smart contracts. The proposed procedure to measure smart contract functional suitability brings advantages to both developers and users of decentralized finance or non-fungible tokens platforms, data marketplaces, or shipping and real estate services, just to mention a few. In particular, it helps (i) better outline the responsibilities of smart contracts, (ii) uncover errors and deficiencies of smart contracts in the early stages, and (iii) ensure that the established requirements are met.

区块链是一种横切技术,允许在不受信任的实体之间以分布式方式进行交互,而无需涉及受信任的第三方。智能合约(即在区块链上运行的程序)使组织能够以更少的成本和时间设想和实施现实世界问题的解决方案。鉴于区块链的不变性以及缺乏正确设计和开发智能合约的最佳实践,在部署之前确保智能合约的质量至关重要。在涉及开发人员和研究人员的探索性调查的帮助下,本文确定了用于开发、实施和评估智能合约的实践和工具。该调查收到了55份有效回复。这样的回应表明(i)在智能合约的开发周期中可能会出现效率低下的情况,特别是在需求规范、设计和测试阶段,以及(ii)缺乏评估已实施智能合约功能质量的共享标准。为了开始应对这些问题,建议采用ISO/IEC 25000标准推荐的功能适用性评估措施,该标准在软件工程中广泛使用,并将其适应智能合约的背景。本文还通过一些实例说明了如何衡量智能合约的功能完整性和正确性。拟议的衡量智能合约功能适用性的程序为去中心化金融或不可替代代币平台、数据市场或航运和房地产服务的开发人员和用户带来了优势,仅举几例。特别是,它有助于(i)更好地概述智能合约的责任,(ii)在早期阶段发现智能合约的错误和缺陷,以及(iii)确保满足既定的要求。
{"title":"Functional suitability assessment of smart contracts: A survey and first proposal","authors":"Anna Vacca,&nbsp;Michele Fredella,&nbsp;Andrea Di Sorbo,&nbsp;Corrado A. Visaggio,&nbsp;Mario Piattini","doi":"10.1002/smr.2636","DOIUrl":"10.1002/smr.2636","url":null,"abstract":"<p>Blockchain is a cross-cutting technology allowing interactions among untrusted entities in a distributed manner without the need for involving a trusted third party. Smart contracts (i.e., programs running on the blockchain) enabled organizations to envision and implement solutions to real-world problems in less cost and time. Given the immutability of blockchain and the lack of best practices for properly designing and developing smart contracts, it is crucial to assure smart contract quality before deployment. With the help of an exploratory survey involving developers and researchers, this paper identifies the practices and tools used to develop, implement, and evaluate smart contracts. The survey received 55 valid responses. Such responses indicate that (i) inefficiencies may occur during the development cycle of a smart contract, especially regarding requirements specification, design, and testing phases, and (ii) the lack of a shared standard to evaluate the functional quality of implemented smart contracts. To start coping with these issues, the adoption of functional suitability assessment measures recommended by the ISO/IEC 25000 standard, widely used in software engineering, is proposed by adapting them to the context of smart contracts. Through some examples, the manuscript also illustrates how to measure the functional completeness and correctness of smart contracts. The proposed procedure to measure smart contract functional suitability brings advantages to both developers and users of decentralized finance or non-fungible tokens platforms, data marketplaces, or shipping and real estate services, just to mention a few. In particular, it helps (i) better outline the responsibilities of smart contracts, (ii) uncover errors and deficiencies of smart contracts in the early stages, and (iii) ensure that the established requirements are met.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2636","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138527148","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A study of behavioral decay in design patterns 设计模式中行为衰减的研究
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-21 DOI: 10.1002/smr.2638
Derek Reimanis, Clemente Izurieta

Design patterns represent a means of communicating reusable solutions to common problems, provided they are implemented and maintained correctly. However, many design pattern instances erode as they age, sacrificing qualities they once provided. Identifying such instances of pattern decay is valuable because it allows for proactive attempts to extend the longevity and quality attributes of pattern components. Apart from structural decay, design patterns can exhibit symptoms of behavioral decay. We utilized a taxonomy that characterizes these negative behaviors and designed a case study wherein we measured structural and behavioral decay, hereafter referred to as pattern grime, as well as pattern quality and size, across pattern evolutions. We evaluated the relationships between structural and behavioral grime and found statistically significant cases of strong correlations between specific types of structural and behavioral grime. Furthermore, we extended the QATCH operational software quality model to incorporate design pattern evolution metrics and measured and correlated software quality to the presence of behavioral grime in software systems. Our results suggest a strong inverse relationship between software quality and behavioral grime.

设计模式代表了一种将可重用解决方案与常见问题进行通信的方法,前提是它们得到了正确的实现和维护。然而,许多设计模式实例随着它们的老化而逐渐消失,牺牲了它们曾经提供的品质。识别这种模式衰减的实例是有价值的,因为它允许主动尝试延长模式组件的寿命和质量属性。除了结构衰退,设计模式还会表现出行为衰退的症状。我们使用了一种分类法来描述这些消极行为,并设计了一个案例研究,在这个案例研究中,我们测量了结构和行为的衰减,之后称为模式污垢,以及模式质量和大小,跨越模式演变。我们评估了结构性尘垢和行为尘垢之间的关系,发现特定类型的结构性尘垢和行为尘垢之间存在统计学意义上的强相关性。此外,我们扩展了QATCH可操作的软件质量模型,将设计模式演化度量和可测量的软件质量与软件系统中行为污垢的存在相关联。我们的结果表明,软件质量和行为污垢之间存在强烈的反比关系。
{"title":"A study of behavioral decay in design patterns","authors":"Derek Reimanis,&nbsp;Clemente Izurieta","doi":"10.1002/smr.2638","DOIUrl":"10.1002/smr.2638","url":null,"abstract":"<p>Design patterns represent a means of communicating reusable solutions to common problems, provided they are implemented and maintained correctly. However, many design pattern instances erode as they age, sacrificing qualities they once provided. Identifying such instances of pattern decay is valuable because it allows for proactive attempts to extend the longevity and quality attributes of pattern components. Apart from structural decay, design patterns can exhibit symptoms of behavioral decay. We utilized a taxonomy that characterizes these negative behaviors and designed a case study wherein we measured structural and behavioral decay, hereafter referred to as pattern grime, as well as pattern quality and size, across pattern evolutions. We evaluated the relationships between structural and behavioral grime and found statistically significant cases of strong correlations between specific types of structural and behavioral grime. Furthermore, we extended the QATCH operational software quality model to incorporate design pattern evolution metrics and measured and correlated software quality to the presence of behavioral grime in software systems. Our results suggest a strong inverse relationship between software quality and behavioral grime.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-11-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138527154","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Journal of Software-Evolution and Process
全部 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