首页 > 最新文献

Journal of Software-Evolution and Process最新文献

英文 中文
Regression test prioritization leveraging source code similarity with tree kernels 利用树核的源代码相似性确定回归测试优先级
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-15 DOI: 10.1002/smr.2653
Francesco Altiero, Anna Corazza, Sergio Di Martino, Adriano Peron, Luigi Libero Lucio Starace

Regression test prioritization (RTP) is an active research field, aiming at re-ordering the tests in a test suite to maximize the rate at which faults are detected. A number of RTP strategies have been proposed, leveraging different factors to reorder tests. Some techniques include an analysis of changed source code, to assign higher priority to tests stressing modified parts of the codebase. Still, most of these change-based solutions focus on simple text-level comparisons among versions. We believe that measuring source code changes in a more refined way, capable of discriminating between mere textual changes (e.g., renaming of a local variable) and more structural changes (e.g., changes in the control flow), could lead to significant benefits in RTP, under the assumption that major structural changes are also more likely to introduce faults. To this end, we propose two novel RTP techniques that leverage tree kernels (TK), a class of similarity functions largely used in Natural Language Processing on tree-structured data. In particular, we apply TKs to abstract syntax trees of source code, to more precisely quantify the extent of structural changes in the source code, and prioritize tests accordingly. We assessed the effectiveness of the proposals by conducting an empirical study on five real-world Java projects, also used in a number of RTP-related papers. We automatically generated, for each considered pair of software versions (i.e., old version, new version) in the evolution of the involved projects, 100 variations with artificially injected faults, leading to over 5k different software evolution scenarios overall. We compared the proposed prioritization approaches against well-known prioritization techniques, evaluating both their effectiveness and their execution times. Our findings show that leveraging more refined code change analysis techniques to quantify the extent of changes in source code can lead to relevant improvements in prioritization effectiveness, while typically introducing negligible overheads due to their execution.

回归测试优先级排序(RTP)是一个活跃的研究领域,旨在对测试套件中的测试重新排序,以最大限度地提高故障检测率。人们提出了许多 RTP 策略,利用不同的因素对测试重新排序。有些技术包括分析已更改的源代码,为强调代码库已修改部分的测试分配更高的优先级。不过,这些基于变化的解决方案大多侧重于版本间简单的文本级比较。我们认为,以更精细的方式衡量源代码的变化,能够区分单纯的文本变化(如局部变量的重命名)和更多的结构变化(如控制流的变化),可以为 RTP 带来显著的好处,前提是重大的结构变化也更有可能引入故障。为此,我们提出了两种利用树核(TK)的新型 RTP 技术,树核是自然语言处理中广泛应用于树形结构数据的一类相似性函数。特别是,我们将 TK 应用于源代码的抽象语法树,以更精确地量化源代码中结构变化的程度,并相应地确定测试的优先级。我们在五个实际 Java 项目中进行了实证研究,评估了这些建议的有效性。我们为所涉及项目演化过程中的每一对软件版本(即旧版本、新版本)自动生成了 100 种带有人为注入故障的变体,从而产生了超过 5k 种不同的软件演化场景。我们将提出的优先级排序方法与众所周知的优先级排序技术进行了比较,评估了它们的有效性和执行时间。我们的研究结果表明,利用更精细的代码变更分析技术来量化源代码的变更程度,可以显著提高优先级排序的有效性,同时由于其执行而带来的开销通常可以忽略不计。
{"title":"Regression test prioritization leveraging source code similarity with tree kernels","authors":"Francesco Altiero,&nbsp;Anna Corazza,&nbsp;Sergio Di Martino,&nbsp;Adriano Peron,&nbsp;Luigi Libero Lucio Starace","doi":"10.1002/smr.2653","DOIUrl":"10.1002/smr.2653","url":null,"abstract":"<p>Regression test prioritization (RTP) is an active research field, aiming at re-ordering the tests in a test suite to maximize the rate at which faults are detected. A number of RTP strategies have been proposed, leveraging different factors to reorder tests. Some techniques include an analysis of changed source code, to assign higher priority to tests stressing modified parts of the codebase. Still, most of these change-based solutions focus on simple text-level comparisons among versions. We believe that measuring source code changes in a more refined way, capable of discriminating between mere textual changes (e.g., renaming of a local variable) and more structural changes (e.g., changes in the control flow), could lead to significant benefits in RTP, under the assumption that major structural changes are also more likely to introduce faults. To this end, we propose two novel RTP techniques that leverage <i>tree kernels</i> (TK), a class of similarity functions largely used in Natural Language Processing on tree-structured data. In particular, we apply TKs to abstract syntax trees of source code, to more precisely quantify the extent of structural changes in the source code, and prioritize tests accordingly. We assessed the effectiveness of the proposals by conducting an empirical study on five real-world Java projects, also used in a number of RTP-related papers. We automatically generated, for each considered pair of software versions (i.e., old version, new version) in the evolution of the involved projects, 100 variations with artificially injected faults, leading to over 5k different software evolution scenarios overall. We compared the proposed prioritization approaches against well-known prioritization techniques, evaluating both their effectiveness and their execution times. Our findings show that leveraging more refined code change analysis techniques to quantify the extent of changes in source code can lead to relevant improvements in prioritization effectiveness, while typically introducing negligible overheads due to their execution.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 8","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139962491","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
Tarsis: An effective automata-based abstract domain for string analysis Tarsis:基于自动机的有效字符串分析抽象域
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-14 DOI: 10.1002/smr.2647
Luca Negrini, Vincenzo Arceri, Agostino Cortesi, Pietro Ferrara

In this paper, we introduce Tarsis, a new abstract domain based on the abstract interpretation theory that approximates string values through finite state automata. The main novelty of Tarsis is that it works over an alphabet of strings instead of single characters. On the one hand, such an approach requires a more complex and refined definition of the lattice operators and of the abstract semantics of string operators. On the other hand, it is in position to obtain strictly more precise results than state-of-the-art approaches. We compare Tarsis both with simpler domains and with the standard automata model, targeting case studies containing standard yet challenging string manipulations. The performance gain w.r.t. the standard automata model is also assessed, measuring the speed-up gained by Tarsis. Experiments confirm that Tarsis can obtain precise results without incurring in excessive computational costs.

本文介绍了基于抽象解释理论的新抽象域 Tarsis,它通过有限状态自动机逼近字符串值。Tarsis 的主要新颖之处在于它适用于字符串字母表而非单个字符。一方面,这种方法需要对网格算子和字符串算子的抽象语义进行更复杂、更精细的定义。另一方面,它能获得比最先进方法更精确的结果。我们将 Tarsis 与更简单的域和标准自动机模型进行了比较,并针对包含标准但具有挑战性的字符串操作的案例进行了研究。我们还评估了与标准自动机模型相比的性能增益,衡量了 Tarsis 所带来的速度提升。实验证实,Tarsis 可以获得精确的结果,而不会产生过高的计算成本。
{"title":"Tarsis: An effective automata-based abstract domain for string analysis","authors":"Luca Negrini,&nbsp;Vincenzo Arceri,&nbsp;Agostino Cortesi,&nbsp;Pietro Ferrara","doi":"10.1002/smr.2647","DOIUrl":"10.1002/smr.2647","url":null,"abstract":"<p>In this paper, we introduce <span>Tarsis</span>, a new abstract domain based on the abstract interpretation theory that approximates string values through finite state automata. The main novelty of <span>Tarsis</span> is that it works over an alphabet of strings instead of single characters. On the one hand, such an approach requires a more complex and refined definition of the lattice operators and of the abstract semantics of string operators. On the other hand, it is in position to obtain strictly more precise results than state-of-the-art approaches. We compare <span>Tarsis</span> both with simpler domains and with the standard automata model, targeting case studies containing standard yet challenging string manipulations. The performance gain w.r.t. the standard automata model is also assessed, measuring the speed-up gained by <span>Tarsis</span>. Experiments confirm that <span>Tarsis</span> can obtain precise results without incurring in excessive computational costs.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 8","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2647","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139762659","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
Balanced knowledge distribution among software development teams—Observations from open- and closed-source software development 软件开发团队之间的均衡知识分配--从开放源代码和封闭源代码软件开发中得出的结论
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-13 DOI: 10.1002/smr.2655
Saad Shafiq, Christoph Mayr-Dorn, Atif Mashkoor, Alexander Egyed

In software development, developer turnover is among the primary reasons for project failures, leading to a great void of knowledge and strain for newcomers. Unfortunately, no established methods exist to measure how the problem domain knowledge is distributed among developers. Awareness of how this knowledge evolves and is owned by key developers in a project helps stakeholders reduce risks caused by turnover. To this end, this paper introduces a novel, realistic representation of problem domain knowledge distribution: the ConceptRealm. To construct the ConceptRealm, we employ a latent Dirichlet allocation model to represent textual features obtained from 300 K issues and 1.3 M comments from 518 open-source projects. We analyze whether the newly emerged issues and developers share similar concepts or how aligned the individual developers' concepts are with the team over time. We also investigate the impact of leaving developers on the frequency of concepts. Finally, we also evaluate the soundness of our approach on a closed-source software project, thus allowing the validation of the results from a practical standpoint. We find out that the ConceptRealm can represent the problem domain knowledge within a project and can be utilized to predict the alignment of developers with issues. We also observe that projects exhibit many keepers independent of project maturity and that abruptly leaving keepers correlates with a decline of their core concepts as the remaining developers cannot quickly familiarize themselves with those concepts.

在软件开发过程中,开发人员的更替是项目失败的主要原因之一,这会导致知识的巨大空白和新人的压力。遗憾的是,目前还没有成熟的方法来衡量问题领域知识在开发人员中的分布情况。了解这些知识是如何演变的,以及项目中的关键开发人员是如何拥有这些知识的,有助于利益相关者降低人员流动带来的风险。为此,本文介绍了一种新颖、现实的问题领域知识分布表示方法:概念境界(ConceptRealm)。为了构建 ConceptRealm,我们采用了一种潜在的 Dirichlet 分配模型来表示从 518 个开源项目的 300 K 个问题和 130 万条评论中获得的文本特征。我们分析了新出现的问题和开发人员是否共享相似的概念,或者随着时间的推移,开发人员个人的概念与团队的一致性如何。我们还调查了开发人员离职对概念频率的影响。最后,我们还在一个封闭源代码软件项目上评估了我们的方法的合理性,从而从实际角度验证了结果。我们发现,概念境界可以代表项目中的问题领域知识,并可用于预测开发人员与问题的一致性。我们还观察到,项目中会出现许多与项目成熟度无关的保持者,而突然离开保持者会导致其核心概念的衰退,因为剩余的开发人员无法快速熟悉这些概念。
{"title":"Balanced knowledge distribution among software development teams—Observations from open- and closed-source software development","authors":"Saad Shafiq,&nbsp;Christoph Mayr-Dorn,&nbsp;Atif Mashkoor,&nbsp;Alexander Egyed","doi":"10.1002/smr.2655","DOIUrl":"10.1002/smr.2655","url":null,"abstract":"<p>In software development, developer turnover is among the primary reasons for project failures, leading to a great void of knowledge and strain for newcomers. Unfortunately, no established methods exist to measure how the problem domain knowledge is distributed among developers. Awareness of how this knowledge evolves and is owned by key developers in a project helps stakeholders reduce risks caused by turnover. To this end, this paper introduces a novel, realistic representation of problem domain knowledge distribution: the <i>ConceptRealm</i>. To construct the <i>ConceptRealm</i>, we employ a latent Dirichlet allocation model to represent textual features obtained from 300 K issues and 1.3 M comments from 518 open-source projects. We analyze whether the newly emerged issues and developers share similar concepts or how aligned the individual developers' concepts are with the team over time. We also investigate the impact of leaving developers on the frequency of concepts. Finally, we also evaluate the soundness of our approach on a closed-source software project, thus allowing the validation of the results from a practical standpoint. We find out that the <i>ConceptRealm</i> can represent the problem domain knowledge within a project and can be utilized to predict the alignment of developers with issues. We also observe that projects exhibit many keepers independent of project maturity and that abruptly leaving keepers correlates with a decline of their core concepts as the remaining developers cannot quickly familiarize themselves with those concepts.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 8","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2655","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139762726","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
On the suitability of checked coverage and genetic parameter tuning in test suite reduction 测试套件缩减中检查覆盖率和遗传参数调整的适用性
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-11 DOI: 10.1002/smr.2656
Roxane Koitz-Hristov, Thomas Sterner, Lukas Stracke, Franz Wotawa

As software projects evolve and grow in size and complexity, so do their test suites. Test suite reduction (TSR) aims at reducing the size of a test suite by removing redundant and obsolete test cases based on a coverage metric while preserving its fault detection capabilities. The contributions of this paper are twofold: (1) We examine a lesser-known coverage criterion, that is, checked coverage. Checked coverage not only investigates if a part of the code was executed but also if it was checked by a test oracle. In an empirical evaluation, we performed TSR based on different reduction algorithms, coverage metrics, and open-source Java projects with our own TSR tool to determine the most effective and efficient combination of metric and method. (2) Given the results of the first evaluation, we further investigate the potential of parameter optimization in regard to a genetic reduction algorithm. In particular, we focus on finding a general setting for the parameters crossover rate and mutation rate such that test suites can be reduced in a reasonable time while maintaining a high fault detection power.

随着软件项目的发展、规模和复杂性的增加,其测试套件也在不断增加。测试套件缩减(TSR)的目的是根据覆盖率指标删除多余和过时的测试用例,从而缩小测试套件的规模,同时保留其故障检测能力。本文有两方面的贡献:(1)我们研究了一个鲜为人知的覆盖率标准,即校验覆盖率。校验覆盖率不仅考察代码的一部分是否被执行,还考察它是否被测试甲骨文所校验。在实证评估中,我们使用自己的 TSR 工具,根据不同的缩减算法、覆盖率度量和开源 Java 项目执行了 TSR,以确定度量和方法的最有效组合。(2) 鉴于第一次评估的结果,我们进一步研究了遗传缩减算法参数优化的潜力。特别是,我们将重点放在寻找交叉率和突变率参数的一般设置上,以便在合理的时间内减少测试套件,同时保持较高的故障检测能力。
{"title":"On the suitability of checked coverage and genetic parameter tuning in test suite reduction","authors":"Roxane Koitz-Hristov,&nbsp;Thomas Sterner,&nbsp;Lukas Stracke,&nbsp;Franz Wotawa","doi":"10.1002/smr.2656","DOIUrl":"10.1002/smr.2656","url":null,"abstract":"<p>As software projects evolve and grow in size and complexity, so do their test suites. Test suite reduction (TSR) aims at reducing the size of a test suite by removing redundant and obsolete test cases based on a coverage metric while preserving its fault detection capabilities. The contributions of this paper are twofold: (1) We examine a lesser-known coverage criterion, that is, checked coverage. Checked coverage not only investigates if a part of the code was executed but also if it was checked by a test oracle. In an empirical evaluation, we performed TSR based on different reduction algorithms, coverage metrics, and open-source Java projects with our own TSR tool to determine the most effective and efficient combination of metric and method. (2) Given the results of the first evaluation, we further investigate the potential of parameter optimization in regard to a genetic reduction algorithm. In particular, we focus on finding a general setting for the parameters crossover rate and mutation rate such that test suites can be reduced in a reasonable time while maintaining a high fault detection power.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 8","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.2656","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139762885","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
Challenges and solutions in the development of blockchain applications: Extraction from SLR and empirical study 区块链应用开发中的挑战和解决方案:从 SLR 中提取信息并进行实证研究
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-08 DOI: 10.1002/smr.2651
Maria Nabi, Muhammad Ilyas, Jamil Ahmad

Data protection is the most prior and valuable concern as stealing personal/organizational data by cyber criminals may arise issues ranging from privacy disclosure to system hacking. Blockchain is considered a top leading technology with the influence to reshape future industries, but like other revolutionary technologies, blockchain has its merits and demerits as well. However, due to its nascent stage, blockchain technology poses numerous challenges that hinder the effective development of blockchain. To uncover this potential hindrance and group the relevant barriers, a total of 12 challenges that may hinder the progress of blockchain application development have been identified from a sample of 52 primary studies. Based on the results of our research, the six challenges are considered critical an account for more than 30% occurrence. The critical challenges are “Lack of Proper Development Tools and Technology,” “Security Precaution Measures,” “Lack of Governance and Standards,” “Lack of Professional Expertise with Essential Skills and Knowledge,” “Lack of Organizational Support,” and “Interoperability Integration.” Using a comprehensive systematic literature review (SLR) and a questionnaire survey, a list of 65 solutions/practices has been identified to address the challenges that were identified. These solutions/practices will help blockchain developers to address the identified challenges and develop benign blockchain application in future. The results of our questionnaire survey largely align with the findings of the SLR. However, there are variations in the ranking of the challenges between the two datasets. The finding of this paper is to provide insights that can assist in streamlining and optimizing the development process of blockchain applications with greater ease and efficiency.

数据保护是最重要和最有价值的问题,因为网络犯罪分子窃取个人/组织数据可能会引发从隐私泄露到系统黑客攻击等各种问题。区块链被认为是具有重塑未来产业影响力的顶尖领先技术,但与其他革命性技术一样,区块链也有其优点和缺点。然而,由于处于新生阶段,区块链技术带来了诸多挑战,阻碍了区块链的有效发展。为了揭示这种潜在的阻碍,并对相关障碍进行分组,我们从 52 项原始研究样本中找出了可能阻碍区块链应用开发进程的共 12 项挑战。根据我们的研究结果,有六项挑战被认为是关键挑战,其发生率超过 30%。这些关键挑战是:"缺乏适当的开发工具和技术"、"安全防范措施"、"缺乏治理和标准"、"缺乏具备必要技能和知识的专业人才"、"缺乏组织支持 "和 "互操作性整合"。通过全面系统的文献综述(SLR)和问卷调查,确定了 65 个解决方案/做法清单,以应对已确定的挑战。这些解决方案/实践将有助于区块链开发人员应对所发现的挑战,并在未来开发良性的区块链应用。我们的问卷调查结果与 SLR 的调查结果基本一致。不过,两个数据集之间的挑战排序存在差异。本文的研究结果旨在提供见解,帮助简化和优化区块链应用的开发流程,使其更加轻松高效。
{"title":"Challenges and solutions in the development of blockchain applications: Extraction from SLR and empirical study","authors":"Maria Nabi,&nbsp;Muhammad Ilyas,&nbsp;Jamil Ahmad","doi":"10.1002/smr.2651","DOIUrl":"10.1002/smr.2651","url":null,"abstract":"<p>Data protection is the most prior and valuable concern as stealing personal/organizational data by cyber criminals may arise issues ranging from privacy disclosure to system hacking. Blockchain is considered a top leading technology with the influence to reshape future industries, but like other revolutionary technologies, blockchain has its merits and demerits as well. However, due to its nascent stage, blockchain technology poses numerous challenges that hinder the effective development of blockchain. To uncover this potential hindrance and group the relevant barriers, a total of 12 challenges that may hinder the progress of blockchain application development have been identified from a sample of 52 primary studies. Based on the results of our research, the six challenges are considered critical an account for more than 30% occurrence. The critical challenges are “Lack of Proper Development Tools and Technology,” “Security Precaution Measures,” “Lack of Governance and Standards,” “Lack of Professional Expertise with Essential Skills and Knowledge,” “Lack of Organizational Support,” and “Interoperability Integration.” Using a comprehensive systematic literature review (SLR) and a questionnaire survey, a list of 65 solutions/practices has been identified to address the challenges that were identified. These solutions/practices will help blockchain developers to address the identified challenges and develop benign blockchain application in future. The results of our questionnaire survey largely align with the findings of the SLR. However, there are variations in the ranking of the challenges between the two datasets. The finding of this paper is to provide insights that can assist in streamlining and optimizing the development process of blockchain applications with greater ease and efficiency.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 8","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139762569","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
Practitioners' expectations on automated release note generation techniques 从业人员对自动生成放行通知技术的期望
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-07 DOI: 10.1002/smr.2657
Sristy Sumana Nath, Banani Roy

The software development life cycle relies heavily on the software release note, a crucial document. Various practitioners, including project managers and clients, benefit from release notes as they provide an overview of the latest software release. However, the manual generation of release notes is a time-consuming and stressful task. Researchers have recently proposed automated techniques to generate release notes, saving developers' time and enhancing their understanding of software projects. Unfortunately, the adoption of these tools in practice remains limited. To address this gap, we have taken steps to understand the expectations and requirements of practitioners regarding release note generation techniques before implementing new automated approaches. Consequently, our approach involves two main stages: First, we conduct a comprehensive review of the relevant literature and analyze existing release notes from GitHub repositories to gain insights into the current practices. Second, we conduct an online survey study to gather input from practitioners and understand their expectations regarding release notes. We have reviewed 16 papers related to release notes and explored 3347 release notes from 21 GitHub repositories. Our analysis revealed key artifacts present in release note contents, including issues (29%), pull requests (32%), commits (19%), and common vulnerabilities and exposures (CVE) issues (6%). Additionally, we conducted a survey study involving 32 professionals to understand the essential information that should be included in release notes based on users' roles. For instance, project managers were more interested in learning about new features rather than less critical bug fixes. Furthermore, we identified gaps in existing systems and essential factors to consider when implementing release notes techniques in software engineering. The insights gained from our study can guide future research directions and assist practitioners in generating release notes with relevant content, thus improving the overall quality of documentation in software development.

软件开发生命周期在很大程度上依赖于软件发布说明这一重要文件。包括项目经理和客户在内的各种从业人员都能从发布说明中获益,因为发布说明提供了最新软件版本的概览。然而,手动生成发布说明是一项费时费力的工作。最近,研究人员提出了自动生成发布说明的技术,从而节省了开发人员的时间,增强了他们对软件项目的了解。遗憾的是,这些工具在实践中的应用仍然有限。为了弥补这一不足,我们在实施新的自动化方法之前,已采取措施了解从业人员对发布说明生成技术的期望和要求。因此,我们的方法包括两个主要阶段:首先,我们对相关文献进行了全面回顾,并分析了 GitHub 仓库中现有的发布说明,以深入了解当前的实践。其次,我们开展了一项在线调查研究,收集从业人员的意见并了解他们对发布说明的期望。我们查阅了 16 篇与发布说明相关的论文,并对 21 个 GitHub 软件库中的 3347 篇发布说明进行了研究。我们的分析揭示了发布说明内容中存在的关键工件,包括问题(29%)、拉取请求(32%)、提交(19%)以及常见漏洞和暴露(CVE)问题(6%)。此外,我们还对 32 位专业人士进行了调查研究,以了解根据用户角色不同,发布说明中应包含哪些基本信息。例如,项目经理更感兴趣的是了解新功能,而不是不太重要的错误修复。此外,我们还发现了现有系统中的不足,以及在软件工程中实施发布说明技术时需要考虑的基本因素。从我们的研究中获得的见解可以指导未来的研究方向,帮助从业人员生成具有相关内容的发布说明,从而提高软件开发文档的整体质量。
{"title":"Practitioners' expectations on automated release note generation techniques","authors":"Sristy Sumana Nath,&nbsp;Banani Roy","doi":"10.1002/smr.2657","DOIUrl":"10.1002/smr.2657","url":null,"abstract":"<p>The software development life cycle relies heavily on the software release note, a crucial document. Various practitioners, including project managers and clients, benefit from release notes as they provide an overview of the latest software release. However, the manual generation of release notes is a time-consuming and stressful task. Researchers have recently proposed automated techniques to generate release notes, saving developers' time and enhancing their understanding of software projects. Unfortunately, the adoption of these tools in practice remains limited. To address this gap, we have taken steps to understand the expectations and requirements of practitioners regarding release note generation techniques before implementing new automated approaches. Consequently, our approach involves two main stages: First, we conduct a comprehensive review of the relevant literature and analyze existing release notes from GitHub repositories to gain insights into the current practices. Second, we conduct an online survey study to gather input from practitioners and understand their expectations regarding release notes. We have reviewed 16 papers related to release notes and explored 3347 release notes from 21 GitHub repositories. Our analysis revealed key artifacts present in release note contents, including issues (29%), pull requests (32%), commits (19%), and common vulnerabilities and exposures (CVE) issues (6%). Additionally, we conducted a survey study involving 32 professionals to understand the essential information that should be included in release notes based on users' roles. For instance, project managers were more interested in learning about new features rather than less critical bug fixes. Furthermore, we identified gaps in existing systems and essential factors to consider when implementing release notes techniques in software engineering. The insights gained from our study can guide future research directions and assist practitioners in generating release notes with relevant content, thus improving the overall quality of documentation in software development.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 8","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139857902","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
Using Design Thinking to break social barriers: An experience report with former inmates 利用设计思维打破社会障碍:前囚犯的经验报告
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-07 DOI: 10.1002/smr.2648
Edna Dias Canedo, Emille Catarine Rodrigues Cançado, Alana Paula Barbosa Mota, Ian Nery Bandeira, Pedro Henrique Teixeira Costa, Fernanda Lima, Luis Amaral, Rodrigo Bonifácio

Design Thinking techniques have been widely used in software requirements elicitation to understand the necessities of stakeholders and end-users. However, there is a lack of evidence of their effectiveness when applied to guide the development process of a system targeting vulnerable populations. What are the implications of using Design Thinking techniques to elicit requirements in a community of former inmates—and what would be the benefits of and challenges in this deployment? In this paper, we report our experience of using Design Thinking for requirements elicitation of a mobile application customized for the former inmates of the Brazilian prison system and their families. We applied techniques such as Brainstorming, Stakeholder Mapping, Personas Creation, Rapid Ethnography, and Interviews to obtain relevant data and create several prototypes. These techniques contribute to the development of an uncommon application that aims to help the reintegration process of former inmates into society. Our results validate the initial hypothesis that such techniques, when applied to a sensitive context, assist product development that meets the end-users' needs by creating a higher quality product. The main limitation of the research was the lack of access to low-literacy end-users and/or former inmates without previous experience using mobile devices.

设计思维技术已被广泛应用于软件需求征询,以了解利益相关者和最终用户的需求。然而,目前还没有证据表明这些技术在指导针对弱势群体的系统开发过程中的有效性。使用设计思维技术在刑满释放人员社区中征集需求有什么意义?在本文中,我们报告了使用设计思维为巴西监狱系统的刑满释放人员及其家属定制的移动应用程序进行需求征集的经验。我们运用了头脑风暴、利益相关者绘图、创建角色、快速人种学和访谈等技术来获取相关数据并创建多个原型。这些技术有助于开发一种不常见的应用程序,旨在帮助刑满释放人员重新融入社会。我们的研究结果验证了最初的假设,即当这些技术应用于敏感环境时,可以通过创造更高质量的产品来帮助产品开发,从而满足最终用户的需求。研究的主要局限性在于无法接触到低文化水平的最终用户和/或没有使用移动设备经验的前囚犯。
{"title":"Using Design Thinking to break social barriers: An experience report with former inmates","authors":"Edna Dias Canedo,&nbsp;Emille Catarine Rodrigues Cançado,&nbsp;Alana Paula Barbosa Mota,&nbsp;Ian Nery Bandeira,&nbsp;Pedro Henrique Teixeira Costa,&nbsp;Fernanda Lima,&nbsp;Luis Amaral,&nbsp;Rodrigo Bonifácio","doi":"10.1002/smr.2648","DOIUrl":"10.1002/smr.2648","url":null,"abstract":"<p>Design Thinking techniques have been widely used in software requirements elicitation to understand the necessities of stakeholders and end-users. However, there is a lack of evidence of their effectiveness when applied to guide the development process of a system targeting vulnerable populations. What are the implications of using Design Thinking techniques to elicit requirements in a community of former inmates—and what would be the benefits of and challenges in this deployment? In this paper, we report our experience of using Design Thinking for requirements elicitation of a mobile application customized for the former inmates of the Brazilian prison system and their families. We applied techniques such as Brainstorming, Stakeholder Mapping, Personas Creation, Rapid Ethnography, and Interviews to obtain relevant data and create several prototypes. These techniques contribute to the development of an uncommon application that aims to help the reintegration process of former inmates into society. Our results validate the initial hypothesis that such techniques, when applied to a sensitive context, assist product development that meets the end-users' needs by creating a higher quality product. The main limitation of the research was the lack of access to low-literacy end-users and/or former inmates without previous experience using mobile devices.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139762575","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
Log-based anomaly detection for distributed systems: State of the art, industry experience, and open issues 基于日志的分布式系统异常检测:技术现状、行业经验和未决问题
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-07 DOI: 10.1002/smr.2650
Xinjie Wei, Jie Wang, Chang-ai Sun, Dave Towey, Shoufeng Zhang, Wanqing Zuo, Yiming Yu, Ruoyi Ruan, Guyang Song

Distributed systems have been widely used in many safety-critical areas. Any abnormalities (e.g., service interruption or service quality degradation) could lead to application crashes or decrease user satisfaction. These things may cause serious economic losses. Among the various quality assurance approaches for distributed systems, log-based anomaly detection (LAD) has become a popular research topic. Its popularity relates to system logs being able to record and reveal important run-time information. This paper presents a general LAD framework for distributed systems. Log grouping and feature-pattern mining are two crucial LAD components that impact on the anomaly-detection effectiveness. We also present a systematic survey of techniques in these two directions; propose classification frameworks for log grouping and feature patterns; and summarize four log-grouping techniques and five feature patterns (which refer to invariant relationships among logs that can be used for anomaly detection). To evaluate their applicability, we report on the findings when applying existing techniques to Ray, a popular industrial distributed system. Based on these findings, several open issues are identified, which provide potential guidance for future research and development.

分布式系统已广泛应用于许多安全关键领域。任何异常情况(如服务中断或服务质量下降)都可能导致应用程序崩溃或用户满意度下降。这些都可能造成严重的经济损失。在分布式系统的各种质量保证方法中,基于日志的异常检测(LAD)已成为一个热门研究课题。它的流行与系统日志能够记录和揭示重要的运行时信息有关。本文介绍了一种适用于分布式系统的通用 LAD 框架。日志分组和特征模式挖掘是影响异常检测效果的两个关键 LAD 组成部分。我们还对这两个方向的技术进行了系统调查,提出了日志分组和特征模式的分类框架,并总结了四种日志分组技术和五种特征模式(指日志之间的不变关系,可用于异常检测)。为了评估这些技术的适用性,我们报告了将现有技术应用于流行的工业分布式系统 Ray 时的发现。基于这些发现,我们确定了几个有待解决的问题,为未来的研究和开发提供了潜在的指导。
{"title":"Log-based anomaly detection for distributed systems: State of the art, industry experience, and open issues","authors":"Xinjie Wei,&nbsp;Jie Wang,&nbsp;Chang-ai Sun,&nbsp;Dave Towey,&nbsp;Shoufeng Zhang,&nbsp;Wanqing Zuo,&nbsp;Yiming Yu,&nbsp;Ruoyi Ruan,&nbsp;Guyang Song","doi":"10.1002/smr.2650","DOIUrl":"10.1002/smr.2650","url":null,"abstract":"<p>Distributed systems have been widely used in many safety-critical areas. Any abnormalities (e.g., service interruption or service quality degradation) could lead to application crashes or decrease user satisfaction. These things may cause serious economic losses. Among the various quality assurance approaches for distributed systems, log-based anomaly detection (LAD) has become a popular research topic. Its popularity relates to system logs being able to record and reveal important run-time information. This paper presents a general LAD framework for distributed systems. Log grouping and feature-pattern mining are two crucial LAD components that impact on the anomaly-detection effectiveness. We also present a systematic survey of techniques in these two directions; propose classification frameworks for log grouping and feature patterns; and summarize four log-grouping techniques and five feature patterns (which refer to invariant relationships among logs that can be used for anomaly detection). To evaluate their applicability, we report on the findings when applying existing techniques to Ray, a popular industrial distributed system. Based on these findings, several open issues are identified, which provide potential guidance for future research and development.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 8","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139772939","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
GRRLN: Gated Recurrent Residual Learning Networks for code clone detection GRRLN:用于代码克隆检测的门控递归残差学习网络
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-07 DOI: 10.1002/smr.2649
Xiangping Zhang, Jianxun Liu, Min Shi

Code clone detection is a critical problem in software development and maintenance domains. It aims to identify functionally identical or similar code fragments within an application. Existing works formulate the code clone detection task as a binary classification problem which predicts a code pair as a clone or not based on a pre-defined threshold. In reality, there are various types of code clone subject to the degree of how a pair of code fragments are similar to each other. To investigate the effect of different code clone detection manners on the clone detection result, we propose Gated Recurrent Residual Learning Networks (GRRLN), a novel neural network model for code clone detection. To train GRRLN, we first represent each code fragment as a statement-level tree sequence derived from the whole abstract syntax tree (AST). Then, a gated recurrent neural network with residual connections is adopted to fully extract the semantics of all individual statement trees together with their dependency relationships across the input statement sequence. Finally, the output representations of code fragments by GRRLN are used for similarity calculation and clone detection. We evaluate GRRLN using two real-world datasets for code clone detection and clone type classification. Experiments show that GRRLN achieves promising and compelling results and meanwhile needs significantly less time and memory consumption compared with the state-of-the-art methods.

代码克隆检测是软件开发和维护领域的一个关键问题。它旨在识别应用程序中功能相同或相似的代码片段。现有作品将代码克隆检测任务表述为一个二元分类问题,即根据预先定义的阈值预测代码对是否为克隆。实际上,根据代码片段对彼此相似的程度,克隆代码有多种类型。为了研究不同代码克隆检测方式对克隆检测结果的影响,我们提出了用于代码克隆检测的新型神经网络模型--门控递归残差学习网络(GRRLN)。为了训练 GRRLN,我们首先将每个代码片段表示为从整个抽象语法树(AST)中导出的语句级树序列。然后,采用具有残差连接的门控递归神经网络,全面提取输入语句序列中所有单个语句树的语义及其依赖关系。最后,GRRLN 输出的代码片段表示被用于相似性计算和克隆检测。我们使用两个真实世界的数据集对 GRRLN 进行了代码克隆检测和克隆类型分类评估。实验表明,GRRLN 取得了令人满意的结果,同时与最先进的方法相比,大大减少了所需的时间和内存消耗。
{"title":"GRRLN: Gated Recurrent Residual Learning Networks for code clone detection","authors":"Xiangping Zhang,&nbsp;Jianxun Liu,&nbsp;Min Shi","doi":"10.1002/smr.2649","DOIUrl":"10.1002/smr.2649","url":null,"abstract":"<p>Code clone detection is a critical problem in software development and maintenance domains. It aims to identify functionally identical or similar code fragments within an application. Existing works formulate the code clone detection task as a binary classification problem which predicts a code pair as a clone or not based on a pre-defined threshold. In reality, there are various types of code clone subject to the degree of how a pair of code fragments are similar to each other. To investigate the effect of different code clone detection manners on the clone detection result, we propose Gated Recurrent Residual Learning Networks (GRRLN), a novel neural network model for code clone detection. To train GRRLN, we first represent each code fragment as a statement-level tree sequence derived from the whole abstract syntax tree (AST). Then, a gated recurrent neural network with residual connections is adopted to fully extract the semantics of all individual statement trees together with their dependency relationships across the input statement sequence. Finally, the output representations of code fragments by GRRLN are used for similarity calculation and clone detection. We evaluate GRRLN using two real-world datasets for code clone detection and clone type classification. Experiments show that GRRLN achieves promising and compelling results and meanwhile needs significantly less time and memory consumption compared with the state-of-the-art methods.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139856635","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
The impact of personality traits and cultural values on coordination effectiveness: A study of software development teams effectiveness 个性特征和文化价值观对协调效率的影响:软件开发团队效率研究
IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-02-04 DOI: 10.1002/smr.2652
Mohammad Shameem, Chiranjeev Kumar, Bibhas Chandra, Arif Ali Khan, Md. Nadeem Ahmed, J. M. Verner, Mohammad Nadeem, Muhammad Azeem Akbar

Software development projects depend on collaborative teams. In the past 50 years of research, various studies have explored the effect of software engineer's personality traits and cultural values on team performance. These studies have led to better understand these relationships; however, how the personality traits and cultural values influence the team effectiveness is still far away in the literature. This research aims to investigate the relationships between social and psychological complexities (including personality traits and cultural values), team coordination, team motivation, and team success (which comprises team effectiveness and team climate) to explore the impact of social and psychological issues on software team success. An online survey targeting software development professionals and unstructured interviews were followed for data collection. We received 112 responses from software developers working in different countries. Findings indicate that personality traits and cultural values, that is, consciousness, openness, harmony, and autonomy, have positive relationship with team coordination effectiveness, while other factors such as neuroticism, embeddedness, hierarchy, and mastery were found to be related negatively with it. These negative relationships can be mitigated by motivating team members appropriately. Based on our research findings, we conclude that the negative impact caused by different personality and cultural traits could be reduced by improving team coordination effectiveness using effective motivation.

软件开发项目依赖于协作团队。在过去 50 年的研究中,各种研究探讨了软件工程师的个性特征和文化价值观对团队绩效的影响。这些研究使人们对这些关系有了更好的理解;然而,人格特质和文化价值观如何影响团队效率在文献中仍有很大的空白。本研究旨在调查社会和心理复杂性(包括个性特征和文化价值观)、团队协调、团队激励和团队成功(包括团队效能和团队氛围)之间的关系,以探讨社会和心理问题对软件团队成功的影响。数据收集采用了针对软件开发专业人员的在线调查和非结构化访谈。我们收到了 112 份来自不同国家软件开发人员的回复。调查结果表明,人格特质和文化价值观,即自觉性、开放性、和谐性和自主性,与团队协调效率呈正相关,而其他因素,如神经质、嵌入性、等级制和主观能动性,则与之呈负相关。这些负相关关系可以通过适当激励团队成员来缓解。根据我们的研究结果,我们得出结论:通过有效的激励来提高团队协调的有效性,可以减少不同性格和文化特质所造成的负面影响。
{"title":"The impact of personality traits and cultural values on coordination effectiveness: A study of software development teams effectiveness","authors":"Mohammad Shameem,&nbsp;Chiranjeev Kumar,&nbsp;Bibhas Chandra,&nbsp;Arif Ali Khan,&nbsp;Md. Nadeem Ahmed,&nbsp;J. M. Verner,&nbsp;Mohammad Nadeem,&nbsp;Muhammad Azeem Akbar","doi":"10.1002/smr.2652","DOIUrl":"10.1002/smr.2652","url":null,"abstract":"<p>Software development projects depend on collaborative teams. In the past 50 years of research, various studies have explored the effect of software engineer's personality traits and cultural values on team performance. These studies have led to better understand these relationships; however, how the personality traits and cultural values influence the team effectiveness is still far away in the literature. This research aims to investigate the relationships between social and psychological complexities (including personality traits and cultural values), team coordination, team motivation, and team success (which comprises team effectiveness and team climate) to explore the impact of social and psychological issues on software team success. An online survey targeting software development professionals and unstructured interviews were followed for data collection. We received 112 responses from software developers working in different countries. Findings indicate that personality traits and cultural values, that is, consciousness, openness, harmony, and autonomy, have positive relationship with team coordination effectiveness, while other factors such as neuroticism, embeddedness, hierarchy, and mastery were found to be related negatively with it. These negative relationships can be mitigated by motivating team members appropriately. Based on our research findings, we conclude that the negative impact caused by different personality and cultural traits could be reduced by improving team coordination effectiveness using effective motivation.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 7","pages":""},"PeriodicalIF":1.7,"publicationDate":"2024-02-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139762971","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