首页 > 最新文献

Journal of Software-Evolution and Process最新文献

英文 中文
A Systematic Literature Review for Investigating DevOps Metrics to Implement in Software Development Organizations
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-10-27 DOI: 10.1002/smr.2733
Ankur Kumar, Mohammad Nadeem, Mohammad Shameem

DevOps is a collaborative software development process where practitioners work as a team to continuously develop, deploy, and deliver software. DevOps practices still need to be mature, and practitioners face numerous challenges while considering DevOps as a software development process. The mainstream research community has helped simplify the DevOps adoption process and eliminate complexities by developing DevOps maturity models. However, the current maturity frameworks cannot measure every component of DevOps and do not mention metrics as parameters for measuring different DevOps practices or features. Therefore, this study aims to identify metrics for measuring practices and activities responsible for DevOps implementation. The systematic literature review (SLR) method was used to determine the metrics needed to measure DevOps practices. Using SLR, we have identified 32 metrics from 57 articles. The metrics identified in this study can be used to measure the impact of the practices adopted for DevOps implementation within software development organizations. Furthermore, we divided the identified metrics into Dev and Ops categories and five significant categories based on the DevOps lifecycle. The classification of metrics in our study into diverse regions provides a conceptual framework and understanding of DevOps measures.

{"title":"A Systematic Literature Review for Investigating DevOps Metrics to Implement in Software Development Organizations","authors":"Ankur Kumar,&nbsp;Mohammad Nadeem,&nbsp;Mohammad Shameem","doi":"10.1002/smr.2733","DOIUrl":"https://doi.org/10.1002/smr.2733","url":null,"abstract":"<div>\u0000 \u0000 <p>DevOps is a collaborative software development process where practitioners work as a team to continuously develop, deploy, and deliver software. DevOps practices still need to be mature, and practitioners face numerous challenges while considering DevOps as a software development process. The mainstream research community has helped simplify the DevOps adoption process and eliminate complexities by developing DevOps maturity models. However, the current maturity frameworks cannot measure every component of DevOps and do not mention metrics as parameters for measuring different DevOps practices or features. Therefore, this study aims to identify metrics for measuring practices and activities responsible for DevOps implementation. The systematic literature review (SLR) method was used to determine the metrics needed to measure DevOps practices. Using SLR, we have identified 32 metrics from 57 articles. The metrics identified in this study can be used to measure the impact of the practices adopted for DevOps implementation within software development organizations. Furthermore, we divided the identified metrics into Dev and Ops categories and five significant categories based on the DevOps lifecycle. The classification of metrics in our study into diverse regions provides a conceptual framework and understanding of DevOps measures.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143120177","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
Contributions to Systems Software and Service Process Improvement and Innovation Based on Recent Advances
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-10-27 DOI: 10.1002/smr.2737
Ricardo Colomo-Palacios, Richard Messnarz, Miklós Biró
<p>This special issue comprises a selected set of high quality and extended articles of the 29th Systems, Software and Services Process Improvement (EuroSPI) Conference, held in 2022 in Salzburg, Austria.</p><p>Conferences were held in Dublin (Ireland) in 1994, in Vienna (Austria) in 1995, in Brighton (UK) in 1996, in Budapest (Hungary) in 1997, in Gothenburg (Sweden) in 1998, in Pori (Finland) in 1999, in Copenhagen (Denmark) in 2000, in Limerick (Ireland) in 2001, in Nuremberg (Germany) in 2002, in Graz (Austria) in 2003, in Trondheim (Norway) in 2004, in Budapest (Hungary) in 2005, in Joensuu (Finland) in 2006, in Potsdam (Germany) in 2007, in Dublin (Ireland) in 2008, in Alcala (Spain) in 2009, in Grenoble (France) in 2010, in Roskilde (Denmark) in 2011, in Vienna (Austria) in 2012, in Dundalk (Ireland) in 2013, in Luxembourg in 2014, in Ankara (Turkey) in 2015, in Graz (Austria) in 2016, in Ostrava (Czech Republic) in 2017, in Bilbao (Spain) in 2018, in Edinburgh (UK) in 2019, in Düsseldorf (Germany) in 2020, in Krems (Austria) in 2021, and in Salzburg (Austria) in 2022.</p><p>EuroSPI had a cooperation with the EU Blueprint for Automotive project DRIVES [<span>1</span>] (2018–2022) where leading Automotive industry discusses and presents skills for the Europe 2030 strategy in the automotive sector. In 2022, the ASA (Automotive Skills Alliance) has been formed in Brussels which continues with the DRIVES results, and EuroSPI is a partner in the ASA.</p><p>EuroSPI has a cooperation with the EU Blueprint for Batteries project ALBATTS (2020–2023) where leading European industry discusses and establishes a skills agenda to build a European battery production capability for the electrification of European e-mobility.</p><p>EuroSPI has a cooperation with the EU project FLAMENCO [<span>2</span>] (2023–2024) where for the Working Group 3.6 for IT in Automotive, the certification and training services for job roles in European automotive industry will be developed.</p><p>EuroSPI has established the SPI Manifesto (SPI = Systems, Software and Services Process Improvement [<span>3</span>]), a set of social media groups including a selection of presentations and key notes freely available on YouTube and access to job role-based qualification through the European Certification and Qualification Association (www.ecqa.org).</p><p>A typical characterization of EuroSPI is reflected in a statement made by a company: “… the biggest value of EuroSPI lies in its function as a European knowledge and experience exchange mechanism for SPI and innovation.”</p><p>Since its beginning in 1994 in Dublin, the EuroSPI initiative continuously develops the term SPI including more and more fields that contribute. During the years, new communities (Cybersecurity, Internet of Things, Agile, etc …) joined and the term EuroSPI<sup>2</sup> became European System, Software, Service, Safety, and Security Process, Product, Programming Improvement, Innovation, and Infrastructure. So in
{"title":"Contributions to Systems Software and Service Process Improvement and Innovation Based on Recent Advances","authors":"Ricardo Colomo-Palacios,&nbsp;Richard Messnarz,&nbsp;Miklós Biró","doi":"10.1002/smr.2737","DOIUrl":"https://doi.org/10.1002/smr.2737","url":null,"abstract":"&lt;p&gt;This special issue comprises a selected set of high quality and extended articles of the 29th Systems, Software and Services Process Improvement (EuroSPI) Conference, held in 2022 in Salzburg, Austria.&lt;/p&gt;&lt;p&gt;Conferences were held in Dublin (Ireland) in 1994, in Vienna (Austria) in 1995, in Brighton (UK) in 1996, in Budapest (Hungary) in 1997, in Gothenburg (Sweden) in 1998, in Pori (Finland) in 1999, in Copenhagen (Denmark) in 2000, in Limerick (Ireland) in 2001, in Nuremberg (Germany) in 2002, in Graz (Austria) in 2003, in Trondheim (Norway) in 2004, in Budapest (Hungary) in 2005, in Joensuu (Finland) in 2006, in Potsdam (Germany) in 2007, in Dublin (Ireland) in 2008, in Alcala (Spain) in 2009, in Grenoble (France) in 2010, in Roskilde (Denmark) in 2011, in Vienna (Austria) in 2012, in Dundalk (Ireland) in 2013, in Luxembourg in 2014, in Ankara (Turkey) in 2015, in Graz (Austria) in 2016, in Ostrava (Czech Republic) in 2017, in Bilbao (Spain) in 2018, in Edinburgh (UK) in 2019, in Düsseldorf (Germany) in 2020, in Krems (Austria) in 2021, and in Salzburg (Austria) in 2022.&lt;/p&gt;&lt;p&gt;EuroSPI had a cooperation with the EU Blueprint for Automotive project DRIVES [&lt;span&gt;1&lt;/span&gt;] (2018–2022) where leading Automotive industry discusses and presents skills for the Europe 2030 strategy in the automotive sector. In 2022, the ASA (Automotive Skills Alliance) has been formed in Brussels which continues with the DRIVES results, and EuroSPI is a partner in the ASA.&lt;/p&gt;&lt;p&gt;EuroSPI has a cooperation with the EU Blueprint for Batteries project ALBATTS (2020–2023) where leading European industry discusses and establishes a skills agenda to build a European battery production capability for the electrification of European e-mobility.&lt;/p&gt;&lt;p&gt;EuroSPI has a cooperation with the EU project FLAMENCO [&lt;span&gt;2&lt;/span&gt;] (2023–2024) where for the Working Group 3.6 for IT in Automotive, the certification and training services for job roles in European automotive industry will be developed.&lt;/p&gt;&lt;p&gt;EuroSPI has established the SPI Manifesto (SPI = Systems, Software and Services Process Improvement [&lt;span&gt;3&lt;/span&gt;]), a set of social media groups including a selection of presentations and key notes freely available on YouTube and access to job role-based qualification through the European Certification and Qualification Association (www.ecqa.org).&lt;/p&gt;&lt;p&gt;A typical characterization of EuroSPI is reflected in a statement made by a company: “… the biggest value of EuroSPI lies in its function as a European knowledge and experience exchange mechanism for SPI and innovation.”&lt;/p&gt;&lt;p&gt;Since its beginning in 1994 in Dublin, the EuroSPI initiative continuously develops the term SPI including more and more fields that contribute. During the years, new communities (Cybersecurity, Internet of Things, Agile, etc …) joined and the term EuroSPI&lt;sup&gt;2&lt;/sup&gt; became European System, Software, Service, Safety, and Security Process, Product, Programming Improvement, Innovation, and Infrastructure. So in ","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2737","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143120138","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
Safe design and evolution of smart contracts using dynamic condition response graphs to model generic role-based behaviors
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-26 DOI: 10.1002/smr.2730
Yibin Xu, Tijs Slaats, Boris Düdder, Thomas Troels Hildebrandt, Tom Van Cutsem

Smart contracts executed on blockchains are interactive programs where external actors generate events that trigger function invocations. Events can be emitted by participants asynchronously. However, some functionalities should be restricted to participants inhabiting specific roles in the system, which might be dynamically adjusted while the system evolves. We argue that current smart contract languages adopting imperative programming paradigms require additional complicated access control code. Furthermore, smart contracts are often developed and evolved independently and cannot share a joint access control policy. This makes it challenging to ensure the correctness of access control properties and to maintain correctness when the contracts are adapted. We propose using dynamic condition response (DCR) graphs for role-based and declarative access control for smart contracts and techniques for test-driven modelling and refinement of DCR graphs to support the safe design and evolution of smart contracts. We show that they allow for capturing and visualizing a form of dynamic access control where access rights evolve as the contract state progresses. Their use supports the straightforward declaration of access control rights, improved code auditing, test-driven modelling, and safe evolution of smart contracts and improves users' understanding.

{"title":"Safe design and evolution of smart contracts using dynamic condition response graphs to model generic role-based behaviors","authors":"Yibin Xu,&nbsp;Tijs Slaats,&nbsp;Boris Düdder,&nbsp;Thomas Troels Hildebrandt,&nbsp;Tom Van Cutsem","doi":"10.1002/smr.2730","DOIUrl":"https://doi.org/10.1002/smr.2730","url":null,"abstract":"<p>Smart contracts executed on blockchains are interactive programs where external actors generate events that trigger function invocations. Events can be emitted by participants asynchronously. However, some functionalities should be restricted to participants inhabiting specific roles in the system, which might be dynamically adjusted while the system evolves. We argue that current smart contract languages adopting imperative programming paradigms require additional complicated access control code. Furthermore, smart contracts are often developed and evolved independently and cannot share a joint access control policy. This makes it challenging to ensure the correctness of access control properties and to maintain correctness when the contracts are adapted. We propose using dynamic condition response (DCR) graphs for role-based and declarative access control for smart contracts and techniques for test-driven modelling and refinement of DCR graphs to support the safe design and evolution of smart contracts. We show that they allow for capturing and visualizing a form of dynamic access control where access rights evolve as the contract state progresses. Their use supports the straightforward declaration of access control rights, improved code auditing, test-driven modelling, and safe evolution of smart contracts and improves users' understanding.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2730","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143119599","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
Ranking guidance actions to support engineers in fulfilling process constraints
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-21 DOI: 10.1002/smr.2729
Anmol Bilal, Christoph Mayr-Dorn, Alexander Egyed

In safety-critical systems engineering, regulations such as Automotive SPICE, ISO26262, or ED-109A mandate software quality assurance measures to provide evidence that the developed system is high quality. The constraints that define quality assurance conditions during the engineering life cycle are often non-trivial. This paper addresses the challenges, engineers face who are unfamiliar with the precise constraints of various projects (e.g., when newly joining a company or switching between departments). Understanding how to fulfill a constraint is a time-consuming and challenging task as an engineer needs to determine the most suitable option (out of potentially many) to fulfill a constraint violation. To this end, we propose a guidance action ranking framework to provide engineers with the most relevant guidance actions. Our primary ranking algorithm analyzes in the background the actions that engineers have made in the past to resolve a constraint violation without requiring explicit feedback from them. We evaluated our framework on two real-world data sets: an open-source drone management and an industrial air traffic control software system. Concretely, we replay past engineering activities and measured whether, in the case of a constraint violation, our suggested guidance actions were indeed selected by the engineer. The evaluation results revealed that learning from prior guidance actions effectively identifies the most appropriate guidance actions (ranked top 1 or 2) when compared to ranking algorithms based on action simplicity and artifact property change frequency. Specifically, we achieve a median MRR of 0.95 for the first case study and 0.94 for the second case study: an improvement of 80% and 100% over the baseline. Additionally, we observed that the simplicity of a guidance action does not reliably indicate its suitability for fulfilling a constraint, whereas learning from prior change operation property out-performed simplicity-based ranking but did not surpass guidance frequency-based ranking.

{"title":"Ranking guidance actions to support engineers in fulfilling process constraints","authors":"Anmol Bilal,&nbsp;Christoph Mayr-Dorn,&nbsp;Alexander Egyed","doi":"10.1002/smr.2729","DOIUrl":"https://doi.org/10.1002/smr.2729","url":null,"abstract":"<p>In safety-critical systems engineering, regulations such as Automotive SPICE, ISO26262, or ED-109A mandate software quality assurance measures to provide evidence that the developed system is high quality. The constraints that define quality assurance conditions during the engineering life cycle are often non-trivial. This paper addresses the challenges, engineers face who are unfamiliar with the precise constraints of various projects (e.g., when newly joining a company or switching between departments). Understanding how to fulfill a constraint is a time-consuming and challenging task as an engineer needs to determine the most suitable option (out of potentially many) to fulfill a constraint violation. To this end, we propose a guidance action ranking framework to provide engineers with the most relevant guidance actions. Our primary ranking algorithm analyzes in the background the actions that engineers have made in the past to resolve a constraint violation without requiring explicit feedback from them. We evaluated our framework on two real-world data sets: an open-source drone management and an industrial air traffic control software system. Concretely, we replay past engineering activities and measured whether, in the case of a constraint violation, our suggested guidance actions were indeed selected by the engineer. The evaluation results revealed that learning from prior guidance actions effectively identifies the most appropriate guidance actions (ranked top 1 or 2) when compared to ranking algorithms based on action simplicity and artifact property change frequency. Specifically, we achieve a median MRR of 0.95 for the first case study and 0.94 for the second case study: an improvement of 80% and 100% over the baseline. Additionally, we observed that the simplicity of a guidance action does not reliably indicate its suitability for fulfilling a constraint, whereas learning from prior change operation property out-performed simplicity-based ranking but did not surpass guidance frequency-based ranking.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2729","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143117766","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
Editorial for the special issue on software refactoring: Application breadth and technical depth
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-18 DOI: 10.1002/smr.2732
Zhenchang Xing
<p>The field of software refactoring has been evolving rapidly, driven by the need to maintain software quality and manage complexity as software systems grow. This special issue of the <i>Journal of Software: Evolution and Process</i> focuses on “Software Refactoring: Application Breadth and Technical Depth,” aiming to promote research that advances our understanding of software refactoring practices and their impact. The selected papers in this issue reflect the broad scope and technical depth of the topic, covering a variety of innovative methodologies, empirical studies, and new tools that push the boundaries of current software refactoring research.</p><p>The paper “Software Refactoring Side Effects” by AbuHassan, Alshayeb, and Ghouti addresses the often-overlooked side effects of software refactoring. The authors propose three different approaches for handling these side effects and employ a multi-objective optimization algorithm to identify optimal refactoring decisions. Their work enhances the understanding of refactoring's unintended consequences and proposes practical solutions, fitting well into the theme of exploring new dimensions of refactoring practices.</p><p>Zhao et al., in their article “An Architecture Refactoring Approach to Reducing Software Hierarchy Complexity,” introduce a novel metric to quantify software hierarchy complexity and propose the Complexity-oriented Software Architecture Refactoring (CoSSR) approach. Their study demonstrates how reducing software hierarchy complexity can improve software quality, aligning with the issue's focus on reducing complexity through innovative refactoring techniques.</p><p>The article “MARS: Detecting Brain Class/Method Code Smell Based on Metric-Attention Mechanism and Residual Network” by Zhang and Dong presents a new method for detecting complex code smells using a novel deep learning approach. By leveraging a metric-attention mechanism and an improved residual network, their model shows superior performance compared to existing methods. This research contributes to the special issue by applying cutting-edge machine learning techniques to refactoring challenges.</p><p>AlOmar et al.'s study, “Behind the Scenes: On the Relationship Between Developer Experience and Refactoring,” investigates the correlation between developer experience and refactoring activities across 800 open-source projects. Their findings highlight that experienced developers tend to perform more varied refactoring operations but document less of their refactoring activities. This study offers a new perspective on how human factors influence refactoring practices, enriching the broader conversation on effective software evolution.</p><p>In “A Study of Refactorings During Software Change Tasks,” Eilertsen and Murphy explore the reasons behind the disuse of refactoring tools during software change tasks. Their observational study reveals that the strategies developers use significantly impact the use of refactoring
{"title":"Editorial for the special issue on software refactoring: Application breadth and technical depth","authors":"Zhenchang Xing","doi":"10.1002/smr.2732","DOIUrl":"https://doi.org/10.1002/smr.2732","url":null,"abstract":"&lt;p&gt;The field of software refactoring has been evolving rapidly, driven by the need to maintain software quality and manage complexity as software systems grow. This special issue of the &lt;i&gt;Journal of Software: Evolution and Process&lt;/i&gt; focuses on “Software Refactoring: Application Breadth and Technical Depth,” aiming to promote research that advances our understanding of software refactoring practices and their impact. The selected papers in this issue reflect the broad scope and technical depth of the topic, covering a variety of innovative methodologies, empirical studies, and new tools that push the boundaries of current software refactoring research.&lt;/p&gt;&lt;p&gt;The paper “Software Refactoring Side Effects” by AbuHassan, Alshayeb, and Ghouti addresses the often-overlooked side effects of software refactoring. The authors propose three different approaches for handling these side effects and employ a multi-objective optimization algorithm to identify optimal refactoring decisions. Their work enhances the understanding of refactoring's unintended consequences and proposes practical solutions, fitting well into the theme of exploring new dimensions of refactoring practices.&lt;/p&gt;&lt;p&gt;Zhao et al., in their article “An Architecture Refactoring Approach to Reducing Software Hierarchy Complexity,” introduce a novel metric to quantify software hierarchy complexity and propose the Complexity-oriented Software Architecture Refactoring (CoSSR) approach. Their study demonstrates how reducing software hierarchy complexity can improve software quality, aligning with the issue's focus on reducing complexity through innovative refactoring techniques.&lt;/p&gt;&lt;p&gt;The article “MARS: Detecting Brain Class/Method Code Smell Based on Metric-Attention Mechanism and Residual Network” by Zhang and Dong presents a new method for detecting complex code smells using a novel deep learning approach. By leveraging a metric-attention mechanism and an improved residual network, their model shows superior performance compared to existing methods. This research contributes to the special issue by applying cutting-edge machine learning techniques to refactoring challenges.&lt;/p&gt;&lt;p&gt;AlOmar et al.'s study, “Behind the Scenes: On the Relationship Between Developer Experience and Refactoring,” investigates the correlation between developer experience and refactoring activities across 800 open-source projects. Their findings highlight that experienced developers tend to perform more varied refactoring operations but document less of their refactoring activities. This study offers a new perspective on how human factors influence refactoring practices, enriching the broader conversation on effective software evolution.&lt;/p&gt;&lt;p&gt;In “A Study of Refactorings During Software Change Tasks,” Eilertsen and Murphy explore the reasons behind the disuse of refactoring tools during software change tasks. Their observational study reveals that the strategies developers use significantly impact the use of refactoring ","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2732","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143116621","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 hybrid-ensemble model for software defect prediction for balanced and imbalanced datasets using AI-based techniques with feature preservation: SMERKP-XGB 使用基于人工智能的特征保存技术,为平衡和不平衡数据集建立软件缺陷预测混合组合模型:SMERKP-XGB
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-17 DOI: 10.1002/smr.2731
Mohd Mustaqeem, Tamanna Siddiqui, Suhel Mustajab

Maintaining software quality is a significant challenge as the complexity of software is increasing with the rise of the software industry. Software defects are a primary concern in complex modules, and predicting them in the early stages of the software development life cycle (SDLC) is difficult. Previous techniques to address this issue have not been very promising. We have proposed “A hybrid ensemble model for software defect prediction using AI-based techniques with feature preservation” to overcome this problem. We have used the National Aeronautics and Space Administration (NASA) dataset from the PROMISE repository for testing and validation. By applying exploratory data analysis (EDA), feature engineering, scaling, and standardization, we found that the dataset is imbalanced, which can negatively affect the model's performance. To address this, we have used the Synthetic Minority Oversampling (SMOTE) technique and the edited nearest neighbor (ENN) (SMOTE-ENN). We have also used recursive feature elimination cross-validation (RFE-CV) with a pipeline to prevent data leaking in CV and kernel-based principal component analysis (K-PCA) to minimize dimensionality and selectively relevant features. The reduced dimensional data is then given to the eXtreme Gradient Boosting (XGBoost) for classification, resulting in the hybrid-ensemble (SMERKP-XGB) model. The proposed SMERKP-XGB model is better than previously developed models in terms of accuracy (CM1: 97.53%, PC1: 92.05%, and PC2: 97.45%, KC1:95.65%), and area under the receiver operating characteristic curve values (CM1:96.30%, PC1:98.30%, and PC2:99.30%: KC1: 93.54) and other evaluation criteria mentioned in the literature.

随着软件产业的兴起,软件的复杂性不断增加,如何保持软件质量是一项重大挑战。软件缺陷是复杂模块的首要问题,而在软件开发生命周期(SDLC)的早期阶段预测软件缺陷是非常困难的。以往解决这一问题的技术并不理想。为了解决这个问题,我们提出了 "基于人工智能技术的软件缺陷预测混合集合模型"。我们使用了美国国家航空航天局(NASA)PROMISE 数据库中的数据集进行测试和验证。通过应用探索性数据分析(EDA)、特征工程、缩放和标准化,我们发现数据集是不平衡的,这会对模型的性能产生负面影响。为此,我们使用了合成少数群体过度采样(SMOTE)技术和编辑近邻(ENN)技术(SMOTE-ENN)。我们还使用了递归特征消除交叉验证(RFE-CV)和基于内核的主成分分析(K-PCA),以防止 CV 和 K-PCA 中的数据泄露,从而最小化维度并选择相关特征。然后,将降维数据交给极梯度提升(XGBoost)进行分类,最终形成混合组合(SMERKP-XGB)模型。所提出的 SMERKP-XGB 模型在准确率(CM1:97.53%;PC1:92.05%;PC2:97.45%;KC1:95.65%)和接收者工作特征曲线下面积值(CM1:96.30%;PC1:98.30%;PC2:99.30%;KC1:93.54)以及文献中提到的其他评价标准方面均优于之前开发的模型。
{"title":"A hybrid-ensemble model for software defect prediction for balanced and imbalanced datasets using AI-based techniques with feature preservation: SMERKP-XGB","authors":"Mohd Mustaqeem,&nbsp;Tamanna Siddiqui,&nbsp;Suhel Mustajab","doi":"10.1002/smr.2731","DOIUrl":"10.1002/smr.2731","url":null,"abstract":"<p>Maintaining software quality is a significant challenge as the complexity of software is increasing with the rise of the software industry. Software defects are a primary concern in complex modules, and predicting them in the early stages of the software development life cycle (SDLC) is difficult. Previous techniques to address this issue have not been very promising. We have proposed “A hybrid ensemble model for software defect prediction using AI-based techniques with feature preservation” to overcome this problem. We have used the National Aeronautics and Space Administration (NASA) dataset from the PROMISE repository for testing and validation. By applying exploratory data analysis (EDA), feature engineering, scaling, and standardization, we found that the dataset is imbalanced, which can negatively affect the model's performance. To address this, we have used the Synthetic Minority Oversampling (SMOTE) technique and the edited nearest neighbor (ENN) (SMOTE-ENN). We have also used recursive feature elimination cross-validation (RFE-CV) with a pipeline to prevent data leaking in CV and kernel-based principal component analysis (K-PCA) to minimize dimensionality and selectively relevant features. The reduced dimensional data is then given to the eXtreme Gradient Boosting (XGBoost) for classification, resulting in the hybrid-ensemble (SMERKP-XGB) model. The proposed SMERKP-XGB model is better than previously developed models in terms of accuracy (CM1: 97.53%, PC1: 92.05%, and PC2: 97.45%, KC1:95.65%), and area under the receiver operating characteristic curve values (CM1:96.30%, PC1:98.30%, and PC2:99.30%: KC1: 93.54) and other evaluation criteria mentioned in the literature.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142265344","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
LLMs for science: Usage for code generation and data analysis 用于科学的 LLM:用于代码生成和数据分析
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-12 DOI: 10.1002/smr.2723
Mohamed Nejjar, Luca Zacharias, Fabian Stiehle, Ingo Weber

Large language models (LLMs) have been touted to enable increased productivity in many areas of today's work life. Scientific research as an area of work is no exception: The potential of LLM-based tools to assist in the daily work of scientists has become a highly discussed topic across disciplines. However, we are only at the very onset of this subject of study. It is still unclear how the potential of LLMs will materialize in research practice. With this study, we give first empirical evidence on the use of LLMs in the research process. We have investigated a set of use cases for LLM-based tools in scientific research and conducted a first study to assess to which degree current tools are helpful. In this position paper, we report specifically on use cases related to software engineering, specifically, on generating application code and developing scripts for data analytics and visualization. While we studied seemingly simple use cases, results across tools differ significantly. Our results highlight the promise of LLM-based tools in general, yet we also observe various issues, particularly regarding the integrity of the output these tools provide.

大型语言模型(LLM)被认为可以提高当今许多工作领域的生产率。科学研究领域也不例外:基于 LLM 的工具在协助科学家日常工作方面的潜力已成为各学科讨论的热门话题。然而,我们对这一主题的研究才刚刚起步。目前还不清楚 LLM 的潜力将如何在研究实践中实现。通过本研究,我们首次提供了在研究过程中使用 LLM 的实证证据。我们调查了一系列基于 LLM 的工具在科学研究中的使用案例,并进行了首次研究,以评估当前工具在多大程度上有所帮助。在本立场文件中,我们特别报告了与软件工程相关的用例,尤其是生成应用代码以及开发数据分析和可视化脚本的用例。虽然我们研究的用例看似简单,但不同工具的结果却大相径庭。我们的研究结果凸显了基于 LLM 的工具的前景,但我们也发现了各种问题,尤其是这些工具所提供的输出的完整性。
{"title":"LLMs for science: Usage for code generation and data analysis","authors":"Mohamed Nejjar,&nbsp;Luca Zacharias,&nbsp;Fabian Stiehle,&nbsp;Ingo Weber","doi":"10.1002/smr.2723","DOIUrl":"10.1002/smr.2723","url":null,"abstract":"<p>Large language models (LLMs) have been touted to enable increased productivity in many areas of today's work life. Scientific research as an area of work is no exception: The potential of LLM-based tools to assist in the daily work of scientists has become a highly discussed topic across disciplines. However, we are only at the very onset of this subject of study. It is still unclear how the potential of LLMs will materialize in research practice. With this study, we give first empirical evidence on the use of LLMs in the research process. We have investigated a set of use cases for LLM-based tools in scientific research and conducted a first study to assess to which degree current tools are helpful. In this position paper, we report specifically on use cases related to software engineering, specifically, on generating application code and developing scripts for data analytics and visualization. While we studied seemingly simple use cases, results across tools differ significantly. Our results highlight the promise of LLM-based tools in general, yet we also observe various issues, particularly regarding the integrity of the output these tools provide.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2723","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142269249","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
Measuring software engineer's contribution in practice: An industrial experience report 衡量软件工程师的实际贡献:行业经验报告
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-04 DOI: 10.1002/smr.2722
Yue Li, He Zhang, Lanxin Yang, Liming Dong, Juzheng Zhang, Bohan Liu

Software engineers play a centric role throughout the software development lifecycle. Their activities directly impact the quality, performance, and successful delivery of software products, in particular for enterprises with an emphasis on high levels of quality assurance and timely delivery. Proper incentives that motivate software engineers are vital to secure and continuously improve development productivity and software quality. However, most existing research ignores the positive incentives for software engineers, especially industry-oriented research. In addition, existing research largely relies on peer assessment and lacks objectivity and transparency. To this end, this study investigates the process of contribution measurement for software engineers in a global Information and Communications Technology (ICT) enterprise, to explore the practical experiences and significance of contribution measurement. We investigated the practices of contribution measurement through multiple methods, including archival analysis, interviews, and survey. A total of 22 software engineers were interviewed to understand the practical implementation process of measuring contributions and its impact on software processes as well as engineers. In addition, 74 responses to our questionnaire were collected and used for a comprehensive impact analysis on software engineers. The analysis results reveal five benefits for software development processes and four benefits for practitioners of contribution measurement in the studied enterprise. In addition, this study reports on the best practices of contribution measurement, such as team-specific measurements, and provides a practical reference for researchers and organizations interested in studying or performing contribution measurement.

软件工程师在整个软件开发生命周期中发挥着核心作用。他们的工作直接影响到软件产品的质量、性能和成功交付,尤其是对于强调高水平质量保证和及时交付的企业而言。激励软件工程师的适当激励措施对于确保并不断提高开发效率和软件质量至关重要。然而,大多数现有研究都忽视了对软件工程师的积极激励,尤其是面向行业的研究。此外,现有研究大多依赖同行评估,缺乏客观性和透明度。为此,本研究调查了一家全球性信息和通信技术(ICT)企业中软件工程师的贡献度测评过程,以探索贡献度测评的实践经验和意义。我们通过档案分析、访谈和调查等多种方法调查了贡献度衡量的实践。我们共采访了 22 名软件工程师,以了解贡献度衡量的实际实施过程及其对软件流程和工程师的影响。此外,我们还收集了 74 份问卷回复,用于对软件工程师的影响进行综合分析。分析结果显示,在所研究的企业中,贡献度衡量为软件开发流程带来了五项益处,为从业人员带来了四项益处。此外,本研究还报告了贡献度测评的最佳实践,如针对特定团队的测评,并为有兴趣研究或实施贡献度测评的研究人员和组织提供了实用参考。
{"title":"Measuring software engineer's contribution in practice: An industrial experience report","authors":"Yue Li,&nbsp;He Zhang,&nbsp;Lanxin Yang,&nbsp;Liming Dong,&nbsp;Juzheng Zhang,&nbsp;Bohan Liu","doi":"10.1002/smr.2722","DOIUrl":"10.1002/smr.2722","url":null,"abstract":"<p>Software engineers play a centric role throughout the software development lifecycle. Their activities directly impact the quality, performance, and successful delivery of software products, in particular for enterprises with an emphasis on high levels of quality assurance and timely delivery. Proper incentives that motivate software engineers are vital to secure and continuously improve development productivity and software quality. However, most existing research ignores the positive incentives for software engineers, especially industry-oriented research. In addition, existing research largely relies on peer assessment and lacks objectivity and transparency. To this end, this study investigates the process of contribution measurement for software engineers in a global Information and Communications Technology (ICT) enterprise, to explore the practical experiences and significance of contribution measurement. We investigated the practices of contribution measurement through multiple methods, including archival analysis, interviews, and survey. A total of 22 software engineers were interviewed to understand the practical implementation process of measuring contributions and its impact on software processes as well as engineers. In addition, 74 responses to our questionnaire were collected and used for a comprehensive impact analysis on software engineers. The analysis results reveal five benefits for software development processes and four benefits for practitioners of contribution measurement in the studied enterprise. In addition, this study reports on the best practices of contribution measurement, such as team-specific measurements, and provides a practical reference for researchers and organizations interested in studying or performing contribution measurement.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142224279","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
Detect atomicity violations in concurrent programs through user assistance and identification of suspicious variable access patterns 通过用户协助和识别可疑变量访问模式,检测并发程序中的原子性违规行为
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-03 DOI: 10.1002/smr.2725
Jingwen Zhao, Yanxia Wu, Yun Feng, Jibin Dong, Changting Shi

Atomicity violation bugs are a frequent problem in concurrency. Because of the unpredictable nature of thread interleaving, most current methods are unable to differentiate between harmful and benign atomicity violations. This makes it challenging to determine the existence of an actual bug. This paper presents a method for detecting atomicity violation bugs in programs based on user interaction. First, UserTrack matches access interleaving patterns to identify all potential violations. We then verify the programmer's atomicity intent between two logical access operations on the same thread and filter out some candidates. Finally, a user interaction mechanism checks the paths that do not produce atomicity violations when threads are interleaved. Our method focuses on a small number of interesting states and interleavings, while allowing the programmer to impose constraints on thread interleavings and explore all executions that satisfy these constraints. We continuously gather information through user feedback results and detect atomicity violation bugs that truly go against the programmer's intent. We evaluated the method using benchmark tests, which demonstrated the effectiveness of UserTrack in detecting atomicity violations.

违反原子性错误是并发问题中经常出现的问题。由于线程交错的不可预测性,目前大多数方法都无法区分有害和无害的原子性违规。这就给确定是否存在实际漏洞带来了挑战。本文介绍了一种基于用户交互的程序原子性违规漏洞检测方法。首先,UserTrack 对访问交织模式进行匹配,以识别所有潜在的违规行为。然后,我们验证程序员在同一线程的两个逻辑访问操作之间的原子性意图,并过滤掉一些候选者。最后,用户交互机制会检查线程交错时不会产生原子性违规的路径。我们的方法侧重于少数有趣的状态和交错,同时允许程序员对线程交错施加约束,并探索满足这些约束的所有执行。我们通过用户反馈结果不断收集信息,并检测出真正违背程序员意图的违反原子性的错误。我们使用基准测试对该方法进行了评估,结果表明 UserTrack 在检测违反原子性方面非常有效。
{"title":"Detect atomicity violations in concurrent programs through user assistance and identification of suspicious variable access patterns","authors":"Jingwen Zhao,&nbsp;Yanxia Wu,&nbsp;Yun Feng,&nbsp;Jibin Dong,&nbsp;Changting Shi","doi":"10.1002/smr.2725","DOIUrl":"10.1002/smr.2725","url":null,"abstract":"<p>Atomicity violation bugs are a frequent problem in concurrency. Because of the unpredictable nature of thread interleaving, most current methods are unable to differentiate between harmful and benign atomicity violations. This makes it challenging to determine the existence of an actual bug. This paper presents a method for detecting atomicity violation bugs in programs based on user interaction. First, UserTrack matches access interleaving patterns to identify all potential violations. We then verify the programmer's atomicity intent between two logical access operations on the same thread and filter out some candidates. Finally, a user interaction mechanism checks the paths that do not produce atomicity violations when threads are interleaved. Our method focuses on a small number of interesting states and interleavings, while allowing the programmer to impose constraints on thread interleavings and explore all executions that satisfy these constraints. We continuously gather information through user feedback results and detect atomicity violation bugs that truly go against the programmer's intent. We evaluated the method using benchmark tests, which demonstrated the effectiveness of UserTrack in detecting atomicity violations.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142185445","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
E2E test execution optimization for web application based on state reuse 基于状态重用的网络应用程序 E2E 测试执行优化
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-01 DOI: 10.1002/smr.2714
Ruilian Zhao, Shukai Zhang, Zhifan Zhu, Ying Shang, Weiwei Wang

End-to-end (E2E) testing is a commonly used technique for web application testing. Unlike traditional unit tests, E2E tests focus on test scenarios that target the entire business, which integrate and collaborate of various components and services to make the whole application work. As a result, one drawback of E2E tests is their longer execution time, seriously affecting testing efficiency of web applications. In order to speed up the execution of E2E tests for web applications, this paper proposes a test execution optimization approach based page state reuse. Through analyzing the common operations of E2E tests, a common prefix trees is constructed to organize the same operations among test scripts in a test suite of web applications. Under the guidance of the prefix tree, the optimal reusable state is identified and duplicated to maximize the utilization of page states triggered by the same operations, thereby reducing the overall execution time of the test suite. Besides, to realize page state reuse automatically, we design a browser process replication strategy, which implement querying the active page and duplicating the web page. To verify the effectiveness of our method, experiments and evaluations were conducted on 347 E2E tests from eight open-source web applications, and the results showed that our approach reduced the E2E testing execution time for web applications by 52%–68%.

端到端(E2E)测试是一种常用的网络应用程序测试技术。与传统的单元测试不同,E2E 测试的重点是针对整个业务的测试场景,这些场景整合了各种组件和服务并相互协作,使整个应用程序能够正常运行。因此,E2E 测试的一个缺点是执行时间较长,严重影响了网络应用程序的测试效率。为了加快网络应用程序 E2E 测试的执行速度,本文提出了一种基于页面状态重用的测试执行优化方法。通过分析 E2E 测试中的常见操作,本文构建了一个通用前缀树,用于组织网络应用程序测试套件中各测试脚本之间的相同操作。在前缀树的指导下,找出最佳的可重用状态并进行复制,最大限度地利用相同操作触发的页面状态,从而减少测试套件的整体执行时间。此外,为了自动实现页面状态重用,我们设计了一种浏览器进程复制策略,实现了对活动页面的查询和网页复制。为了验证我们方法的有效性,我们在八个开源网络应用程序的 347 个 E2E 测试中进行了实验和评估,结果表明我们的方法缩短了网络应用程序的 E2E 测试执行时间 52%-68%。
{"title":"E2E test execution optimization for web application based on state reuse","authors":"Ruilian Zhao,&nbsp;Shukai Zhang,&nbsp;Zhifan Zhu,&nbsp;Ying Shang,&nbsp;Weiwei Wang","doi":"10.1002/smr.2714","DOIUrl":"10.1002/smr.2714","url":null,"abstract":"<p>End-to-end (E2E) testing is a commonly used technique for web application testing. Unlike traditional unit tests, E2E tests focus on test scenarios that target the entire business, which integrate and collaborate of various components and services to make the whole application work. As a result, one drawback of E2E tests is their longer execution time, seriously affecting testing efficiency of web applications. In order to speed up the execution of E2E tests for web applications, this paper proposes a test execution optimization approach based page state reuse. Through analyzing the common operations of E2E tests, a common prefix trees is constructed to organize the same operations among test scripts in a test suite of web applications. Under the guidance of the prefix tree, the optimal reusable state is identified and duplicated to maximize the utilization of page states triggered by the same operations, thereby reducing the overall execution time of the test suite. Besides, to realize page state reuse automatically, we design a browser process replication strategy, which implement querying the active page and duplicating the web page. To verify the effectiveness of our method, experiments and evaluations were conducted on 347 E2E tests from eight open-source web applications, and the results showed that our approach reduced the E2E testing execution time for web applications by 52%–68%.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 1","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142185444","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