首页 > 最新文献

Journal of Software-Evolution and Process最新文献

英文 中文
Trustworthy and collaborative traceability management: Experts’ feedback on a blockchain-enabled framework 值得信赖的协作式溯源管理:专家对区块链框架的反馈意见
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-01 DOI: 10.1002/smr.2707
Selina Demi, Mary Sánchez-Gordón, Monica Kristiansen, Xabier Larrucea

Blockchain technology has attracted significant attention in both academia and industry. Recently, the application of blockchain has been advocated in software engineering. The global software engineering paradigm exacerbates trust issues, as distributed and cross-organizational teams need to share software artifacts. In such a context, there is a need for a decentralized yet reliable traceability knowledge base to keep track of what/how/when/by whom software artifacts were created or changed. This study presents a blockchain-enabled framework for trustworthy and collaborative traceability management and identifies benefits, challenges, and potential improvements based on the feedback of software engineering experts. A qualitative approach was followed in this study through semistructured interviews with software engineering (SE) experts. Transcripts were analyzed by applying the content analysis technique. The results indicated the emergence of five categories, further grouped into three main categories: experts' perceptions, blockchain-based software process improvement, and experts' recommendations. In addition, the findings suggested four archetypes of organizations that may be interested in blockchain technology: distributed organizations, organizations with contract-based projects, organizations in regulated domains, and regulators who may push the use of this technology. Further efforts should be devoted to the integration of the proposal with tools used throughout the software development lifecycle and leveraging the potential of smart contracts in validating the implementation of requirements automatically.

区块链技术在学术界和工业界都引起了极大的关注。最近,有人提倡在软件工程中应用区块链。全球软件工程模式加剧了信任问题,因为分布式和跨组织团队需要共享软件工件。在这种情况下,需要一个去中心化但可靠的可追溯性知识库,以跟踪软件工件的创建或更改内容/方式/时间/对象。本研究提出了一个区块链框架,用于可信的协作式可追溯性管理,并根据软件工程专家的反馈意见确定了其优势、挑战和潜在的改进措施。本研究采用定性方法,对软件工程(SE)专家进行了半结构化访谈。采用内容分析法对访谈记录进行了分析。结果显示出现了五个类别,并进一步分为三大类:专家的看法、基于区块链的软件流程改进和专家建议。此外,研究结果还提出了可能对区块链技术感兴趣的四种组织类型:分布式组织、基于合同项目的组织、受监管领域的组织以及可能推动使用该技术的监管机构。应进一步努力将该建议与软件开发生命周期中使用的工具相结合,并利用智能合约在自动验证需求实施方面的潜力。
{"title":"Trustworthy and collaborative traceability management: Experts’ feedback on a blockchain-enabled framework","authors":"Selina Demi,&nbsp;Mary Sánchez-Gordón,&nbsp;Monica Kristiansen,&nbsp;Xabier Larrucea","doi":"10.1002/smr.2707","DOIUrl":"10.1002/smr.2707","url":null,"abstract":"<p>Blockchain technology has attracted significant attention in both academia and industry. Recently, the application of blockchain has been advocated in software engineering. The global software engineering paradigm exacerbates trust issues, as distributed and cross-organizational teams need to share software artifacts. In such a context, there is a need for a decentralized yet reliable traceability knowledge base to keep track of what/how/when/by whom software artifacts were created or changed. This study presents a blockchain-enabled framework for trustworthy and collaborative traceability management and identifies benefits, challenges, and potential improvements based on the feedback of software engineering experts. A qualitative approach was followed in this study through semistructured interviews with software engineering (SE) experts. Transcripts were analyzed by applying the content analysis technique. The results indicated the emergence of five categories, further grouped into three main categories: experts' perceptions, blockchain-based software process improvement, and experts' recommendations. In addition, the findings suggested four archetypes of organizations that may be interested in blockchain technology: distributed organizations, organizations with contract-based projects, organizations in regulated domains, and regulators who may push the use of this technology. Further efforts should be devoted to the integration of the proposal with tools used throughout the software development lifecycle and leveraging the potential of smart contracts in validating the implementation of requirements automatically.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 11","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2707","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141514087","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
Software maintenance practices using agile methods towards cloud environment: A systematic mapping 面向云环境使用敏捷方法的软件维护实践:系统映射
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-01 DOI: 10.1002/smr.2698
Mohammed Almashhadani, Alok Mishra, Ali Yazici

Agile methods have emerged to overcome the obstacles of structured methodologies, such as the waterfall, prototype, spiral, and so on. There are studies showing the usefulness of agile approaches in software development. However, studies on Agile maintenance are very limited in number. Regardless of the chosen methodology, software maintenance can be carried out in either a local (on-the-premise) or global (distributed) environment. In a local environment, the software maintenance team is co-located on the same premises, while in a global environment, the team is geographically dispersed from the customer. The main objective of this Systematic Mapping (SM) study is to identify the practices useful for software maintenance using the Agile approaches in the Cloud environment. We have conducted a comprehensive search in well-known digital databases and examined the articles that map to the pre-defined inclusion criteria. The study selected and analyzed 48 articles out of 320 published between 2000 and 2022. The findings of the mapping study reveal that Agile can resolve the major issues faced in traditional software maintenance, making the role of this approach significant in global/distributed software maintenance. Cloud computing plays a vital role in software maintenance. Most of the studies highlight the application of XP- and Scrum-based Agile maintenance models. The study found a need for more Agile maintenance solutions in the cloud, highlighting the importance of agile in software maintenance, both locally and globally. Irrespective of the environment, Cloud computing provides a centralized platform for collaboration and communication, while also offering scalability and flexibility to adapt to diverse infrastructure needs. This allows agile maintenance practices to be implemented across both local and global environments, leveraging the cloud's capabilities to overcome geographical and infrastructural challenges.

敏捷方法的出现克服了瀑布式、原型式、螺旋式等结构化方法的障碍。有研究表明,敏捷方法在软件开发中非常有用。然而,关于敏捷维护的研究却非常有限。无论选择哪种方法,软件维护都可以在本地(内部)或全球(分布式)环境中进行。在本地环境中,软件维护团队位于同一地点,而在全球环境中,团队与客户在地理位置上是分散的。本系统映射(SM)研究的主要目的是确定在云环境中使用敏捷方法进行软件维护的有用实践。我们在著名的数字数据库中进行了全面搜索,并检查了符合预定义纳入标准的文章。本研究从 2000 年至 2022 年间发表的 320 篇文章中挑选并分析了 48 篇。映射研究的结果表明,敏捷可以解决传统软件维护中面临的主要问题,使这种方法在全球/分布式软件维护中发挥重要作用。云计算在软件维护中发挥着重要作用。大多数研究都强调了基于 XP 和 Scrum 的敏捷维护模型的应用。研究发现,云计算中需要更多的敏捷维护解决方案,这凸显了敏捷在本地和全球软件维护中的重要性。无论在什么环境下,云计算都能为协作和交流提供一个集中的平台,同时还能提供可扩展性和灵活性,以适应不同的基础设施需求。这使得敏捷维护实践可以在本地和全球环境中实施,利用云计算的能力克服地理和基础设施方面的挑战。
{"title":"Software maintenance practices using agile methods towards cloud environment: A systematic mapping","authors":"Mohammed Almashhadani,&nbsp;Alok Mishra,&nbsp;Ali Yazici","doi":"10.1002/smr.2698","DOIUrl":"10.1002/smr.2698","url":null,"abstract":"<p>Agile methods have emerged to overcome the obstacles of structured methodologies, such as the waterfall, prototype, spiral, and so on. There are studies showing the usefulness of agile approaches in software development. However, studies on Agile maintenance are very limited in number. Regardless of the chosen methodology, software maintenance can be carried out in either a local (on-the-premise) or global (distributed) environment. In a local environment, the software maintenance team is co-located on the same premises, while in a global environment, the team is geographically dispersed from the customer. The main objective of this Systematic Mapping (SM) study is to identify the practices useful for software maintenance using the Agile approaches in the Cloud environment. We have conducted a comprehensive search in well-known digital databases and examined the articles that map to the pre-defined inclusion criteria. The study selected and analyzed 48 articles out of 320 published between 2000 and 2022. The findings of the mapping study reveal that Agile can resolve the major issues faced in traditional software maintenance, making the role of this approach significant in global/distributed software maintenance. Cloud computing plays a vital role in software maintenance. Most of the studies highlight the application of XP- and Scrum-based Agile maintenance models. The study found a need for more Agile maintenance solutions in the cloud, highlighting the importance of agile in software maintenance, both locally and globally. Irrespective of the environment, Cloud computing provides a centralized platform for collaboration and communication, while also offering scalability and flexibility to adapt to diverse infrastructure needs. This allows agile maintenance practices to be implemented across both local and global environments, leveraging the cloud's capabilities to overcome geographical and infrastructural challenges.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 11","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2698","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141514086","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
Towards a security-optimized approach for the microservice-oriented decomposition 面向微服务分解的安全优化方法
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-27 DOI: 10.1002/smr.2670
Xiaodong Liu, Zhikun Chen, Yu Qian, Chenxing Zhong, Huang Huang, Shanshan Li, Dong Shao

Microservice architecture (MSA) is a mainstream architectural style due to its high maintainability and scalability. In practice, an appropriate microservice-oriented decomposition is the foundation to make a system enjoy the benefits of MSA. In terms of decomposing monolithic systems into microservices, researchers have been exploring many optimization objectives, of which modularity is a predominantly focused quality attribute. Security is also a critical quality attribute, that measures the extent to which a system protects data from malicious access or use by attackers. Considering security in microservices-oriented decomposition can help avoid the risk of leaking critical data and other unexpected software security issues. However, few researchers consider the security objective during microservice-oriented decomposition, because the measurement of security and the trade-off with other objectives are challenging in reality. To bridge this research gap, we propose a security-optimized approach for microservice-oriented decomposition (So4MoD). In this approach, we adapt five metrics from previous studies for the measurement of the data security of candidate microservices. A multi-objective optimization algorithm based on NSGA-II is designed to search for microservices with optimized security and modularity. To validate the effectiveness of the proposed So4MoD, we perform several experiments on eight open-source projects and compare the decomposition results to other three state-of-the-art approaches, that is, FoSCI, CO-GCN, and MSExtractor. The experiment results show that our approach can achieve at least an 11.5% improvement in terms of security metrics. Moreover, the decomposition results of So4MoD outperform other approaches in four modularity metrics, demonstrating that So4MoD can optimize data security while pursuing a well-modularized MSA.

微服务架构(MSA)因其高可维护性和可扩展性而成为一种主流架构风格。在实践中,适当的面向微服务的分解是使系统享受 MSA 好处的基础。在将单体系统分解为微服务方面,研究人员一直在探索许多优化目标,其中模块化是主要的重点质量属性。安全性也是一个重要的质量属性,它衡量的是系统保护数据免遭攻击者恶意访问或使用的程度。在面向微服务的分解中考虑安全性,有助于避免关键数据泄露的风险和其他意想不到的软件安全问题。然而,很少有研究人员在面向微服务的分解过程中考虑安全目标,因为安全的衡量以及与其他目标的权衡在现实中具有挑战性。为了弥补这一研究空白,我们提出了一种面向微服务分解的安全优化方法(So4MoD)。在这种方法中,我们采用了以往研究中的五个指标来衡量候选微服务的数据安全性。我们设计了一种基于 NSGA-II 的多目标优化算法,用于搜索具有优化安全性和模块性的微服务。为了验证所提出的 So4MoD 的有效性,我们在八个开源项目上进行了多次实验,并将分解结果与其他三种最先进的方法(即 FoSCI、CO-GCN 和 MSExtractor)进行了比较。实验结果表明,我们的方法在安全指标方面至少提高了 11.5%。此外,So4MoD 的分解结果在四个模块化指标上都优于其他方法,这表明 So4MoD 可以在追求良好模块化 MSA 的同时优化数据安全性。
{"title":"Towards a security-optimized approach for the microservice-oriented decomposition","authors":"Xiaodong Liu,&nbsp;Zhikun Chen,&nbsp;Yu Qian,&nbsp;Chenxing Zhong,&nbsp;Huang Huang,&nbsp;Shanshan Li,&nbsp;Dong Shao","doi":"10.1002/smr.2670","DOIUrl":"10.1002/smr.2670","url":null,"abstract":"<p>Microservice architecture (MSA) is a mainstream architectural style due to its high maintainability and scalability. In practice, an appropriate microservice-oriented decomposition is the foundation to make a system enjoy the benefits of MSA. In terms of decomposing monolithic systems into microservices, researchers have been exploring many optimization objectives, of which modularity is a predominantly focused quality attribute. Security is also a critical quality attribute, that measures the extent to which a system protects data from malicious access or use by attackers. Considering security in microservices-oriented decomposition can help avoid the risk of leaking critical data and other unexpected software security issues. However, few researchers consider the security objective during microservice-oriented decomposition, because the measurement of security and the trade-off with other objectives are challenging in reality. To bridge this research gap, we propose a security-optimized approach for microservice-oriented decomposition (So4MoD). In this approach, we adapt five metrics from previous studies for the measurement of the data security of candidate microservices. A multi-objective optimization algorithm based on NSGA-II is designed to search for microservices with optimized security and modularity. To validate the effectiveness of the proposed So4MoD, we perform several experiments on eight open-source projects and compare the decomposition results to other three state-of-the-art approaches, that is, FoSCI, CO-GCN, and MSExtractor. The experiment results show that our approach can achieve at least an 11.5% improvement in terms of security metrics. Moreover, the decomposition results of So4MoD outperform other approaches in four modularity metrics, demonstrating that So4MoD can optimize data security while pursuing a well-modularized MSA.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141506978","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
Crowdsourced bug report severity prediction based on text and image understanding via heterogeneous graph convolutional networks 基于异构图卷积网络的文本和图像理解的众包错误报告严重性预测
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-27 DOI: 10.1002/smr.2705
Yifan Wu, Chendong Lin, An Liu, Lei Zhao, Xiaofang Zhang

In the process of crowdsourced testing, massive bug reports are submitted. Among them, the severity level of the bug report is an important indicator for traigers of crowdsourced platforms to arrange the order of reports efficiently so that developers can prioritize high-severity defects. A lot of work has been devoted to the study of automatically assigning severity levels to a large number of bug reports in crowdsourcing test systems. The research objects of these works are standard bug reports, focusing on the text part of the report, using various feature engineering methods and classification techniques. However, while achieving good performance, these methods still need to overcome two challenges: no consideration of image information in mobile testing and discontinuous semantic information of words in bug reports. In this paper, we propose a new method of severity prediction by using heterogeneous graph convolutional networks with screenshots (SPHGCN-S), which combines text features and screenshots information to understand the report more comprehensively. In addition, our approach applies the heterogeneous graph convolutional network (HGCN) architecture, which can capture the global word information to alleviate the semantic problem of word discontinuity and underlying relations between reports. We conduct a comprehensive study to compare seven commonly adopted bug report severity prediction methods with our approach. The experimental results show that our approach SPHGCN-S can improve severity prediction performance and effectively predict reports with high severity.

在众包测试过程中,会有大量的错误报告提交。其中,错误报告的严重程度是众包平台的跟踪人员有效安排报告顺序的重要指标,以便开发人员优先处理严重程度高的缺陷。在众包测试系统中,很多人致力于研究如何为大量错误报告自动分配严重程度。这些工作的研究对象是标准错误报告,重点是报告的文本部分,并使用了各种特征工程方法和分类技术。然而,这些方法在取得良好性能的同时,仍需克服两个难题:移动测试中不考虑图像信息和错误报告中单词语义信息的不连续性。在本文中,我们提出了一种利用异构图卷积网络(SPHGCN-S)进行严重性预测的新方法,该方法结合了文本特征和截图信息,能更全面地理解报告。此外,我们的方法采用了异构图卷积网络(HGCN)架构,可以捕捉全局的单词信息,从而缓解单词不连贯的语义问题以及报告之间的潜在关系。我们进行了一项综合研究,将七种常用的错误报告严重性预测方法与我们的方法进行了比较。实验结果表明,我们的方法 SPHGCN-S 可以提高严重性预测性能,并有效预测高严重性报告。
{"title":"Crowdsourced bug report severity prediction based on text and image understanding via heterogeneous graph convolutional networks","authors":"Yifan Wu,&nbsp;Chendong Lin,&nbsp;An Liu,&nbsp;Lei Zhao,&nbsp;Xiaofang Zhang","doi":"10.1002/smr.2705","DOIUrl":"10.1002/smr.2705","url":null,"abstract":"<p>In the process of crowdsourced testing, massive bug reports are submitted. Among them, the severity level of the bug report is an important indicator for traigers of crowdsourced platforms to arrange the order of reports efficiently so that developers can prioritize high-severity defects. A lot of work has been devoted to the study of automatically assigning severity levels to a large number of bug reports in crowdsourcing test systems. The research objects of these works are standard bug reports, focusing on the text part of the report, using various feature engineering methods and classification techniques. However, while achieving good performance, these methods still need to overcome two challenges: no consideration of image information in mobile testing and discontinuous semantic information of words in bug reports. In this paper, we propose a new method of severity prediction by using heterogeneous graph convolutional networks with screenshots (SPHGCN-S), which combines text features and screenshots information to understand the report more comprehensively. In addition, our approach applies the heterogeneous graph convolutional network (HGCN) architecture, which can capture the global word information to alleviate the semantic problem of word discontinuity and underlying relations between reports. We conduct a comprehensive study to compare seven commonly adopted bug report severity prediction methods with our approach. The experimental results show that our approach SPHGCN-S can improve severity prediction performance and effectively predict reports with high severity.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 11","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141507010","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
Evaluation of the fixed-point iteration of minimizing delta debugging 对最小化三角调试的定点迭代进行评估
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-23 DOI: 10.1002/smr.2702
Dániel Vince, Ákos Kiss

The minimizing Delta Debugging (DDMIN) was among the first algorithms designed to automate the task of reducing test cases. Its popularity is based on the characteristics that it works on any kind of input, without knowledge about the input structure. Several studies proved that smaller outputs can be produced faster with more advanced techniques (e.g., building a tree representation of the input and reducing that data structure); however, if the structure is unknown or changing frequently, maintaining the descriptors might not be resource-efficient. Therefore, in this paper, we focus on the evaluation of the novel fixed-point iteration of minimizing Delta Debugging (DDMIN*) on publicly available test suites related to software engineering. Our experiments show that DDMIN* can help reduce inputs further by 48.08% on average compared to DDMIN (using lines as the units of the reduction). Although the effectiveness of the algorithm improved, it comes with the cost of additional testing steps. This study shows how the characteristics of the input affect the results and when it pays off using DDMIN*.

最小化三角洲调试(DDMIN)是最早为自动减少测试用例而设计的算法之一。它之所以广受欢迎,是因为它可以在不了解输入结构的情况下对任何类型的输入进行处理。一些研究证明,使用更先进的技术(例如,建立输入的树形表示并减少该数据结构)可以更快地生成更小的输出;但是,如果结构未知或经常变化,维护描述符可能并不节约资源。因此,在本文中,我们将重点在与软件工程相关的公开测试套件上评估最小化三角调试(DDMIN*)的新型定点迭代。我们的实验表明,与 DDMIN 相比,DDMIN* 可以帮助进一步减少输入,平均减少 48.08%(使用行作为减少的单位)。虽然该算法的有效性有所提高,但也付出了额外测试步骤的代价。这项研究显示了输入的特性如何影响结果,以及何时使用 DDMIN* 能带来收益。
{"title":"Evaluation of the fixed-point iteration of minimizing delta debugging","authors":"Dániel Vince,&nbsp;Ákos Kiss","doi":"10.1002/smr.2702","DOIUrl":"10.1002/smr.2702","url":null,"abstract":"<p>The minimizing Delta Debugging (DDMIN) was among the first algorithms designed to automate the task of reducing test cases. Its popularity is based on the characteristics that it works on any kind of input, without knowledge about the input structure. Several studies proved that smaller outputs can be produced faster with more advanced techniques (e.g., building a tree representation of the input and reducing that data structure); however, if the structure is unknown or changing frequently, maintaining the descriptors might not be resource-efficient. Therefore, in this paper, we focus on the evaluation of the novel fixed-point iteration of minimizing Delta Debugging (DDMIN*) on publicly available test suites related to software engineering. Our experiments show that DDMIN* can help reduce inputs further by 48.08% on average compared to DDMIN (using lines as the units of the reduction). Although the effectiveness of the algorithm improved, it comes with the cost of additional testing steps. This study shows how the characteristics of the input affect the results and when it pays off using DDMIN*.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141506979","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
Automated construction of reference model for software remodularization through software evolution 通过软件进化自动构建软件重模块化参考模型
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-19 DOI: 10.1002/smr.2700
Fanyi Meng, Hai Yu, Chun Yong Chong, Ying Wang, Zhiliang Zhu

The undocumented evolution of a software project and its underlying architecture underscores the need to recover the architecture from the software's implementation-level artifacts. Despite the existence of various software remodularization techniques, they often suffer from inaccuracies, and evaluating their effectiveness is challenging due to the absence of accurate “ground-truth” architectures or reference models. Prior studies on reference model construction are time-consuming and labor-intensive as it heavily relies on manual analysis by domain experts. Besides, other existing approaches that directly utilize the directory or package structure of the latest version can be unreliable, lacking in-depth analysis of the employed software structure. To address the above limitations, in this paper, we propose Automated Construction of Reference Model (ACRM), an approach for automatically constructing reference models by assigning weights to classes for various software projects using the metadata of all software versions and historical maintenance records. We evaluate ACRM through both quantitative and qualitative analyses. The experiment results provide quantitative validation and show that the generated reference models are reasonable, as confirmed by the relationship between proposed reference models and architectural smells or bugs. Furthermore, we conduct a survey among the practitioners from industry, to gain insights from practitioners' practices and further validate the generated reference models. The survey shows that, on average, 87% of the participants agree with the reference models generated by ACRM. Moreover, we propose an improved metric, wc2c, which analyzes the strengths and weaknesses of different types of software clustering techniques using the proposed reference models of the given software. Finally, we discuss the potential benefits of using ACRM in analyzed projects, particularly in terms of improving software quality, reducing maintenance costs, and enhancing developer productivity.

软件项目及其底层体系结构的演变无据可查,这就凸显了从软件的实现级工件中恢复体系结构的必要性。尽管存在各种软件重模块化技术,但由于缺乏准确的 "地面实况 "架构或参考模型,这些技术往往存在误差,而且评估这些技术的有效性也具有挑战性。先前关于参考模型构建的研究耗时耗力,因为它严重依赖领域专家的人工分析。此外,现有的其他方法直接利用最新版本的目录或软件包结构,缺乏对所使用软件结构的深入分析,因此并不可靠。针对上述局限性,我们在本文中提出了自动构建参考模型(ACRM),这是一种利用所有软件版本的元数据和历史维护记录为不同软件项目的类分配权重,从而自动构建参考模型的方法。我们通过定量和定性分析对 ACRM 进行了评估。实验结果提供了定量验证,并表明所生成的参考模型是合理的,这一点可以从所提出的参考模型与架构缺陷或错误之间的关系中得到证实。此外,我们还对行业从业人员进行了调查,以深入了解从业人员的实践,进一步验证生成的参考模型。调查显示,平均有 87% 的参与者同意 ACRM 生成的参考模型。此外,我们还提出了一种改进的度量方法--wc2c,它可以利用所提出的给定软件参考模型来分析不同类型软件聚类技术的优缺点。最后,我们讨论了在分析项目中使用 ACRM 的潜在好处,特别是在提高软件质量、降低维护成本和提高开发人员工作效率方面。
{"title":"Automated construction of reference model for software remodularization through software evolution","authors":"Fanyi Meng,&nbsp;Hai Yu,&nbsp;Chun Yong Chong,&nbsp;Ying Wang,&nbsp;Zhiliang Zhu","doi":"10.1002/smr.2700","DOIUrl":"https://doi.org/10.1002/smr.2700","url":null,"abstract":"<p>The undocumented evolution of a software project and its underlying architecture underscores the need to recover the architecture from the software's implementation-level artifacts. Despite the existence of various software remodularization techniques, they often suffer from inaccuracies, and evaluating their effectiveness is challenging due to the absence of accurate “ground-truth” architectures or reference models. Prior studies on reference model construction are time-consuming and labor-intensive as it heavily relies on manual analysis by domain experts. Besides, other existing approaches that directly utilize the directory or package structure of the latest version can be unreliable, lacking in-depth analysis of the employed software structure. To address the above limitations, in this paper, we propose <b><span>A</span></b>utomated <b><span>C</span></b>onstruction of <b><span>R</span></b>eference <b><span>M</span></b>odel (ACRM), an approach for automatically constructing reference models by assigning weights to classes for various software projects using the metadata of all software versions and historical maintenance records. We evaluate ACRM through both quantitative and qualitative analyses. The experiment results provide quantitative validation and show that the generated reference models are reasonable, as confirmed by the relationship between proposed reference models and architectural smells or bugs. Furthermore, we conduct a survey among the practitioners from industry, to gain insights from practitioners' practices and further validate the generated reference models. The survey shows that, on average, 87% of the participants agree with the reference models generated by ACRM. Moreover, we propose an improved metric, <i>wc2c</i>, which analyzes the strengths and weaknesses of different types of software clustering techniques using the proposed reference models of the given software. Finally, we discuss the potential benefits of using ACRM in analyzed projects, particularly in terms of improving software quality, reducing maintenance costs, and enhancing developer productivity.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142430198","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
Two sides of the same coin: A study on developers' perception of defects 一枚硬币的两面:关于开发人员对缺陷的看法的研究
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-18 DOI: 10.1002/smr.2699
Geanderson Santos, Igor Muzetti, Eduardo Figueiredo

Software defect prediction is a subject of study involving the interplay of software engineering and machine learning. The current literature proposed numerous machine learning models to predict software defects from software data, such as commits and code metrics. Further, the most recent literature employs explainability techniques to understand why machine learning models made such predictions (i.e., predicting the likelihood of a defect). As a result, developers are expected to reason on the software features that may relate to defects in the source code. However, little is known about the developers' perception of these machine learning models and their explanations. To explore this issue, we focus on a survey with experienced developers to understand how they evaluate each quality attribute for the defect prediction. We chose the developers based on their contributions at GitHub, where they contributed to at least 10 repositories in the past 2 years. The results show that developers tend to evaluate code complexity as the most important quality attribute to avoid defects compared with the other target attributes such as source code size, coupling, and documentation. At the end, a thematic analysis reveals that developers evaluate testing the code as a relevant aspect not covered by the static software features. We conclude that, qualitatively, there exists a misalignment between developers' perceptions and the outputs of machine learning models. For instance, while machine learning models assign high importance to documentation, developers often overlook documentation and prioritize assessing the complexity of the code instead.

软件缺陷预测是一个涉及软件工程和机器学习相互作用的研究课题。目前的文献提出了许多机器学习模型,用于从提交和代码度量等软件数据中预测软件缺陷。此外,最新的文献采用了可解释性技术来理解机器学习模型做出此类预测(即预测缺陷发生的可能性)的原因。因此,开发人员有望推理出可能与源代码中缺陷相关的软件特征。然而,人们对开发人员对这些机器学习模型的看法及其解释知之甚少。为了探讨这个问题,我们重点对经验丰富的开发人员进行了调查,以了解他们如何评估缺陷预测的各个质量属性。我们选择开发人员的依据是他们在 GitHub 上的贡献,他们在过去两年中至少为 10 个软件源做出了贡献。结果显示,与源代码大小、耦合度和文档等其他目标属性相比,开发人员倾向于将代码复杂性作为避免缺陷的最重要质量属性。最后,专题分析表明,开发人员认为测试代码是静态软件特性未涵盖的一个相关方面。我们得出的结论是,从质量上看,开发人员的看法与机器学习模型的输出之间存在偏差。例如,虽然机器学习模型赋予了文档很高的重要性,但开发人员往往会忽略文档,而是优先评估代码的复杂性。
{"title":"Two sides of the same coin: A study on developers' perception of defects","authors":"Geanderson Santos,&nbsp;Igor Muzetti,&nbsp;Eduardo Figueiredo","doi":"10.1002/smr.2699","DOIUrl":"https://doi.org/10.1002/smr.2699","url":null,"abstract":"<div>\u0000 \u0000 <p>Software defect prediction is a subject of study involving the interplay of software engineering and machine learning. The current literature proposed numerous machine learning models to predict software defects from software data, such as commits and code metrics. Further, the most recent literature employs explainability techniques to understand why machine learning models made such predictions (i.e., predicting the likelihood of a defect). As a result, developers are expected to reason on the software features that may relate to defects in the source code. However, little is known about the developers' perception of these machine learning models and their explanations. To explore this issue, we focus on a survey with experienced developers to understand how they evaluate each quality attribute for the defect prediction. We chose the developers based on their contributions at GitHub, where they contributed to at least 10 repositories in the past 2 years. The results show that developers tend to evaluate code complexity as the most important quality attribute to avoid defects compared with the other target attributes such as source code size, coupling, and documentation. At the end, a thematic analysis reveals that developers evaluate testing the code as a relevant aspect not covered by the static software features. We conclude that, qualitatively, there exists a misalignment between developers' perceptions and the outputs of machine learning models. For instance, while machine learning models assign high importance to documentation, developers often overlook documentation and prioritize assessing the complexity of the code instead.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142430066","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 affecting architectural decision-making process and challenges in software projects: An industrial survey 影响软件项目中架构决策过程和挑战的因素:行业调查
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-18 DOI: 10.1002/smr.2703
Merve Özdeş Demir, Oumout Chouseinoglou, Ayça Kolukısa Tarhan

Software architecture plays a fundamental role in overcoming the challenges of the development process of large-scale and complex software systems. The software architecture of a system is the result of an extensive process in which several stakeholders negotiate issues and solutions, and as a result of this negotiation, a series of architectural decisions are made. This survey study aims to determine the experiences of the software industry experts with respect to architectural decision-making, the factors that are effective in decision-making, and the technical and social problems they encounter. An online questionnaire-based survey was conducted with 101 practitioners. The responses were analyzed qualitatively and quantitatively. Analysis of responses revealed that the majority of the participants prefer to document some or all of the architectural decisions taken and to store these documents in web-based collaboration software. Decisions are usually made by teams of two or three, and discussion-based approaches (brainstorming and consensus) are adopted. In the software architecture decision-making process, “major business impact” is the most challenging situation. Information sharing and keeping track of decisions and decision rationale are areas in need of improvement as identified by most participants. From the participants' feedback and their answers to open-ended questions, we concluded that the software architecture decision-making process has an important role in the industry. Our key findings are that decisions made in the architectural decision-making process are taken by teams and generally all decisions are documented. In projects where decisions are made by a single person, peer pressure is found to be significantly different from pressure in projects where decisions are made by the group. This is an indication that as the number of people in the decision-making process increases, the disagreements also increase.

软件架构在克服大型复杂软件系统开发过程中的挑战方面发挥着根本性的作用。一个系统的软件架构是一个广泛过程的结果,在这个过程中,几个利益相关者就问题和解决方案进行协商,协商的结果是做出一系列架构决策。本调查研究旨在确定软件行业专家在架构决策方面的经验、决策中的有效因素以及他们遇到的技术和社会问题。我们对 101 名从业人员进行了在线问卷调查。对回答进行了定性和定量分析。对答复的分析表明,大多数参与者倾向于记录部分或全部建筑决策,并将这些文件存储在基于网络的协作软件中。决策通常由两人或三人小组做出,并采用基于讨论的方法(头脑风暴和共识)。在软件架构决策过程中,"重大业务影响 "是最具挑战性的情况。信息共享、跟踪决策和决策理由是大多数参与者认为需要改进的地方。从与会者的反馈以及他们对开放式问题的回答中,我们得出结论,软件架构决策过程在行业中具有重要作用。我们的主要发现是,架构决策过程中的决定是由团队做出的,一般来说,所有决定都有文件记录。在由单人做出决策的项目中,同行压力与由小组做出决策的项目中的压力有显著不同。这表明,随着决策过程中人数的增加,分歧也会增加。
{"title":"Factors affecting architectural decision-making process and challenges in software projects: An industrial survey","authors":"Merve Özdeş Demir,&nbsp;Oumout Chouseinoglou,&nbsp;Ayça Kolukısa Tarhan","doi":"10.1002/smr.2703","DOIUrl":"https://doi.org/10.1002/smr.2703","url":null,"abstract":"<p>Software architecture plays a fundamental role in overcoming the challenges of the development process of large-scale and complex software systems. The software architecture of a system is the result of an extensive process in which several stakeholders negotiate issues and solutions, and as a result of this negotiation, a series of architectural decisions are made. This survey study aims to determine the experiences of the software industry experts with respect to architectural decision-making, the factors that are effective in decision-making, and the technical and social problems they encounter. An online questionnaire-based survey was conducted with 101 practitioners. The responses were analyzed qualitatively and quantitatively. Analysis of responses revealed that the majority of the participants prefer to document some or all of the architectural decisions taken and to store these documents in web-based collaboration software. Decisions are usually made by teams of two or three, and discussion-based approaches (brainstorming and consensus) are adopted. In the software architecture decision-making process, “major business impact” is the most challenging situation. Information sharing and keeping track of decisions and decision rationale are areas in need of improvement as identified by most participants. From the participants' feedback and their answers to open-ended questions, we concluded that the software architecture decision-making process has an important role in the industry. Our key findings are that decisions made in the architectural decision-making process are taken by teams and generally all decisions are documented. In projects where decisions are made by a single person, peer pressure is found to be significantly different from pressure in projects where decisions are made by the group. This is an indication that as the number of people in the decision-making process increases, the disagreements also increase.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142430075","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
Hybrid mutation driven testing for natural language inference 自然语言推理的混合突变驱动测试
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-17 DOI: 10.1002/smr.2694
Linghan Meng, Yanhui Li, Lin Chen, Mingliang Ma, Yuming Zhou, Baowen Xu

Natural language inference (NLI) is a task to infer the relationship between the premise and hypothesis sentences, whose models have essential applications in the many natural language processing (NLP) fields, for example, machine reading comprehension and recognizing textual entailment. Due to the data-driven programming paradigm, bugs inevitably occur in NLI models during the application process, which calls for novel automatic testing techniques to deal with NLI testing challenges. The main difficulty in achieving automatic testing for NLI models is the oracle problem; that is, it may be too expensive to label NLI model inputs manually and hence be too challenging to verify the correctness of model outputs. To tackle the oracle problem, this study proposes a novel automatic testing method hybrid mutation driven testing (HMT), which extends the mutation idea applied in other NLP domains successfully. Specifically, as there are two sets of sentences, that is, premise and hypothesis, to be mutated, we propose four mutation operators to achieve the hybrid mutation strategy, which mutate the premise and the hypothesis sentences jointly or individually. We assume that the mutation would not affect the outputs; that is, if the original and mutated outputs are inconsistent, inconsistency bugs could be detected without knowing the true labels. To evaluate our method HMT, we conduct experiments on two widely used datasets with two advanced models and generate more than 520,000 mutations by applying our mutation operators. Our experimental results show that (a) our method, HMT, can effectively generate mutated testing samples, (b) our method can effectively trigger the inconsistency bugs of the NLI models, and (c) all four mutation operators can independently trigger inconsistency bugs.

自然语言推理(NLI)是一项推断前提句和假设句之间关系的任务,其模型在许多自然语言处理(NLP)领域都有重要应用,例如机器阅读理解和识别文本蕴涵。由于数据驱动的编程模式,NLI 模型在应用过程中不可避免地会出现错误,这就需要新颖的自动测试技术来应对 NLI 测试挑战。实现 NLI 模型自动测试的主要困难是甲骨文问题,即人工标注 NLI 模型输入的成本可能太高,因此验证模型输出的正确性也太具有挑战性。为了解决甲骨文问题,本研究提出了一种新的自动测试方法混合突变驱动测试(HMT),它扩展了成功应用于其他 NLP 领域的突变思想。具体来说,由于需要突变的句子有两组,即前提句和假设句,我们提出了四种突变算子来实现混合突变策略,它们可以联合或单独突变前提句和假设句。我们假设突变不会影响输出结果,也就是说,如果原始输出结果和突变后的输出结果不一致,则可以在不知道真实标签的情况下检测出不一致错误。为了评估我们的 HMT 方法,我们在两个广泛使用的数据集上用两个高级模型进行了实验,并通过应用我们的突变算子生成了 52 万多个突变。实验结果表明:(a) 我们的 HMT 方法能有效生成突变测试样本;(b) 我们的方法能有效触发 NLI 模型的不一致错误;(c) 所有四个突变算子都能独立触发不一致错误。
{"title":"Hybrid mutation driven testing for natural language inference","authors":"Linghan Meng,&nbsp;Yanhui Li,&nbsp;Lin Chen,&nbsp;Mingliang Ma,&nbsp;Yuming Zhou,&nbsp;Baowen Xu","doi":"10.1002/smr.2694","DOIUrl":"https://doi.org/10.1002/smr.2694","url":null,"abstract":"<div>\u0000 \u0000 <p>Natural language inference (NLI) is a task to infer the relationship between the premise and hypothesis sentences, whose models have essential applications in the many natural language processing (NLP) fields, for example, machine reading comprehension and recognizing textual entailment. Due to the data-driven programming paradigm, bugs inevitably occur in NLI models during the application process, which calls for novel automatic testing techniques to deal with NLI testing challenges. The main difficulty in achieving automatic testing for NLI models is the oracle problem; that is, it may be too expensive to label NLI model inputs manually and hence be too challenging to verify the correctness of model outputs. To tackle the oracle problem, this study proposes a novel automatic testing method <b>hybrid mutation driven testing (HMT)</b>, which extends the mutation idea applied in other NLP domains successfully. Specifically, as there are two sets of sentences, that is, premise and hypothesis, to be mutated, we propose four mutation operators to achieve the hybrid mutation strategy, which mutate the premise and the hypothesis sentences <i>jointly</i> or <i>individually</i>. We assume that the mutation would not affect the outputs; that is, if the original and mutated outputs are inconsistent, inconsistency bugs could be detected without knowing the true labels. To evaluate our method HMT, we conduct experiments on two widely used datasets with two advanced models and generate more than 520,000 mutations by applying our mutation operators. Our experimental results show that (a) our method, HMT, can effectively generate mutated testing samples, (b) our method can effectively trigger the inconsistency bugs of the NLI models, and (c) all four mutation operators can independently trigger inconsistency bugs.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142430060","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
Improving an emergency repair process with feature models 利用特征模型改进紧急维修流程
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-06-15 DOI: 10.1002/smr.2701
Karam Ignaim, João M. Fernandes

Whenever an emergency occurs, such as a change in the system operating environment that prevents regular functioning, one possibility to restore the system to normal operation is to perform immediately the emergency repair process (ERP). This paper introduces the feature-based emergency repair process (FbERP), which constitutes a feature-based improvement/extension to ERP. FbERP uses feature models to represent urgent change requests (UCRs) and traces each change to its location in the code base in order to realign documentation and code. Based on real-world change requests, we evaluated the proposed process using different techniques, including an empirical case study and a small survey. In the empirical case study, we compare FbERP with respect to ERP to check the effectiveness, efficiency, and usability of the proposed process. The results of the evaluation reveal that FbERP can be successfully used by software engineers to respond to UCRs, with an improvement over ERP.

每当紧急情况发生时,例如系统运行环境发生变化导致无法正常运行时,恢复系统正常运行的一种可能性就是立即执行紧急修复流程(ERP)。本文介绍了基于特征的紧急修复过程(FbERP),它是对 ERP 的一种基于特征的改进/扩展。FbERP 使用特征模型来表示紧急变更请求(UCR),并跟踪每项变更在代码库中的位置,以便重新调整文档和代码。基于现实世界中的变更请求,我们使用不同的技术对所建议的流程进行了评估,包括经验案例研究和小型调查。在实证案例研究中,我们将 FbERP 与企业资源规划系统进行了比较,以检验建议流程的有效性、效率和可用性。评估结果表明,软件工程师可以成功地使用 FbERP 来应对 UCR,而且比 ERP 有了改进。
{"title":"Improving an emergency repair process with feature models","authors":"Karam Ignaim,&nbsp;João M. Fernandes","doi":"10.1002/smr.2701","DOIUrl":"10.1002/smr.2701","url":null,"abstract":"<p>Whenever an emergency occurs, such as a change in the system operating environment that prevents regular functioning, one possibility to restore the system to normal operation is to perform immediately the emergency repair process (ERP). This paper introduces the feature-based emergency repair process (FbERP), which constitutes a feature-based improvement/extension to ERP. FbERP uses feature models to represent urgent change requests (UCRs) and traces each change to its location in the code base in order to realign documentation and code. Based on real-world change requests, we evaluated the proposed process using different techniques, including an empirical case study and a small survey. In the empirical case study, we compare FbERP with respect to ERP to check the effectiveness, efficiency, and usability of the proposed process. The results of the evaluation reveal that FbERP can be successfully used by software engineers to respond to UCRs, with an improvement over ERP.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141337847","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