首页 > 最新文献

Software Quality Journal最新文献

英文 中文
Towards effective gamification of existing systems: method and experience report 实现现有系统的有效游戏化:方法和经验报告
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-17 DOI: 10.1007/s11219-024-09696-y
Anderson Uchôa, Rafael de Mello, Jairo Souza, Leopoldo Teixeira, Baldoino Fonseca, Alessandro Garcia

Gamification promotes user engagement with software features through the incorporation of game elements and rules. Gamification is often incorporated a posteriori into already existing systems. Success in gamifying an existing system depends on careful planning and the evolution of its previously produced software artifacts. This is particularly true for artifacts produced in the earliest development phases, such as the requirements specification. Incorporating game elements and rules into an existing system is far from trivial. Developers eventually struggle with performing certain development activities, such as evolving existing requirements and selecting game elements and game rules. This paper reports our practical experience in gamifying an existing system. Based on this experience, we introduce Gamify4Fun, a method that aims to assist developers in performing some key activities to gamify existing systems. We built Gamify4Fun based on the experience of 15 developers involved with the gamification of an existing healthcare system. We started by adopting an original method aimed at gamifying systems being built from scratch. As we needed to adapt the original method for supporting the particularities of gamifying a previously developed system, we refined the original method’s development activities and their respective phases. We also interviewed the developers to capture their perception of challenging development activities through gamification. The interviews’ outcomes guided some further refinements to the original method. Gamify4Fun supports the gamification of existing systems at the earliest development phases: from the preparation of the system gamification to both the gamification and system design. We refined the development activities of the original method as much as needed; we also used or adapted the activities prescribed by other methods from the literature, in the context of gamification from scratch, to fill gaps whenever necessary. By reporting our practical experience and introducing a gamification method, we expect to guide development teams in gamifying their existing systems, as well as shed insights about the current, unaddressed limitations of existing approaches (including ours) to gamifying existing systems.

游戏化通过融入游戏元素和规则,促进用户参与软件功能。游戏化通常是在事后融入现有系统。能否成功地将现有系统游戏化,取决于周密的规划和对先前制作的软件工件的演化。这一点对于在最早开发阶段制作的工件(如需求说明书)来说尤其如此。将游戏元素和规则融入现有系统绝非易事。开发人员最终会在执行某些开发活动时陷入困境,例如演化现有需求、选择游戏元素和游戏规则。本文报告了我们将现有系统游戏化的实践经验。在此基础上,我们介绍了 Gamify4Fun,这是一种旨在协助开发人员执行一些关键活动以实现现有系统游戏化的方法。我们根据 15 名开发人员参与现有医疗保健系统游戏化的经验建立了 Gamify4Fun。我们首先采用了一种原始方法,旨在将从零开始构建的系统游戏化。由于我们需要对原有方法进行调整,以支持先前开发的系统游戏化的特殊性,因此我们对原有方法的开发活动及其各自的阶段进行了改进。我们还对开发人员进行了访谈,以了解他们对游戏化开发活动的看法。访谈的结果为进一步完善原方法提供了指导。Gamify4Fun 支持现有系统在最初开发阶段的游戏化:从系统游戏化的准备到游戏化和系统设计。我们根据需要对原有方法的开发活动进行了改进;同时,我们还在游戏化从无到有的背景下,使用或改编了文献中其他方法所规定的活动,以便在必要时填补空白。通过报告我们的实践经验和介绍一种游戏化方法,我们希望能够指导开发团队将其现有系统游戏化,并对现有系统游戏化方法(包括我们的方法)目前尚未解决的局限性提出见解。
{"title":"Towards effective gamification of existing systems: method and experience report","authors":"Anderson Uchôa, Rafael de Mello, Jairo Souza, Leopoldo Teixeira, Baldoino Fonseca, Alessandro Garcia","doi":"10.1007/s11219-024-09696-y","DOIUrl":"https://doi.org/10.1007/s11219-024-09696-y","url":null,"abstract":"<p>Gamification promotes user engagement with software features through the incorporation of game elements and rules. Gamification is often incorporated a <i>posteriori</i> into already existing systems. Success in gamifying an existing system depends on careful planning and the evolution of its previously produced software artifacts. This is particularly true for artifacts produced in the earliest development phases, such as the requirements specification. Incorporating game elements and rules into an existing system is far from trivial. Developers eventually struggle with performing certain development activities, such as evolving existing requirements and selecting game elements and game rules. This paper reports our practical experience in gamifying an existing system. Based on this experience, we introduce Gamify4Fun, a method that aims to assist developers in performing some key activities to gamify existing systems. We built Gamify4Fun based on the experience of 15 developers involved with the gamification of an existing healthcare system. We started by adopting an original method aimed at gamifying systems being built from scratch. As we needed to adapt the original method for supporting the particularities of gamifying a previously developed system, we refined the original method’s development activities and their respective phases. We also interviewed the developers to capture their perception of challenging development activities through gamification. The interviews’ outcomes guided some further refinements to the original method. Gamify4Fun supports the gamification of existing systems at the earliest development phases: from the preparation of the system gamification to both the gamification and system design. We refined the development activities of the original method as much as needed; we also used or adapted the activities prescribed by other methods from the literature, in the context of gamification from scratch, to fill gaps whenever necessary. By reporting our practical experience and introducing a gamification method, we expect to guide development teams in gamifying their existing systems, as well as shed insights about the current, unaddressed limitations of existing approaches (including ours) to gamifying existing systems.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"208 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142252096","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
KeyTitle: towards better bug report title generation by keywords planning KeyTitle:通过关键字规划更好地生成错误报告标题
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-13 DOI: 10.1007/s11219-024-09695-z
Qianshuang Meng, Weiqin Zou, Biyu Cai, Jingxuan Zhang

Bug reports play an important role in the software development and maintenance process. As the eye of a bug report, a concise and fluent title is always preferred and expected by developers as it could help them quickly seize the problem point and make better decisions in handling the bugs. However, in practice, not all titles filled by bug reporters are found to be of high quality; some may not carry essential bug-related information, and some may be hard to understand or contain extra noise. With the aim to reduce the burden of bug reporters and ease developers’ life in handling bugs, we propose a deep learning-based technique named KeyTitle, to automatically generate a title for a given bug report. KeyTitle formulates the title generation problem as a one-sentence summarization task. It could be viewed as a Seq2Seq generation model (which generally directly generates target text based on source text) that incorporates keywords planning. Specifically, within KeyTitle, a transformer-based encoder-decoder model is enforced to generate a chain of keywords first from the detailed textual problem description, and then generate the target title by considering both these keywords and description content. Experiments over three large bug datasets collected from GitHub, Eclipse, and Apache shows that KeyTitle could outperform state-of-art title generation models relatively by up to 8.9-18.2(%), 11.4-30.4(%), and 13.0-18.0(%) in terms of ROUGE-1, ROUGE-2, and ROUGE-L F1-scores; the titles generated by KeyTitle are also found to be better in terms of Relevance, Accuracy, Conciseness, Fluency in human evaluation. Besides generating titles from textual descriptions, KeyTitle is also found to have great potential in generating titles based on just a few keywords, a task that also has much value in bug reporting/handling practice.

错误报告在软件开发和维护过程中发挥着重要作用。作为错误报告的 "眼睛",简洁流畅的标题总是受到开发人员的青睐和期待,因为它可以帮助他们快速抓住问题点,在处理错误时做出更好的决策。然而,在实践中,并不是所有错误报告者填写的标题都是高质量的,有些标题可能没有包含与错误相关的基本信息,有些标题可能难以理解或包含额外的噪音。为了减轻错误报告者的负担,方便开发人员处理错误,我们提出了一种基于深度学习的技术--KeyTitle,用于为给定的错误报告自动生成标题。KeyTitle 将标题生成问题表述为一句话总结任务。它可以被看作是一个结合了关键词规划的 Seq2Seq 生成模型(一般直接根据源文本生成目标文本)。具体来说,在 KeyTitle 中,基于转换器的编码器-解码器模型被强制执行,首先从详细的文本问题描述中生成关键词链,然后通过考虑这些关键词和描述内容生成目标标题。对从 GitHub、Eclipse 和 Apache 收集的三个大型 bug 数据集进行的实验表明,KeyTitle 的性能相对优于最先进的标题生成模型,最高可达 8.9-18.2(%)、11.4-30.在人类评估中,KeyTitle 生成的标题在相关性、准确性、简洁性和流畅性方面也更胜一筹。除了根据文字描述生成标题外,KeyTitle 在根据几个关键词生成标题方面也有很大潜力,这在错误报告/处理实践中也很有价值。
{"title":"KeyTitle: towards better bug report title generation by keywords planning","authors":"Qianshuang Meng, Weiqin Zou, Biyu Cai, Jingxuan Zhang","doi":"10.1007/s11219-024-09695-z","DOIUrl":"https://doi.org/10.1007/s11219-024-09695-z","url":null,"abstract":"<p>Bug reports play an important role in the software development and maintenance process. As the eye of a bug report, a concise and fluent title is always preferred and expected by developers as it could help them quickly seize the problem point and make better decisions in handling the bugs. However, in practice, not all titles filled by bug reporters are found to be of high quality; some may not carry essential bug-related information, and some may be hard to understand or contain extra noise. With the aim to reduce the burden of bug reporters and ease developers’ life in handling bugs, we propose a deep learning-based technique named KeyTitle, to automatically generate a title for a given bug report. KeyTitle formulates the title generation problem as a one-sentence summarization task. It could be viewed as a Seq2Seq generation model (which generally directly generates target text based on source text) that incorporates keywords planning. Specifically, within KeyTitle, a transformer-based encoder-decoder model is enforced to generate a chain of keywords first from the detailed textual problem description, and then generate the target title by considering both these keywords and description content. Experiments over three large bug datasets collected from GitHub, Eclipse, and Apache shows that KeyTitle could outperform state-of-art title generation models relatively by up to 8.9-18.2<span>(%)</span>, 11.4-30.4<span>(%)</span>, and 13.0-18.0<span>(%)</span> in terms of ROUGE-1, ROUGE-2, and ROUGE-L F1-scores; the titles generated by KeyTitle are also found to be better in terms of Relevance, Accuracy, Conciseness, Fluency in human evaluation. Besides generating titles from textual descriptions, KeyTitle is also found to have great potential in generating titles based on just a few keywords, a task that also has much value in bug reporting/handling practice.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"160 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142188311","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Getting into the game: gamifying software development with the GSA framework 进入游戏:利用 GSA 框架将软件开发游戏化
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-09-13 DOI: 10.1007/s11219-024-09694-0
Daniel de Paula Porto, Sandra Camargo Pinto Ferraz Fabbri, Fabiano Cutigi Ferrari

Context: Improving software quality is a constant challenge in Software Engineering. One way to improve quality is to use gamification in software development activities. Purpose: This paper presents a framework and a set of strategies called GSA to gamify software development activities. Methods: Using action research as a methodology, we conduct three action research cycles. This paper presents the third action research cycle in which gamification was applied to reduce the number of faults in requirements and improve the quality of the projects. Results: The experimental study showed that the GSA framework introduced gamification into the company to reduce the number of requirements faults. However, the results were inconclusive due to the projects being in their first sprints, and possibly due to the COVID-19 pandemic. Conclusion: Despite the inconclusive results, the authors believe that the GSA framework is suitable for replication in other companies and software quality improvement contexts. They also present insights and lessons learned throughout the experimental studies on applying gamification in the software development process.

背景:提高软件质量是软件工程领域的一项长期挑战。提高质量的方法之一是在软件开发活动中使用游戏化。目的:本文提出了一个框架和一套名为 GSA 的策略,用于将软件开发活动游戏化。方法:以行动研究为方法,我们开展了三个行动研究周期。本文介绍了第三个行动研究周期,在这一周期中,我们应用游戏化减少了需求中的错误数量,提高了项目质量。结果实验研究表明,GSA 框架将游戏化引入公司,减少了需求故障的数量。然而,由于项目处于第一个冲刺阶段,也可能由于 COVID-19 的流行,结果并不确定。结论:尽管没有得出结论,但作者认为 GSA 框架适合在其他公司和软件质量改进环境中推广。他们还介绍了在软件开发过程中应用游戏化的实验研究中获得的启示和教训。
{"title":"Getting into the game: gamifying software development with the GSA framework","authors":"Daniel de Paula Porto, Sandra Camargo Pinto Ferraz Fabbri, Fabiano Cutigi Ferrari","doi":"10.1007/s11219-024-09694-0","DOIUrl":"https://doi.org/10.1007/s11219-024-09694-0","url":null,"abstract":"<p>Context: Improving software quality is a constant challenge in Software Engineering. One way to improve quality is to use gamification in software development activities. Purpose: This paper presents a framework and a set of strategies called GSA to gamify software development activities. Methods: Using action research as a methodology, we conduct three action research cycles. This paper presents the third action research cycle in which gamification was applied to reduce the number of faults in requirements and improve the quality of the projects. Results: The experimental study showed that the GSA framework introduced gamification into the company to reduce the number of requirements faults. However, the results were inconclusive due to the projects being in their first sprints, and possibly due to the COVID-19 pandemic. Conclusion: Despite the inconclusive results, the authors believe that the GSA framework is suitable for replication in other companies and software quality improvement contexts. They also present insights and lessons learned throughout the experimental studies on applying gamification in the software development process.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"23 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142188458","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Navigating social debt and its link with technical debt in large-scale agile software development projects 在大型敏捷软件开发项目中引导社会债务及其与技术债务的联系
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-08-02 DOI: 10.1007/s11219-024-09688-y
Hina Saeeda, Muhammad Ovais Ahmad, Tomas Gustavsson

Agile methodologies have emerged as transformative paradigms in the ever-evolving software development landscape, emphasizing iterative development, customer collaboration, and adaptability. As the scope and complexity of projects and organizations expand, applying agile principles within the context of Large-Scale Agile Development (LSAD) encounters distinctive challenges. The majority of challenges encountered in LSAD, technical and non-technical, are attributed to the accrual of social debt. However, a conspicuous gap remains in understanding and addressing social debt in LSAD. This study aims to fill this void by investigating social debt in LSAD through an in-depth industrial case study with a leading Nordic company specializing in telecommunications software and services and focusing on producing secure 5G network solutions. The study investigates the causes of LSAD’s social debt and examines its impacts on secure 5G telecom software development. By addressing these objectives, this research sheds light on a critical aspect of LSAD’s social debt, caused by 3C challenges(communication, coordination and collaboration), social confines challenges, community smells challenges, and organisational social challenges in the telecom sector that have been underrepresented in the existing literature.

在不断发展的软件开发领域,敏捷方法已成为一种变革范式,它强调迭代开发、客户协作和适应性。随着项目和组织的范围和复杂性不断扩大,在大规模敏捷开发(LSAD)中应用敏捷原则遇到了独特的挑战。LSAD 中遇到的大多数挑战,无论是技术性的还是非技术性的,都归因于社会债务的累积。然而,在理解和解决 LSAD 中的社会债务方面仍存在明显差距。本研究旨在填补这一空白,通过对一家北欧领先的电信软件和服务公司进行深入的行业案例研究,调查 LSAD 中的社会债务问题,该公司专注于生产安全的 5G 网络解决方案。本研究调查了 LSAD 社会债务的原因,并研究了其对安全 5G 电信软件开发的影响。通过实现这些目标,本研究揭示了 LSAD 社会债务的一个重要方面,即由 3C 挑战(沟通、协调与合作)、社会限制挑战、社区气味挑战和电信行业组织社会挑战造成的社会债务,这些挑战在现有文献中未得到充分反映。
{"title":"Navigating social debt and its link with technical debt in large-scale agile software development projects","authors":"Hina Saeeda, Muhammad Ovais Ahmad, Tomas Gustavsson","doi":"10.1007/s11219-024-09688-y","DOIUrl":"https://doi.org/10.1007/s11219-024-09688-y","url":null,"abstract":"<p>Agile methodologies have emerged as transformative paradigms in the ever-evolving software development landscape, emphasizing iterative development, customer collaboration, and adaptability. As the scope and complexity of projects and organizations expand, applying agile principles within the context of Large-Scale Agile Development (LSAD) encounters distinctive challenges. The majority of challenges encountered in LSAD, technical and non-technical, are attributed to the accrual of social debt. However, a conspicuous gap remains in understanding and addressing social debt in LSAD. This study aims to fill this void by investigating social debt in LSAD through an in-depth industrial case study with a leading Nordic company specializing in telecommunications software and services and focusing on producing secure 5G network solutions. The study investigates the causes of LSAD’s social debt and examines its impacts on secure 5G telecom software development. By addressing these objectives, this research sheds light on a critical aspect of LSAD’s social debt, caused by 3C challenges(communication, coordination and collaboration), social confines challenges, community smells challenges, and organisational social challenges in the telecom sector that have been underrepresented in the existing literature.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"48 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-08-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141884540","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Programming languages ranking based on energy measurements 基于能源测量的编程语言排名
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-27 DOI: 10.1007/s11219-024-09690-4
Alberto Gordillo, Coral Calero, Mª Ángeles Moraga, Félix García, João Paulo Fernandes, Rui Abreu, João Saraiva

Software is developed using programming languages whose choice is made based on a wide range of criteria, but it should be noted that the programming language selected can affect the quality of the software product. In this paper, we focus on analysing the differences in energy consumption when running certain algorithms that have been developed using different programming languages. Therefore, we focus on the software quality from the perspective of greenability, in concrete in the aspects related to energy efficiency. For this purpose, this study has conducted an empirical investigation about the most suitable programming languages from an energy efficiency perspective using a hardware-based consumption measurement instrument that obtains real data about energy consumption. The study builds upon a previous study in which energy efficiency of PL were ranked using a software-based approach where the energy consumption is an estimation. As a result, no significant differences are obtained between two approaches, in terms of ranking the PL. However, if it is required to have a more realistic knowledge of consumption, it is necessary to use hardware approaches. Furthermore, the hardware approach provides information about the energy consumption of specific DUT hardware components, such as, HDD, graphics card, and processor, and a ranking for each of component is elaborated. This can provide useful information to make a more informed decision on the choice of a PL, depending on several factors, such as the type of algorithms to be implemented, or the effects on power consumption not only in overall, but also depending on specific DUT hardware components.

软件是使用编程语言开发的,而编程语言的选择是基于多种标准的,但应该注意的是,所选择的编程语言会影响软件产品的质量。在本文中,我们将重点分析使用不同编程语言开发的某些算法在运行时的能耗差异。因此,我们从绿色性的角度来关注软件质量,特别是与能效相关的方面。为此,本研究使用基于硬件的能耗测量仪器,从能效角度对最合适的编程语言进行了实证调查,以获取能耗的真实数据。该研究建立在先前研究的基础上,在该研究中,使用基于软件的方法对 PL 的能效进行了排序,其中能耗是一种估算。结果表明,两种方法在对 PL 进行排名方面没有明显差异。不过,如果需要更真实地了解能耗,则有必要使用硬件方法。此外,硬件方法提供了特定 DUT 硬件组件(如硬盘、显卡和处理器)的能耗信息,并详细说明了每个组件的排名。这可以提供有用的信息,以便根据多种因素(如要实施的算法类型或对功耗的影响,不仅是总体影响,还取决于特定的 DUT 硬件组件),就 PL 的选择做出更明智的决定。
{"title":"Programming languages ranking based on energy measurements","authors":"Alberto Gordillo, Coral Calero, Mª Ángeles Moraga, Félix García, João Paulo Fernandes, Rui Abreu, João Saraiva","doi":"10.1007/s11219-024-09690-4","DOIUrl":"https://doi.org/10.1007/s11219-024-09690-4","url":null,"abstract":"<p>Software is developed using programming languages whose choice is made based on a wide range of criteria, but it should be noted that the programming language selected can affect the quality of the software product. In this paper, we focus on analysing the differences in energy consumption when running certain algorithms that have been developed using different programming languages. Therefore, we focus on the software quality from the perspective of greenability, in concrete in the aspects related to energy efficiency. For this purpose, this study has conducted an empirical investigation about the most suitable programming languages from an energy efficiency perspective using a hardware-based consumption measurement instrument that obtains real data about energy consumption. The study builds upon a previous study in which energy efficiency of PL were ranked using a software-based approach where the energy consumption is an estimation. As a result, no significant differences are obtained between two approaches, in terms of ranking the PL. However, if it is required to have a more realistic knowledge of consumption, it is necessary to use hardware approaches. Furthermore, the hardware approach provides information about the energy consumption of specific DUT hardware components, such as, HDD, graphics card, and processor, and a ranking for each of component is elaborated. This can provide useful information to make a more informed decision on the choice of a PL, depending on several factors, such as the type of algorithms to be implemented, or the effects on power consumption not only in overall, but also depending on specific DUT hardware components.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"354 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141780755","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
bjEnet: a fast and accurate software bug localization method in natural language semantic space bjEnet:自然语言语义空间中快速准确的软件缺陷定位方法
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-22 DOI: 10.1007/s11219-024-09693-1
Jiaxuan Han, Cheng Huang, Jiayong Liu

Automated software bug localization is a significant technology to improve the efficiency of software repair and ensure software quality while promoting the software ecosystem’s stable development. The main objective is to address the semantic matching problem between bug reports and source codes. The appearance of the Transformer structure provides us with a new idea to solve this problem. Transformer-based deep learning models can provide accurate semantic matching results but with a considerable cost (e.g., time). In this paper, we propose a fast and accurate bug localization method named bjEnet based on natural language semantic matching. bjEnet utilizes a pre-trained code language model to transform source codes into code summaries. Then, a code filtering mechanism is employed to exclude source codes unrelated to bug reports, thereby reducing the number of source codes that need to be combined with bug reports for correlation evaluation. Finally, bjEnet uses a BERT-based cross-encoder to localize bugs in the natural language semantic space. The experimental results show that bjEnet is superior to state-of-the-art methods, with an average time to localize a bug report of less than 1 second.

软件错误自动定位是提高软件修复效率、确保软件质量、促进软件生态系统稳定发展的一项重要技术。其主要目的是解决错误报告与源代码之间的语义匹配问题。Transformer 结构的出现为我们解决这一问题提供了新思路。基于 Transformer 的深度学习模型可以提供准确的语义匹配结果,但需要付出相当大的代价(如时间)。在本文中,我们提出了一种基于自然语言语义匹配的快速、准确的错误定位方法,名为 bjEnet。bjEnet 利用预先训练好的代码语言模型将源代码转换为代码摘要。然后,采用代码过滤机制排除与错误报告无关的源代码,从而减少了需要与错误报告相结合进行相关性评估的源代码数量。最后,bjEnet 使用基于 BERT 的交叉编码器在自然语言语义空间中定位错误。实验结果表明,bjEnet 优于最先进的方法,定位错误报告的平均时间小于 1 秒。
{"title":"bjEnet: a fast and accurate software bug localization method in natural language semantic space","authors":"Jiaxuan Han, Cheng Huang, Jiayong Liu","doi":"10.1007/s11219-024-09693-1","DOIUrl":"https://doi.org/10.1007/s11219-024-09693-1","url":null,"abstract":"<p>Automated software bug localization is a significant technology to improve the efficiency of software repair and ensure software quality while promoting the software ecosystem’s stable development. The main objective is to address the semantic matching problem between bug reports and source codes. The appearance of the Transformer structure provides us with a new idea to solve this problem. Transformer-based deep learning models can provide accurate semantic matching results but with a considerable cost (e.g., time). In this paper, we propose a fast and accurate bug localization method named bjEnet based on natural language semantic matching. bjEnet utilizes a pre-trained code language model to transform source codes into code summaries. Then, a code filtering mechanism is employed to exclude source codes unrelated to bug reports, thereby reducing the number of source codes that need to be combined with bug reports for correlation evaluation. Finally, bjEnet uses a BERT-based cross-encoder to localize bugs in the natural language semantic space. The experimental results show that bjEnet is superior to state-of-the-art methods, with an average time to localize a bug report of less than 1 second.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"18 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141740914","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
TTAFPred: Prediction of time to aging failure for software systems based on a two-stream multi-scale features fusion network TTAFPred:基于双流多尺度特征融合网络的软件系统老化故障时间预测
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-22 DOI: 10.1007/s11219-024-09692-2
Kai Jia, Xiao Yu, Chen Zhang, Wenzhi Xie, Dongdong Zhao, Jianwen Xiang

Software aging refers to the performance degradation and failure crash phenomena in long-running systems. As a proactive remedy, software rejuvenation can be scheduled timely to mitigate aging effects. Inescapably, how to accurately predict the time to aging failure (TTAF) of software is a prerequisite for implementing effective rejuvenation. However, the characterization of software aging is relatively complicated, leading to the selection of aging indicators case by case, which means that only fitting the variation trend of a single indicator for prediction models to formulate a rejuvenation schedule may be limited. To fill this gap, this paper proposes a novel framework called TTAFPred, which directly constructs the direct mapping relationships between the software aging process considering multiple system indicators and TTAF. Specifically, this framework includes three parts, i.e., data preprocessing, software degradation feature extraction, and TTAF prediction modules. First, the raw data is processed into the input form required by the network. Secondly, a temporal relationship extraction stream integrating bidirectional gated recurrent unit (BiGRU) with attention mechanism is used to extract temporal features from raw inputs. Synchronously, a spatial relationships extraction stream is adopted to extract the spatial features for enhancing the representation ability of degraded features by using the multi-scale one-dimensional convolutional neural network (1DCNN) with the residual connection. Then, extracted temporal-spatial features from the two streams are further fused. Finally, two fully-connected layers are constructed to estimate the TTAF. The experiments are performed on two mainstream software systems (OpenStack and Android), and four sets of real run-to-failure data for each software system are collected. The effectiveness of the proposed TTAFPred is verified through extensive experiments with its seven competing models, and the prediction performance can be improved by 9.1%, 8.0%, and 8.0%, respectively, in terms of three evaluation metrics, compared to the best baseline model.

软件老化是指长期运行系统中出现的性能下降和故障崩溃现象。作为一种积极的补救措施,可以及时安排软件返老还童以减轻老化影响。不可回避的是,如何准确预测软件的老化失效时间(TTAF)是实施有效年轻化的前提。然而,软件老化的特征描述相对复杂,导致老化指标的选择需要逐一进行,这意味着仅拟合单一指标的变化趋势建立预测模型来制定年轻化计划可能会受到限制。为了填补这一空白,本文提出了一个名为 TTAFPred 的新框架,该框架直接构建了考虑多个系统指标的软件老化过程与 TTAF 之间的直接映射关系。具体来说,该框架包括三个部分,即数据预处理、软件老化特征提取和 TTAF 预测模块。首先,原始数据被处理成网络所需的输入形式。其次,使用集成了双向门控递归单元(BiGRU)和注意机制的时间关系提取流,从原始输入中提取时间特征。与此同时,利用多尺度一维卷积神经网络(1DCNN)的残差连接,采用空间关系提取流来提取空间特征,以增强降级特征的表示能力。然后,进一步融合从两个流中提取的时空特征。最后,构建两个全连接层来估计 TTAF。实验在两个主流软件系统(OpenStack 和 Android)上进行,每个软件系统收集了四组真实的运行失败数据。通过与七个竞争模型的大量实验,验证了所提出的 TTAFPred 的有效性,与最佳基线模型相比,其预测性能在三个评价指标上分别提高了 9.1%、8.0% 和 8.0%。
{"title":"TTAFPred: Prediction of time to aging failure for software systems based on a two-stream multi-scale features fusion network","authors":"Kai Jia, Xiao Yu, Chen Zhang, Wenzhi Xie, Dongdong Zhao, Jianwen Xiang","doi":"10.1007/s11219-024-09692-2","DOIUrl":"https://doi.org/10.1007/s11219-024-09692-2","url":null,"abstract":"<p>Software aging refers to the performance degradation and failure crash phenomena in long-running systems. As a proactive remedy, software rejuvenation can be scheduled timely to mitigate aging effects. Inescapably, how to accurately predict the time to aging failure (TTAF) of software is a prerequisite for implementing effective rejuvenation. However, the characterization of software aging is relatively complicated, leading to the selection of aging indicators case by case, which means that only fitting the variation trend of a single indicator for prediction models to formulate a rejuvenation schedule may be limited. To fill this gap, this paper proposes a novel framework called TTAFPred, which directly constructs the direct mapping relationships between the software aging process considering multiple system indicators and TTAF. Specifically, this framework includes three parts, i.e., data preprocessing, software degradation feature extraction, and TTAF prediction modules. First, the raw data is processed into the input form required by the network. Secondly, a temporal relationship extraction stream integrating bidirectional gated recurrent unit (BiGRU) with attention mechanism is used to extract temporal features from raw inputs. Synchronously, a spatial relationships extraction stream is adopted to extract the spatial features for enhancing the representation ability of degraded features by using the multi-scale one-dimensional convolutional neural network (1DCNN) with the residual connection. Then, extracted temporal-spatial features from the two streams are further fused. Finally, two fully-connected layers are constructed to estimate the TTAF. The experiments are performed on two mainstream software systems (OpenStack and Android), and four sets of real run-to-failure data for each software system are collected. The effectiveness of the proposed TTAFPred is verified through extensive experiments with its seven competing models, and the prediction performance can be improved by 9.1%, 8.0%, and 8.0%, respectively, in terms of three evaluation metrics, compared to the best baseline model.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"28 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141740915","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
FVF-BIoT: a formal verification framework for blockchain-based IoT authentication FVF-BIoT:基于区块链的物联网身份验证的形式化验证框架
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-20 DOI: 10.1007/s11219-024-09691-3
Jiaqi Yin, Yuan Fei

Traditional IoT authentication methods, often centralized and reliant on a Trusted Third Party (TTP), face issues like high communication costs and vulnerability to data loss. Blockchain-based Internet of Things (IoT) authentication can effectively solve the problems brought by traditional IoT authentication. Because the authentication schemes are usually deployed on a large number of IoT devices it would be extremely expensive when there are issues to be fixed after the authentication schemes is deployed. Performing verification early at design time can alleviate this problem. To focus on these requirements, this article proposes a formal verification framework for blockchain-based IoT authentication (FVF-BIoT). Specifically, we design data type mapping and the conversion of elements in smart contracts for the authentication. Then we formalize the smart contracts into formal models in the interactive theorem prover Coq. Several algorithms are presented for the conversion of the smart contracts and the generation of examples. Examples and security properties related to contracts are described in the form of theorems, which are also proved by Coq. Through a case study, we not only demonstrate the effectiveness of the FVF-BIoT framework in ensuring the security and reliability of blockchain technology for IoT authentication but also highlight its innovative integration of formal verification processes. This distinctly addresses the previously unmet need for rigorous, mathematically proven security validations in the design and deployment of blockchain-based IoT authentication methods.

传统的物联网身份验证方法通常是集中式的,依赖于可信第三方(TTP),面临着通信成本高、数据易丢失等问题。基于区块链的物联网(IoT)身份验证可以有效解决传统物联网身份验证带来的问题。由于身份验证方案通常部署在大量物联网设备上,如果在身份验证方案部署后出现问题需要修复,那么成本将非常高昂。在设计阶段尽早进行验证可以缓解这一问题。针对这些需求,本文提出了基于区块链的物联网身份验证的形式化验证框架(FVF-BIoT)。具体来说,我们设计了用于认证的智能合约中的数据类型映射和元素转换。然后,我们在交互式定理证明器 Coq 中将智能合约形式化为形式化模型。我们介绍了几种转换智能合约和生成示例的算法。与合约相关的示例和安全属性以定理的形式进行了描述,这些定理也由 Coq 进行了证明。通过案例研究,我们不仅证明了 FVF-BIoT 框架在确保用于物联网认证的区块链技术的安全性和可靠性方面的有效性,还强调了它与形式验证过程的创新集成。这明显满足了以前在设计和部署基于区块链的物联网认证方法时对严格的、经过数学验证的安全验证的需求。
{"title":"FVF-BIoT: a formal verification framework for blockchain-based IoT authentication","authors":"Jiaqi Yin, Yuan Fei","doi":"10.1007/s11219-024-09691-3","DOIUrl":"https://doi.org/10.1007/s11219-024-09691-3","url":null,"abstract":"<p>Traditional IoT authentication methods, often centralized and reliant on a Trusted Third Party (TTP), face issues like high communication costs and vulnerability to data loss. Blockchain-based Internet of Things (IoT) authentication can effectively solve the problems brought by traditional IoT authentication. Because the authentication schemes are usually deployed on a large number of IoT devices it would be extremely expensive when there are issues to be fixed after the authentication schemes is deployed. Performing verification early at design time can alleviate this problem. To focus on these requirements, this article proposes a formal verification framework for blockchain-based IoT authentication (FVF-BIoT). Specifically, we design data type mapping and the conversion of elements in smart contracts for the authentication. Then we formalize the smart contracts into formal models in the interactive theorem prover Coq. Several algorithms are presented for the conversion of the smart contracts and the generation of examples. Examples and security properties related to contracts are described in the form of theorems, which are also proved by Coq. Through a case study, we not only demonstrate the effectiveness of the FVF-BIoT framework in ensuring the security and reliability of blockchain technology for IoT authentication but also highlight its innovative integration of formal verification processes. This distinctly addresses the previously unmet need for rigorous, mathematically proven security validations in the design and deployment of blockchain-based IoT authentication methods.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"11 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141740916","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
MUT Model: a metric for characterizing metamorphic relations diversity MUT 模型:表征变质关系多样性的指标
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-17 DOI: 10.1007/s11219-024-09689-x
Xiaodong Xie, Zhehao Li, Jinfu Chen, Yue Zhang, Xiangxiang Wang, Patrick Kwaku Kudjo

Metamorphic testing emerged as a solution to the Oracle problem, with its foundation deeply rooted in the concept of Metamorphic Relations (MRs). Researchers have made an intriguing discovery that certain diverse MRs exhibit similar fault detection capabilities as the test oracle. However, defining the criteria for diverse MRs has posed a challenge. Traditional metrics like Mutation Score (MS) and Fault Detection Rate (FDR) fail to assess the diversity of MRs. This paper introduces the MUT Model as a foundational framework for analyzing the "MR Diversity" between a pair of MRs. The word "diversity" in this paper pertains to the differences in the types of faults that two MRs are inclined to detect. The experimental findings indicate that by harnessing posterior knowledge, specifically by analyzing the MUT Model, it is possible to derive prior knowledge that can aid in the construction of Metamorphic Relations. Most importantly, the MUT Model may draw conclusions that violate intuition, exposing more details of the core essence of MR Diversity. Moreover, the concept of MR Diversity serves as a basis for MR selection, resulting in enhanced fault detection capabilities compared to the conventional MS-based approach. Additionally, it offers valuable insights into the construction of composite metamorphic relations, with the goal of amplifying their fault detection abilities beyond those of their individual MR components.

元测试是作为甲骨文问题的一种解决方案出现的,其基础深深植根于元关系(MRs)的概念。研究人员发现了一个有趣的现象,即某些不同的 MR 具有与测试甲骨文类似的故障检测能力。然而,定义多样化 MR 的标准一直是个难题。突变分数 (MS) 和故障检测率 (FDR) 等传统指标无法评估 MR 的多样性。本文介绍了 MUT 模型,作为分析一对 MR 之间 "MR 多样性 "的基础框架。本文中的 "多样性 "一词是指两个磁共振倾向于检测的故障类型的差异。实验结果表明,通过利用后验知识,特别是通过分析 MUT 模型,可以获得有助于构建变质关系的先验知识。最重要的是,MUT 模型可能会得出违反直觉的结论,从而揭示出 MR 多样性核心本质的更多细节。此外,与传统的基于 MS 的方法相比,MR 多样性的概念可作为 MR 选择的基础,从而增强故障检测能力。此外,它还为构建复合变质关系提供了有价值的见解,目的是增强其断层探测能力,使其超越单个磁共振成分的探测能力。
{"title":"MUT Model: a metric for characterizing metamorphic relations diversity","authors":"Xiaodong Xie, Zhehao Li, Jinfu Chen, Yue Zhang, Xiangxiang Wang, Patrick Kwaku Kudjo","doi":"10.1007/s11219-024-09689-x","DOIUrl":"https://doi.org/10.1007/s11219-024-09689-x","url":null,"abstract":"<p>Metamorphic testing emerged as a solution to the Oracle problem, with its foundation deeply rooted in the concept of Metamorphic Relations (MRs). Researchers have made an intriguing discovery that certain diverse MRs exhibit similar fault detection capabilities as the test oracle. However, defining the criteria for diverse MRs has posed a challenge. Traditional metrics like Mutation Score (MS) and Fault Detection Rate (FDR) fail to assess the diversity of MRs. This paper introduces the MUT Model as a foundational framework for analyzing the \"MR Diversity\" between a pair of MRs. The word \"diversity\" in this paper pertains to the differences in the types of faults that two MRs are inclined to detect. The experimental findings indicate that by harnessing posterior knowledge, specifically by analyzing the MUT Model, it is possible to derive prior knowledge that can aid in the construction of Metamorphic Relations. Most importantly, the MUT Model may draw conclusions that violate intuition, exposing more details of the core essence of MR Diversity. Moreover, the concept of MR Diversity serves as a basis for MR selection, resulting in enhanced fault detection capabilities compared to the conventional MS-based approach. Additionally, it offers valuable insights into the construction of composite metamorphic relations, with the goal of amplifying their fault detection abilities beyond those of their individual MR components.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"31 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141722283","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
An exploratory evaluation of code smell agglomerations 代码气味聚集的探索性评估
IF 1.9 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-07-11 DOI: 10.1007/s11219-024-09680-6
Amanda Santana, Eduardo Figueiredo, Juliana Alves Pereira, Alessandro Garcia

Code smell is a symptom of decisions about the system design or code that may degrade its modularity. For example, they may indicate inheritance misuse, excessive coupling and size. When two or more code smells occur in the same snippet of code, they form a code smell agglomeration. Few studies evaluate how agglomerations may impact code modularity. In this work, we evaluate which aspects of modularity are being hindered by agglomerations. This way, we can support practitioners in improving their code, by refactoring the code involved with code smell agglomeration that was found as harmful to the system modularity. We analyze agglomerations composed of four types of code smells: Large Class, Long Method, Feature Envy, and Refused Bequest. We then conduct a comparison study between 20 systems mined from the Qualita Corpus dataset with 10 systems mined from GitHub. In total, we analyzed 1789 agglomerations in 30 software projects, from both repositories: Qualita Corpus and GitHub. We rely on frequent itemset mining and non-parametric hypothesis testing for our analysis. Agglomerations formed by two or more Feature Envy smells have a significant frequency in the source code for both repositories. Agglomerations formed by different smell types impact the modularity more than classes with only one smell type and classes without smells. For some metrics, when Large Class appears alone, it has a significant and large impact when compared to classes that have two or more method-level smells of the same type. We have identified which agglomerations are more frequent in the source code, and how they may impact the code modularity. Consequently, we provide supporting evidence of which agglomerations developers should refactor to improve the code modularity.

代码气味是系统设计或代码决策的一种症状,可能会降低其模块性。例如,它们可能表明继承使用不当、过度耦合和规模过大。当两个或两个以上的代码气味出现在同一代码片段中时,它们就形成了代码气味聚集。很少有研究会评估聚集会如何影响代码模块化。在这项工作中,我们将评估聚合会阻碍模块化的哪些方面。这样,我们就可以通过重构代码气味聚集所涉及的代码,帮助实践者改进他们的代码,因为我们发现这些代码气味聚集对系统的模块性是有害的。我们分析了由四种代码气味组成的聚集:大类、长方法、嫉妒特征和拒绝请求。然后,我们对从 Qualita 语料库数据集中挖掘的 20 个系统和从 GitHub 挖掘的 10 个系统进行了对比研究。我们总共分析了 30 个软件项目中的 1789 个聚类,它们都来自这两个资源库:Qualita语料库和GitHub。我们的分析依赖于频繁项集挖掘和非参数假设检验。在这两个资源库的源代码中,由两种或两种以上的 Feature Envy 气味形成的聚合具有显著的频率。与只有一种气味类型的类和没有气味的类相比,由不同气味类型形成的聚合体对模块化的影响更大。就某些指标而言,当大类单独出现时,与有两个或更多相同类型的方法级气味的类相比,大类的影响更大。我们已经确定了源代码中哪些聚集现象更为频繁,以及它们会如何影响代码模块化。因此,我们提供了开发人员应重构哪些聚类以提高代码模块化程度的佐证。
{"title":"An exploratory evaluation of code smell agglomerations","authors":"Amanda Santana, Eduardo Figueiredo, Juliana Alves Pereira, Alessandro Garcia","doi":"10.1007/s11219-024-09680-6","DOIUrl":"https://doi.org/10.1007/s11219-024-09680-6","url":null,"abstract":"<p>Code smell is a symptom of decisions about the system design or code that may degrade its modularity. For example, they may indicate inheritance misuse, excessive coupling and size. When two or more code smells occur in the same snippet of code, they form a code smell agglomeration. Few studies evaluate how agglomerations may impact code modularity. In this work, we evaluate which aspects of modularity are being hindered by agglomerations. This way, we can support practitioners in improving their code, by refactoring the code involved with code smell agglomeration that was found as harmful to the system modularity. We analyze agglomerations composed of four types of code smells: Large Class, Long Method, Feature Envy, and Refused Bequest. We then conduct a comparison study between 20 systems mined from the Qualita Corpus dataset with 10 systems mined from GitHub. In total, we analyzed 1789 agglomerations in 30 software projects, from both repositories: Qualita Corpus and GitHub. We rely on frequent itemset mining and non-parametric hypothesis testing for our analysis. Agglomerations formed by two or more Feature Envy smells have a significant frequency in the source code for both repositories. Agglomerations formed by different smell types impact the modularity more than classes with only one smell type and classes without smells. For some metrics, when Large Class appears alone, it has a significant and large impact when compared to classes that have two or more method-level smells of the same type. We have identified which agglomerations are more frequent in the source code, and how they may impact the code modularity. Consequently, we provide supporting evidence of which agglomerations developers should refactor to improve the code modularity.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"42 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141585228","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Software Quality Journal
全部 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