首页 > 最新文献

Journal of Software-Evolution and Process最新文献

英文 中文
A catalog of metrics at source code level for vulnerability prediction: A systematic mapping study 用于漏洞预测的源代码级别的度量的目录:一个系统的映射研究
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-17 DOI: 10.1002/smr.2639
Zadia Codabux, Kazi Zakia Sultana, Md Naseef-Ur-Rahman Chowdhury

Industry practitioners assess software from a security perspective to reduce the risks of deploying vulnerable software. Besides following security best practice guidelines during the software development life cycle, predicting vulnerability before roll-out is crucial. Software metrics are popular inputs for vulnerability prediction models. The objective of this study is to provide a comprehensive review of the source code-level security metrics presented in the literature. Our systematic mapping study started with 1451 studies obtained by searching the four digital libraries from ACM, IEEE, ScienceDirect, and Springer. After applying our inclusion/exclusion criteria as well as the snowballing technique, we narrowed down 28 studies for an in-depth study to answer four research questions pertaining to our goal. We extracted a total of 685 code-level metrics. For each study, we identified the empirical methods, quality measures, types of vulnerabilities of the prediction models, and shortcomings of the work. We found that standard machine learning models, such as decision trees, regressions, and random forests, are most frequently used for vulnerability prediction. The most common quality measures are precision, recall, accuracy, and F-measure. Based on our findings, we conclude that the list of software metrics for measuring code-level security is not universal or generic yet. Nonetheless, the results of our study can be used as a starting point for future studies aiming at improving existing security prediction models and a catalog of metrics for vulnerability prediction for software practitioners.

行业从业者从安全角度评估软件,以减少部署易受攻击软件的风险。除了在软件开发生命周期中遵循安全性最佳实践指导方针外,在推出之前预测漏洞也是至关重要的。软件度量是漏洞预测模型的常用输入。本研究的目的是对文献中提出的源代码级安全度量标准进行全面的回顾。我们的系统图谱研究从检索ACM、IEEE、ScienceDirect和Springer四个数字图书馆获得的1451项研究开始。在应用我们的纳入/排除标准以及滚雪球技术后,我们缩小了28项研究范围进行深入研究,以回答与我们的目标相关的四个研究问题。我们总共提取了685个代码级指标。对于每一项研究,我们确定了经验方法、质量度量、预测模型的脆弱性类型和工作的缺点。我们发现标准的机器学习模型,如决策树、回归和随机森林,最常用于漏洞预测。最常见的质量衡量标准是精度、召回率、准确度和F $$ F $$ -measure。根据我们的发现,我们得出结论,用于度量代码级安全性的软件度量列表还不是通用的或通用的。尽管如此,我们的研究结果可以作为未来研究的起点,旨在改进现有的安全预测模型,并为软件从业者提供漏洞预测的度量目录。
{"title":"A catalog of metrics at source code level for vulnerability prediction: A systematic mapping study","authors":"Zadia Codabux,&nbsp;Kazi Zakia Sultana,&nbsp;Md Naseef-Ur-Rahman Chowdhury","doi":"10.1002/smr.2639","DOIUrl":"10.1002/smr.2639","url":null,"abstract":"<p>Industry practitioners assess software from a security perspective to reduce the risks of deploying vulnerable software. Besides following security best practice guidelines during the software development life cycle, predicting vulnerability before roll-out is crucial. Software metrics are popular inputs for vulnerability prediction models. The objective of this study is to provide a comprehensive review of the source code-level security metrics presented in the literature. Our systematic mapping study started with 1451 studies obtained by searching the four digital libraries from ACM, IEEE, ScienceDirect, and Springer. After applying our inclusion/exclusion criteria as well as the snowballing technique, we narrowed down 28 studies for an in-depth study to answer four research questions pertaining to our goal. We extracted a total of 685 code-level metrics. For each study, we identified the empirical methods, quality measures, types of vulnerabilities of the prediction models, and shortcomings of the work. We found that standard machine learning models, such as decision trees, regressions, and random forests, are most frequently used for vulnerability prediction. The most common quality measures are precision, recall, accuracy, and \u0000<span></span><math>\u0000 <mi>F</mi></math>-measure. Based on our findings, we conclude that the list of software metrics for measuring code-level security is not universal or generic yet. Nonetheless, the results of our study can be used as a starting point for future studies aiming at improving existing security prediction models and a catalog of metrics for vulnerability prediction for software practitioners.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138527153","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
Exploring the context of use for voice user interfaces: Toward context-dependent user experience quality testing 探索语音用户界面的使用环境:面向依赖于环境的用户体验质量测试
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-14 DOI: 10.1002/smr.2618
Andreas M. Klein, Jana Deutschländer, Kristina Kölln, Maria Rauschenberger, Maria José Escalona

Voice user interface (VUI) systems, such as Alexa, Siri, and Google Assistant, are popular and widely available. Still, challenges such as privacy and the ability to have a dialog remain. In the latter example, the user expects a human-like conversation, that is, that the VUI understands the dialog and its context. However, this VUI feature of context-aware interaction is rather error prone. For this reason, we intend to explore the VUI context of use and its impact on interaction, that is, relevant user experience (UX). We see a demand for context-dependent UX measurement because analyzing the context of use and UX assessment are both critical human-centered design (HCD) methods. Therefore, we examine the VUI context of use by asking users about how, where, and for what they use VUIs, as well as their UX and improvement proposals. We interviewed people with disabilities who rely on VUIs and people without disabilities who use VUIs for convenience or fun. We identified VUI context-of-use categories and factors and explored their impacts on relevant UX qualities. Our result is a matrix containing these elements; thus, it provides an overview of the contextual UX of our target group's VUI interaction. We intend to develop a VUI context-of-use conceptual structure in the future based on this matrix, which is needed to create an automated context-dependent UX measurement recommendation tool for VUIs. This conceptual structure could also be useful for automated UX testing in the context of VUI.

语音用户界面(VUI)系统,如Alexa、Siri和Google Assistant,非常流行并且广泛可用。不过,隐私和对话能力等挑战依然存在。在后一个示例中,用户期望类似人类的对话,也就是说,VUI理解对话框及其上下文。然而,这种上下文感知交互的VUI特性很容易出错。因此,我们打算探讨VUI的使用环境及其对交互的影响,即相关用户体验(UX)。我们看到了对上下文相关的用户体验测量的需求,因为分析使用上下文和用户体验评估都是关键的以人为中心的设计(HCD)方法。因此,我们通过询问用户使用VUIs的方式、位置和目的,以及他们的用户体验和改进建议,来检查使用VUI的上下文。我们采访了依赖VUIs的残疾人和为了方便或乐趣而使用VUIs的非残疾人。我们确定了VUI使用环境类别和因素,并探讨了它们对相关UX质量的影响。我们的结果是一个包含这些元素的矩阵;因此,它提供了目标组的VUI交互的上下文UX的概述。我们打算在未来基于这个矩阵开发一个VUI使用上下文的概念结构,这是为VUI创建一个自动化的上下文相关的UX测量推荐工具所需要的。这个概念结构对于VUI上下文中的自动化UX测试也很有用。
{"title":"Exploring the context of use for voice user interfaces: Toward context-dependent user experience quality testing","authors":"Andreas M. Klein,&nbsp;Jana Deutschländer,&nbsp;Kristina Kölln,&nbsp;Maria Rauschenberger,&nbsp;Maria José Escalona","doi":"10.1002/smr.2618","DOIUrl":"10.1002/smr.2618","url":null,"abstract":"<p>Voice user interface (VUI) systems, such as Alexa, Siri, and Google Assistant, are popular and widely available. Still, challenges such as privacy and the ability to have a dialog remain. In the latter example, the user expects a human-like conversation, that is, that the VUI understands the dialog and its context. However, this VUI feature of context-aware interaction is rather error prone. For this reason, we intend to explore the VUI context of use and its impact on interaction, that is, relevant user experience (UX). We see a demand for context-dependent UX measurement because analyzing the context of use and UX assessment are both critical human-centered design (HCD) methods. Therefore, we examine the VUI context of use by asking users about how, where, and for what they use VUIs, as well as their UX and improvement proposals. We interviewed people with disabilities who rely on VUIs and people without disabilities who use VUIs for convenience or fun. We identified VUI context-of-use categories and factors and explored their impacts on relevant UX qualities. Our result is a matrix containing these elements; thus, it provides an overview of the contextual UX of our target group's VUI interaction. We intend to develop a VUI context-of-use conceptual structure in the future based on this matrix, which is needed to create an automated context-dependent UX measurement recommendation tool for VUIs. This conceptual structure could also be useful for automated UX testing in the context of VUI.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-11-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2618","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138527172","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 robust optimization model for software development costs considering time value of money 考虑时间价值的软件开发成本优化模型
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-14 DOI: 10.1002/smr.2632
Mohammadreza Namdar, Rassoul Noorossana

Determining “software release time” and “testing stop time” is a significant challenge in software projects, as both greatly affect the software cost and reliability. To overcome the drawbacks of past research, this study presents a novel robust optimization approach considering the interval estimation of input parameters for a software reliability growth model. It aims to detect the optimal “software release time” and “testing stop time” to minimize software development costs in an uncertain environment. Additionally, it considers the time value of money for calculating model costs by considering the interest rate and inflation. Generally, this research is the first attempt to use a robust approach for optimizing the software development cost considering the time value of money. The paper investigates the model efficiency in practical situations through a case study and analyzes the effect of the discounted rate and parameters uncertainty on the development cost using a software reliability growth model. The results confirm the prominent role of uncertain parameters and the discounted rate value on software development cost. They also indicate that the proposed mathematical model is more consistent with the actual situation and flexible than the past models with deterministic parameters.

确定“软件发布时间”和“测试停止时间”是软件项目中的一个重大挑战,因为它们对软件的成本和可靠性都有很大的影响。为了克服以往研究的不足,本文提出了一种考虑输入参数区间估计的软件可靠性增长模型鲁棒优化方法。它的目标是在不确定的环境中,检测最优的“软件发布时间”和“测试停止时间”,以最小化软件开发成本。此外,它考虑了货币的时间价值,通过考虑利率和通货膨胀来计算模型成本。一般来说,这项研究是第一次尝试使用一种健壮的方法来优化软件开发成本,考虑到金钱的时间价值。通过实例研究了模型在实际情况下的有效性,并利用软件可靠性增长模型分析了折现率和参数不确定性对开发成本的影响。结果证实了不确定参数和折现率值对软件开发成本的显著影响。结果表明,所提出的数学模型比以往的具有确定性参数的模型更符合实际情况,也更灵活。
{"title":"A robust optimization model for software development costs considering time value of money","authors":"Mohammadreza Namdar,&nbsp;Rassoul Noorossana","doi":"10.1002/smr.2632","DOIUrl":"10.1002/smr.2632","url":null,"abstract":"<p>Determining “software release time” and “testing stop time” is a significant challenge in software projects, as both greatly affect the software cost and reliability. To overcome the drawbacks of past research, this study presents a novel robust optimization approach considering the interval estimation of input parameters for a software reliability growth model. It aims to detect the optimal “software release time” and “testing stop time” to minimize software development costs in an uncertain environment. Additionally, it considers the time value of money for calculating model costs by considering the interest rate and inflation. Generally, this research is the first attempt to use a robust approach for optimizing the software development cost considering the time value of money. The paper investigates the model efficiency in practical situations through a case study and analyzes the effect of the discounted rate and parameters uncertainty on the development cost using a software reliability growth model. The results confirm the prominent role of uncertain parameters and the discounted rate value on software development cost. They also indicate that the proposed mathematical model is more consistent with the actual situation and flexible than the past models with deterministic parameters.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-11-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138527155","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
Multicriteria decision-making–based framework for implementing DevOps practices: A fuzzy best–worst approach 基于多标准决策的 DevOps 实践实施框架:模糊最佳-最差方法
IF 2 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-10 DOI: 10.1002/smr.2631
Ankur Kumar, Mohammad Nadeem, Mohammad Shameem

Increasingly, software organizations are implementing DevOps culture to benefit from it in terms of continuous testing, delivery, improvement, and so forth. Implementing DevOps is difficult due to a lack of understanding about the practices and their effective application for its effective implementation. This paper aims to explore different DevOps practices that can be implemented in software organizations. The study involves conducting a systematic literature review (SLR) to identify DevOps implementation practices, followed by the utilization of the fuzzy best–worst method (FBWM) to establish a taxonomy or classification of software practices. We have used an SLR to investigate the practices, and subsequently, the survey method was followed to validate the identified practices. Moreover, the best–worst method (BWM) was considered to evaluate the significance and develop the taxonomy of the practices. The results of this study extracted 19 practices that have been identified in the SLR process. The identified factors are further classified into six core DevOps lifecycle phases. The results of the BWM approach are shown. The outcomes of the study conclude that the proposed taxonomy of the practices could help DevOps practitioners and researchers effectively implement them in software development organizations.

越来越多的软件企业开始实施 DevOps 文化,以便在持续测试、交付和改进等方面从中受益。由于缺乏对 DevOps 实践及其有效应用的了解,实施 DevOps 十分困难。本文旨在探讨可在软件组织中实施的不同 DevOps 实践。研究包括进行系统文献回顾(SLR)以确定 DevOps 实施实践,然后利用模糊最佳-最差法(FBWM)对软件实践进行分类。我们使用 SLR 调查实践,随后使用调查法验证确定的实践。此外,我们还采用了最佳-最差法(BWM)来评估实践的重要性并对其进行分类。研究结果提取了可持续土地管理过程中已识别的 19 种做法。已识别的因素被进一步分类为六个核心 DevOps 生命周期阶段。显示了 BWM 方法的结果。研究结果表明,建议的实践分类法可帮助 DevOps 实践者和研究人员在软件开发组织中有效实施这些实践。
{"title":"Multicriteria decision-making–based framework for implementing DevOps practices: A fuzzy best–worst approach","authors":"Ankur Kumar,&nbsp;Mohammad Nadeem,&nbsp;Mohammad Shameem","doi":"10.1002/smr.2631","DOIUrl":"10.1002/smr.2631","url":null,"abstract":"<p>Increasingly, software organizations are implementing DevOps culture to benefit from it in terms of continuous testing, delivery, improvement, and so forth. Implementing DevOps is difficult due to a lack of understanding about the practices and their effective application for its effective implementation. This paper aims to explore different DevOps practices that can be implemented in software organizations. The study involves conducting a systematic literature review (SLR) to identify DevOps implementation practices, followed by the utilization of the fuzzy best–worst method (FBWM) to establish a taxonomy or classification of software practices. We have used an SLR to investigate the practices, and subsequently, the survey method was followed to validate the identified practices. Moreover, the best–worst method (BWM) was considered to evaluate the significance and develop the taxonomy of the practices. The results of this study extracted 19 practices that have been identified in the SLR process. The identified factors are further classified into six core DevOps lifecycle phases. The results of the BWM approach are shown. The outcomes of the study conclude that the proposed taxonomy of the practices could help DevOps practitioners and researchers effectively implement them in software development organizations.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 6","pages":""},"PeriodicalIF":2.0,"publicationDate":"2023-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135185952","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
SoliTester: Detecting exploitable external-risky vulnerability in smart contracts using contract account triggering method SoliTester:使用合约账户触发方法检测智能合约中可利用的外部风险漏洞
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-10 DOI: 10.1002/smr.2633
Tianyuan Hu, Jingyue Li, Xiangfei Xu, Bixin Li

The vulnerability in smart contracts (SCs) on the blockchain system may lead to severe security compromises. The SC can be invoked from an externally owned account (EOA) or a contract account (CA). The account a user creates to receive or send ether is an EOA. A CA contains codes that can interact with SCs. In Solidity SC, some vulnerabilities can only be exploited by the interactions between CAs and vulnerable SCs, which can be named external-risky vulnerabilities. Most state-of-the-art (SOTA) detectors detect external-risky vulnerabilities by executing contract codes as an EOA user, thus reporting many unexploitable vulnerabilities. Therefore, we propose a CA-triggering method to identify exploitable external-risky vulnerabilities in Solidity SCs. We first designed agent contracts to simulate CAs' interactions with the target SCs in the real blockchain environment. We then detect vulnerability exploitation by analyzing transaction logs between agent contracts and target SCs and identifying successful exploits. We implemented the CA-triggering method in a tool named SoliTester and evaluated it using three benchmark datasets, which contain three types of external-risky vulnerabilities, namely, Reentancy (RE), Unchecked Call (UcC), and TxOrigin (TO). The results show that SoliTester can efficiently detect exploitable external-risky vulnerabilities with significantly better precisions and recalls than SOTA detectors.

区块链系统中智能合约(SC)的漏洞可能会导致严重的安全隐患。SC 可以从外部拥有的账户(EOA)或合约账户(CA)中调用。用户为接收或发送以太坊而创建的账户就是 EOA。CA 包含可与 SC 交互的代码。在Solidity SC中,有些漏洞只能通过CA与易受攻击的SC之间的交互来利用,这些漏洞可被称为外部风险漏洞。大多数最先进的(SOTA)检测器都是通过作为 EOA 用户执行合同代码来检测外部风险漏洞的,因此会报告许多无法利用的漏洞。因此,我们提出了一种CA触发方法来识别Solidity SC中可利用的外部风险漏洞。我们首先设计了代理合约,模拟 CA 在真实区块链环境中与目标 SC 的交互。然后,我们通过分析代理合约与目标 SC 之间的交易日志来检测漏洞利用情况,并识别成功的漏洞利用。我们在名为 SoliTester 的工具中实现了 CA 触发方法,并使用三个基准数据集对其进行了评估,这三个基准数据集包含三种类型的外部风险漏洞,即 Reentancy (RE)、Unchecked Call (UcC) 和 TxOrigin (TO)。结果表明,SoliTester 可以有效地检测可利用的外部风险漏洞,其精确度和召回率明显优于 SOTA 检测器。
{"title":"SoliTester: Detecting exploitable external-risky vulnerability in smart contracts using contract account triggering method","authors":"Tianyuan Hu,&nbsp;Jingyue Li,&nbsp;Xiangfei Xu,&nbsp;Bixin Li","doi":"10.1002/smr.2633","DOIUrl":"10.1002/smr.2633","url":null,"abstract":"<p>The vulnerability in smart contracts (SCs) on the blockchain system may lead to severe security compromises. The SC can be invoked from an externally owned account (EOA) or a contract account (CA). The account a user creates to receive or send ether is an EOA. A CA contains codes that can interact with SCs. In Solidity SC, some vulnerabilities can only be exploited by the interactions between CAs and vulnerable SCs, which can be named <i><b>external-risky vulnerabilities</b></i>. Most state-of-the-art (SOTA) detectors detect external-risky vulnerabilities by executing contract codes as an EOA user, thus reporting many unexploitable vulnerabilities. Therefore, we propose a CA-triggering method to identify exploitable external-risky vulnerabilities in Solidity SCs. We first designed agent contracts to simulate CAs' interactions with the target SCs in the real blockchain environment. We then detect vulnerability exploitation by analyzing transaction logs between agent contracts and target SCs and identifying successful exploits. We implemented the CA-triggering method in a tool named SoliTester and evaluated it using three benchmark datasets, which contain three types of external-risky vulnerabilities, namely, Reentancy (RE), Unchecked Call (UcC), and TxOrigin (TO). The results show that SoliTester can efficiently detect exploitable external-risky vulnerabilities with significantly better precisions and recalls than SOTA detectors.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2023-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135142183","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
Change-aware model checking for evolving concurrent programs based on Program Dependence Net 基于程序依赖网的并发程序变化感知模型检查
IF 2 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-09 DOI: 10.1002/smr.2626
Shuo Li, Cheng Chen, Zheng Huang, Zhijun Ding

Concurrent software needs to be maintained over time, and the differences between continuous versions tend to be localized. The expense that simply reapplying standard model checking techniques to the new version as they evolve may be infeasible. The existing methods reuse partial state-space to reduce the scope. However, it is obviously costly to analyze on the explosive interleaving space of the evolving concurrent programs. The conservative change-impact analysis methods without considering the specific property and leveraging the verified result from the prior version often results in exploring redundant state-space irrelevant to this property. Moreover, the impact of the deleted elements needs to be analyzed on old version, and their impact needs to be mapped to new version, bringing some dispensable costs. In this paper, we propose a change-aware model checking method based on program dependence net (PDNet) for linear temporal logic (LTL). We first propose an incremental modeling method to construct a PDNet of new version by modification rules. Then, we propose a reuse checking algorithm to judge whether the verified result can be reused based on the PDNet slice. Finally, we implement change-aware model checking tool (DAMER) and validate the advantages of our methods.

并行软件需要长期维护,而连续版本之间的差异往往是局部的。在新版本的演进过程中,简单地将标准模型检查技术重新应用于新版本可能是不可行的。现有的方法可以重复使用部分状态空间来缩小范围。然而,对不断演化的并发程序的爆炸性交织空间进行分析显然代价高昂。保守的变更影响分析方法不考虑特定属性,也不利用先前版本的验证结果,结果往往是探索与该属性无关的冗余状态空间。此外,删除元素的影响需要对旧版本进行分析,并将其影响映射到新版本中,带来了一些可有可无的成本。本文提出了一种基于程序依赖网(PDNet)的线性时态逻辑(LTL)变化感知模型检查方法。我们首先提出了一种增量建模方法,通过修改规则构建新版本的 PDNet。然后,我们提出一种重用检查算法,根据 PDNet 片断判断验证结果是否可以重用。最后,我们实现了变更感知模型检查工具(DAMER),并验证了我们方法的优势。
{"title":"Change-aware model checking for evolving concurrent programs based on Program Dependence Net","authors":"Shuo Li,&nbsp;Cheng Chen,&nbsp;Zheng Huang,&nbsp;Zhijun Ding","doi":"10.1002/smr.2626","DOIUrl":"10.1002/smr.2626","url":null,"abstract":"<div>\u0000 \u0000 <p>Concurrent software needs to be maintained over time, and the differences between continuous versions tend to be localized. The expense that simply reapplying standard model checking techniques to the new version as they evolve may be infeasible. The existing methods reuse partial state-space to reduce the scope. However, it is obviously costly to analyze on the explosive interleaving space of the evolving concurrent programs. The conservative change-impact analysis methods without considering the specific property and leveraging the verified result from the prior version often results in exploring redundant state-space irrelevant to this property. Moreover, the <i>impact</i> of the deleted elements needs to be analyzed on old version, and their <i>impact</i> needs to be mapped to new version, bringing some dispensable costs. In this paper, we propose a change-aware model checking method based on program dependence net (PDNet) for linear temporal logic (LTL). We first propose an incremental modeling method to construct a PDNet of new version by modification rules. Then, we propose a reuse checking algorithm to judge whether the verified result can be reused based on the PDNet slice. Finally, we implement change-aware model checking tool (<i>DAMER</i>) and validate the advantages of our methods.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 6","pages":""},"PeriodicalIF":2.0,"publicationDate":"2023-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135285572","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
Factors influencing sustainability aspects in crowdsourced software development: A systematic literature review 影响众包软件开发可持续性的因素:系统性文献综述
IF 2 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-08 DOI: 10.1002/smr.2630
Waqas Haider, Muhammad Ilyas, Shah Khalid, Sikandar Ali

Crowdsource software development has become more and more popular in recent years in the software industry. Crowdsourcing is an open-call technique for outsourcing tasks to a broad and undefined crowd. Crowdsourcing provides numerous advantages including reduced costs, fast project completion, talent identification, diversity of solutions, top-quality, and access to problem-solving creativity. Despite of the benefits gained from crowdsourcing, there are numerous issues like lack of experienced workers, lack of confidentiality, copyright issues, software sustainability, and so forth. There is also less focus on the long-term sustainability of software development because of new ideas emerging in crowdsourcing software development. Furthermore, in literature, lack of guidelines towards sustainable software crowdsourcing is highlighted as one of the limitations in the software standards. This study aims to identify the factors that influence sustainability aspects in crowdsourced software development. We have conducted a systematic literature review for identification of these factors. In this paper, we present findings of the systematic literature review in the form of a list of 11 factors extracted from a sample of 45 finally selected papers. Among these factors, six of the factors are ranked as critical factors. These critical factors are “Lack of coding standard in documentation,” “Use of popular programming tools,” “Crowd Lack of knowledge and awareness about sustainability,” “Energy-efficient coding,” “Lack of awareness about sustainable software engineering practices,” and “Lack of coordination/communication between client and crowd.”

近年来,众包软件开发在软件行业越来越受欢迎。众包是一种将任务外包给广泛而不确定人群的公开征集技术。众包具有诸多优势,包括降低成本、快速完成项目、发现人才、解决方案多样化、高质量以及获得解决问题的创造力。尽管众包带来了诸多好处,但也存在许多问题,如缺乏有经验的工作人员、缺乏保密性、版权问题、软件的可持续性等。由于众包软件开发中出现的新想法,人们也不太关注软件开发的长期可持续性。此外,在文献中,缺乏可持续软件众包的指导方针被强调为软件标准的局限性之一。本研究旨在找出影响众包软件开发可持续性的因素。为确定这些因素,我们进行了系统的文献综述。在本文中,我们从 45 篇最终选定的论文样本中提取了 11 个因素,以列表的形式介绍了系统性文献综述的结果。在这些因素中,有六个因素被列为关键因素。这些关键因素是:"文档中缺乏编码标准"、"使用流行的编程工具"、"人群缺乏可持续发展的知识和意识"、"节能编码"、"缺乏对可持续软件工程实践的认识 "以及 "客户与人群之间缺乏协调/沟通"。
{"title":"Factors influencing sustainability aspects in crowdsourced software development: A systematic literature review","authors":"Waqas Haider,&nbsp;Muhammad Ilyas,&nbsp;Shah Khalid,&nbsp;Sikandar Ali","doi":"10.1002/smr.2630","DOIUrl":"10.1002/smr.2630","url":null,"abstract":"<p>Crowdsource software development has become more and more popular in recent years in the software industry. Crowdsourcing is an open-call technique for outsourcing tasks to a broad and undefined crowd. Crowdsourcing provides numerous advantages including reduced costs, fast project completion, talent identification, diversity of solutions, top-quality, and access to problem-solving creativity. Despite of the benefits gained from crowdsourcing, there are numerous issues like lack of experienced workers, lack of confidentiality, copyright issues, software sustainability, and so forth. There is also less focus on the long-term sustainability of software development because of new ideas emerging in crowdsourcing software development. Furthermore, in literature, lack of guidelines towards sustainable software crowdsourcing is highlighted as one of the limitations in the software standards. This study aims to identify the factors that influence sustainability aspects in crowdsourced software development. We have conducted a systematic literature review for identification of these factors. In this paper, we present findings of the systematic literature review in the form of a list of 11 factors extracted from a sample of 45 finally selected papers. Among these factors, six of the factors are ranked as critical factors. These critical factors are “Lack of coding standard in documentation,” “Use of popular programming tools,” “Crowd Lack of knowledge and awareness about sustainability,” “Energy-efficient coding,” “Lack of awareness about sustainable software engineering practices,” and “Lack of coordination/communication between client and crowd.”</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 6","pages":""},"PeriodicalIF":2.0,"publicationDate":"2023-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135391594","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
Specifying features in terms of domain models: MuDForM method definition and case study 用领域模型指定特征:MuDForM 方法定义和案例研究
IF 2 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-08 DOI: 10.1002/smr.2623
Robert Deckers, Patricia Lago

To enable the people involved in a software development process to communicate and reason close to their area of knowledge, we are investigating and engineering a method that formalizes and integrates knowledge of multiple domains into domain models and into specifications in terms of those domain models. We follow an action research approach, starting with a diagnosis phase, in which we have previously defined a set of method objectives, and performed a systematic literature review. During action planning, we defined how we are going to develop the method—called Multi-Domain Formalization Method (MuDForM). This paper reports on the methodical support for using a domain model as the terminology for feature specifications. During action taking, we defined an initial version of the method and set up case studies. During the evaluation phase, we performed a case study to validate how well the method helps in the specification of processes and to realize the case-specific objectives of the customer. The case study pertains to the formalization of the ISO26262 standard for functional safety in the automotive domain. The created models are explained to the involved experts to ensure their consistency with the original text. We found that MuDForM is suitable to systematically formalize processes described in natural language, such that the resulting process models are fully expressed in terms of domain concepts and concepts from outside the domains and processes of interest. Further, during the specifying learning phase, we have extended our method with concepts, steps, and guidelines for grammatical analysis, for formalization of constraints, and for the specification of processes.

为了使参与软件开发过程的人员能够就近交流和推理他们的知识领域,我们正在研究和设计一种方法,将多个领域的知识形式化并整合到领域模型中,并根据这些领域模型制定规范。我们采用的是行动研究方法,从诊断阶段开始,在诊断阶段,我们已经确定了一系列方法目标,并进行了系统的文献综述。在行动规划阶段,我们确定了开发方法,即多域形式化方法(MuDForM)。本文报告了使用领域模型作为特征规格术语的方法支持。在行动过程中,我们定义了该方法的初始版本,并进行了案例研究。在评估阶段,我们进行了一项案例研究,以验证该方法对流程规范和实现客户的特定目标有多大帮助。案例研究涉及汽车领域功能安全 ISO26262 标准的形式化。我们向相关专家解释了所创建的模型,以确保其与原文一致。我们发现,MuDForM 适合于系统地形式化以自然语言描述的流程,这样所创建的流程模型就可以用领域概念和相关领域及流程之外的概念来充分表达。此外,在具体化学习阶段,我们还扩展了我们的方法,为语法分析、约束的形式化和流程的具体化提供了概念、步骤和指南。
{"title":"Specifying features in terms of domain models: MuDForM method definition and case study","authors":"Robert Deckers,&nbsp;Patricia Lago","doi":"10.1002/smr.2623","DOIUrl":"10.1002/smr.2623","url":null,"abstract":"<p>To enable the people involved in a software development process to communicate and reason close to their area of knowledge, we are investigating and engineering a method that formalizes and integrates knowledge of multiple domains into domain models and into specifications in terms of those domain models. We follow an action research approach, starting with a diagnosis phase, in which we have previously defined a set of method objectives, and performed a systematic literature review. During action planning, we defined how we are going to develop the method—called Multi-Domain Formalization Method (MuDForM). This paper reports on the methodical support for using a domain model as the terminology for feature specifications. During action taking, we defined an initial version of the method and set up case studies. During the evaluation phase, we performed a case study to validate how well the method helps in the specification of processes and to realize the case-specific objectives of the customer. The case study pertains to the formalization of the ISO26262 standard for functional safety in the automotive domain. The created models are explained to the involved experts to ensure their consistency with the original text. We found that MuDForM is suitable to systematically formalize processes described in natural language, such that the resulting process models are fully expressed in terms of domain concepts and concepts from outside the domains and processes of interest. Further, during the specifying learning phase, we have extended our method with concepts, steps, and guidelines for grammatical analysis, for formalization of constraints, and for the specification of processes.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 6","pages":""},"PeriodicalIF":2.0,"publicationDate":"2023-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2623","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135391500","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 new taxonomy of global software development best practices using prioritization based on a fuzzy system 基于模糊系统的全球软件开发最佳实践新分类法,采用优先排序法
IF 2 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-07 DOI: 10.1002/smr.2629
Muhammad Azeem Akbar, Víctor Leiva

Effective management of development projects is crucial to delivering high-quality software within time and budget constraints. However, organizing geographically distributed software development activities presents unique challenges, including difficulties in face-to-face interaction and coordination. To assist the global software development community in updating and developing new project management techniques, identifying and prioritizing best practices is essential. This study aims to develop a taxonomy based on the prioritization of management practices for software development, drawing from empirical data. Fifty-five best practices associated with the Project Management Body of Knowledge (PMBOK) fields were identified from the existing literature. The study also empirically examines the acceptability and relevance of these practices within the industry. An analytic hierarchy process within a fuzzy system is employed to prioritize these practices based on their importance in managing global software development.

有效管理开发项目对于在时间和预算限制内交付高质量软件至关重要。然而,组织地域分布广泛的软件开发活动却面临着独特的挑战,包括面对面互动和协调方面的困难。为了帮助全球软件开发界更新和开发新的项目管理技术,确定最佳实践并对其进行优先排序至关重要。本研究旨在利用经验数据,根据软件开发管理实践的优先次序制定分类标准。从现有文献中确定了 55 项与项目管理知识体系(PMBOK)领域相关的最佳实践。本研究还通过实证检验了这些实践在行业内的可接受性和相关性。研究采用了模糊系统中的层次分析法,根据这些实践在管理全球软件开发中的重要性对其进行优先排序。
{"title":"A new taxonomy of global software development best practices using prioritization based on a fuzzy system","authors":"Muhammad Azeem Akbar,&nbsp;Víctor Leiva","doi":"10.1002/smr.2629","DOIUrl":"10.1002/smr.2629","url":null,"abstract":"<p>Effective management of development projects is crucial to delivering high-quality software within time and budget constraints. However, organizing geographically distributed software development activities presents unique challenges, including difficulties in face-to-face interaction and coordination. To assist the global software development community in updating and developing new project management techniques, identifying and prioritizing best practices is essential. This study aims to develop a taxonomy based on the prioritization of management practices for software development, drawing from empirical data. Fifty-five best practices associated with the Project Management Body of Knowledge (PMBOK) fields were identified from the existing literature. The study also empirically examines the acceptability and relevance of these practices within the industry. An analytic hierarchy process within a fuzzy system is employed to prioritize these practices based on their importance in managing global software development.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 3","pages":""},"PeriodicalIF":2.0,"publicationDate":"2023-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135539416","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
Mutation-based data augmentation for software defect prediction 基于突变的数据增强软件缺陷预测
IF 2 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-06 DOI: 10.1002/smr.2634
Rui Mao, Li Zhang, Xiaofang Zhang

Software defect prediction (SDP) aims to distinguish between defective and nondefective instances, but the imbalance between these two classes often leads to reduced prediction performance. Conventional SDP approaches use oversampling techniques, such as synthetic oversampling, to tackle the problem of imbalanced data. However, these methods merely synthesize new instances based on traditional code features without considering actual defects at the code level. To address the issue of data imbalance while preserving semantic features of code samples, a mutation-based data augmentation approach in SDP is proposed. The method utilizes the mutation operator to generate mutants that mutate nondefective instances and create new defective instances. Six projects from the PROMISE dataset are used to evaluate the approach, employing four traditional and two deep classifiers. The experimental results demonstrate the effectiveness of this method in improving defect prediction performance for both traditional and deep classifiers compared with other data augmentation methods.

软件缺陷预测(SDP)旨在区分有缺陷和无缺陷的实例,但这两类实例之间的不平衡往往会降低预测性能。传统的 SDP 方法使用过采样技术(如合成过采样)来解决数据不平衡的问题。然而,这些方法只是根据传统代码特征合成新实例,而没有考虑代码级的实际缺陷。为了解决数据不平衡问题,同时保留代码样本的语义特征,我们提出了一种基于突变的 SDP 数据扩增方法。该方法利用突变算子生成突变体,突变非缺陷实例并创建新的缺陷实例。PROMISE 数据集中的六个项目采用了四种传统分类器和两种深度分类器对该方法进行了评估。实验结果表明,与其他数据增强方法相比,该方法能有效提高传统分类器和深度分类器的缺陷预测性能。
{"title":"Mutation-based data augmentation for software defect prediction","authors":"Rui Mao,&nbsp;Li Zhang,&nbsp;Xiaofang Zhang","doi":"10.1002/smr.2634","DOIUrl":"10.1002/smr.2634","url":null,"abstract":"<p>Software defect prediction (SDP) aims to distinguish between defective and nondefective instances, but the imbalance between these two classes often leads to reduced prediction performance. Conventional SDP approaches use oversampling techniques, such as synthetic oversampling, to tackle the problem of imbalanced data. However, these methods merely synthesize new instances based on traditional code features without considering actual defects at the code level. To address the issue of data imbalance while preserving semantic features of code samples, a mutation-based data augmentation approach in SDP is proposed. The method utilizes the mutation operator to generate mutants that mutate nondefective instances and create new defective instances. Six projects from the PROMISE dataset are used to evaluate the approach, employing four traditional and two deep classifiers. The experimental results demonstrate the effectiveness of this method in improving defect prediction performance for both traditional and deep classifiers compared with other data augmentation methods.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 6","pages":""},"PeriodicalIF":2.0,"publicationDate":"2023-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135679472","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