首页 > 最新文献

Information and Software Technology最新文献

英文 中文
A family of experiments to quantify the benefits of adopting WebDriverManager and Selenium-Jupiter 量化采用 WebDriverManager 和 Selenium-Jupiter 好处的一系列实验
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-10-09 DOI: 10.1016/j.infsof.2024.107595
Maurizio Leotta , Boni García , Filippo Ricca

Context:

While test automation offers numerous benefits, it also introduces significant challenges. Two challenges that developers and testers face on a daily basis, particularly when using Selenium WebDriver to test web applications, are driver management (involving tasks such as version identification, download, installation, and maintenance) and management of test lifecycle phases (using specific test libraries, as for example JUnit, and inserting annotations into the code). These manual tasks make test suite development particularly tedious, error-prone, and expensive. Recently, to ease the burden on developers and testers, some Java libraries have been proposed, called WebDriverManager and Selenium-Jupiter, capable of automatically carrying out the driver management process for Selenium WebDriver and simplifying the development of test suites. These libraries appear to be very promising but until now no one has experimentally evaluated their effectiveness.

Objective:

To investigate the effectiveness of WebDriverManager and Selenium-Jupiter in reducing driver management times and boilerplate code.

Method:

We designed and conducted a family of experiments (three for WebDriverManager and two for Selenium-Jupiter) with 104 master student participants from the University of Genoa, Italy (across academic years 2021/2022 and 2022/2023) and nine professional participants.

Results:

Results indicate that the adoption of Selenium WebDriver with WebDriverManager significantly reduces setup time for multi-browser test suites from 33% to 50% (depending on the tester experience). Additionally, Selenium-Jupiter reduces test suite development time significantly (20% on average). Although it also decreases total code length, the reduction is relatively small compared to overall code length.

Conclusion:

WebDriverManager and Selenium-Jupiter can be seen as valuable solutions for enhancing testers’ productivity by shortening the time needed to develop test suites and minimizing the amount of code to write.
背景:测试自动化在带来诸多好处的同时,也带来了巨大的挑战。开发人员和测试人员每天都要面对两个挑战,尤其是在使用 Selenium WebDriver 测试网络应用程序时,它们是驱动程序管理(涉及版本识别、下载、安装和维护等任务)和测试生命周期阶段管理(使用特定的测试库,例如 JUnit,并在代码中插入注释)。这些手动任务使得测试套件的开发特别繁琐、容易出错且成本高昂。最近,为了减轻开发人员和测试人员的负担,有人提出了一些名为 WebDriverManager 和 Selenium-Jupiter 的 Java 库,它们能够自动执行 Selenium WebDriver 的驱动管理流程,并简化测试套件的开发。目标:研究 WebDriverManager 和 Selenium-Jupiter 在减少驱动程序管理时间和模板代码方面的有效性。方法:我们设计并进行了一系列实验(WebDriverManager 实验 3 次,Selenium-Jupiter 实验 2 次),共有 104 名来自意大利热那亚大学的硕士生(跨越 2021/2022 和 2022/2023 学年)和 9 名专业人员参加。结果:结果表明,采用带有 WebDriverManager 的 Selenium WebDriver 可以显著减少多浏览器测试套件的设置时间,从 33% 到 50% 不等(取决于测试人员的经验)。此外,Selenium-Jupiter 还大大减少了测试套件的开发时间(平均减少 20%)。结论:WebDriverManager 和 Selenium-Jupiter 可以缩短开发测试套件所需的时间,并最大限度地减少编写的代码量,因此是提高测试人员工作效率的重要解决方案。
{"title":"A family of experiments to quantify the benefits of adopting WebDriverManager and Selenium-Jupiter","authors":"Maurizio Leotta ,&nbsp;Boni García ,&nbsp;Filippo Ricca","doi":"10.1016/j.infsof.2024.107595","DOIUrl":"10.1016/j.infsof.2024.107595","url":null,"abstract":"<div><h3>Context:</h3><div>While test automation offers numerous benefits, it also introduces significant challenges. Two challenges that developers and testers face on a daily basis, particularly when using Selenium WebDriver to test web applications, are driver management (involving tasks such as version identification, download, installation, and maintenance) and management of test lifecycle phases (using specific test libraries, as for example JUnit, and inserting annotations into the code). These manual tasks make test suite development particularly tedious, error-prone, and expensive. Recently, to ease the burden on developers and testers, some Java libraries have been proposed, called <em>WebDriverManager</em> and <em>Selenium-Jupiter</em>, capable of automatically carrying out the driver management process for Selenium WebDriver and simplifying the development of test suites. These libraries appear to be very promising but until now no one has experimentally evaluated their effectiveness.</div></div><div><h3>Objective:</h3><div>To investigate the effectiveness of <em>WebDriverManager</em> and <em>Selenium-Jupiter</em> in reducing driver management times and boilerplate code.</div></div><div><h3>Method:</h3><div>We designed and conducted a family of experiments (three for <em>WebDriverManager</em> and two for <em>Selenium-Jupiter</em>) with 104 master student participants from the University of Genoa, Italy (across academic years 2021/2022 and 2022/2023) and nine professional participants.</div></div><div><h3>Results:</h3><div>Results indicate that the adoption of Selenium WebDriver with <em>WebDriverManager</em> significantly reduces setup time for multi-browser test suites from 33% to 50% (depending on the tester experience). Additionally, <em>Selenium-Jupiter</em> reduces test suite development time significantly (20% on average). Although it also decreases total code length, the reduction is relatively small compared to overall code length.</div></div><div><h3>Conclusion:</h3><div><em>WebDriverManager</em> and <em>Selenium-Jupiter</em> can be seen as valuable solutions for enhancing testers’ productivity by shortening the time needed to develop test suites and minimizing the amount of code to write.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"178 ","pages":"Article 107595"},"PeriodicalIF":3.8,"publicationDate":"2024-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142526806","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Strategic digital product management: Nine approaches 战略性数字产品管理:九种方法
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-10-05 DOI: 10.1016/j.infsof.2024.107594
Helena Holmström Olsson , Jan Bosch

Context:

The role of product management (PM) is key for building, implementing and managing software-intensive systems. Whereas engineering is concerned with how to build systems, PM is concerned with ‘what’ to build and ‘why’ we should build the product. The role of PM is recognized as critical for the success of any product. However, few studies explore how the role of PM is changing due to recent trends that come with digitalization and digital transformation.

Objectives:

Although there is prominent research on PM, few studies explore how this role is changing due to the digital transformation of the software-intensive industry. In this paper, we study how trends such as DevOps and short feedback loops, data and artificial intelligence (AI), as well as the emergence of digital ecosystems, are changing current product management practices.

Methods:

This study employs a qualitative approach using multi-case study research as the method. For our research, we selected five case companies in the software-intensive systems domain. Through workshop sessions, frequent meetings and interviews, we explore how DevOps and short feedback loops, data and artificial intelligence (AI), and digital ecosystems challenge current PM practices.

Results:

Our study yielded an in-depth understanding of how digital transformation of the software-intensive systems industry is changing current PM practices. We present empirical results from workshops and from interviews in which case company representatives share their insights on how software, data and AI impact current PM practices. Based on these results, we present a framework organized along two dimensions, i.e. a certainty dimension and an approach dimension. The framework helps structure the approaches product managers can employ to select and prioritize development of new functionality.

Contributions:

The contribution of this paper is a framework for ‘Strategic Digital Product Management’ (SDPM). The framework outlines nine approaches that product managers can employ to maximize the return on investment (RoI) of R&D using new digital technologies.
背景:产品管理(PM)是构建、实施和管理软件密集型系统的关键。工程设计关注的是如何构建系统,而项目管理关注的是 "构建什么 "以及 "为什么 "要构建产品。项目管理的作用被认为对任何产品的成功都至关重要。目标:虽然有关项目管理的研究十分突出,但很少有研究探讨项目管理的角色如何因软件密集型行业的数字化转型而发生变化。在本文中,我们将研究 DevOps 和短反馈回路、数据和人工智能(AI)以及数字生态系统的出现等趋势如何改变当前的产品管理实践。方法:本研究采用定性方法,以多案例研究作为研究方法。在研究中,我们选择了软件密集型系统领域的五家案例公司。结果:我们的研究深入了解了软件密集型系统行业的数字化转型如何改变当前的产品经理实践。我们介绍了研讨会和访谈的实证结果,在访谈中,案例公司代表分享了他们对软件、数据和人工智能如何影响当前项目管理实践的见解。基于这些结果,我们提出了一个按两个维度组织的框架,即确定性维度和方法维度。该框架有助于构建产品经理可用于选择和优先开发新功能的方法。贡献:本文的贡献在于 "战略性数字产品管理"(SDPM)框架。该框架概述了产品经理可以采用的九种方法,以最大限度地提高利用新数字技术进行研发的投资回报率(RoI)。
{"title":"Strategic digital product management: Nine approaches","authors":"Helena Holmström Olsson ,&nbsp;Jan Bosch","doi":"10.1016/j.infsof.2024.107594","DOIUrl":"10.1016/j.infsof.2024.107594","url":null,"abstract":"<div><h3>Context:</h3><div>The role of product management (PM) is key for building, implementing and managing software-intensive systems. Whereas engineering is concerned with how to build systems, PM is concerned with ‘what’ to build and ‘why’ we should build the product. The role of PM is recognized as critical for the success of any product. However, few studies explore how the role of PM is changing due to recent trends that come with digitalization and digital transformation.</div></div><div><h3>Objectives:</h3><div>Although there is prominent research on PM, few studies explore how this role is changing due to the digital transformation of the software-intensive industry. In this paper, we study how trends such as DevOps and short feedback loops, data and artificial intelligence (AI), as well as the emergence of digital ecosystems, are changing current product management practices.</div></div><div><h3>Methods:</h3><div>This study employs a qualitative approach using multi-case study research as the method. For our research, we selected five case companies in the software-intensive systems domain. Through workshop sessions, frequent meetings and interviews, we explore how DevOps and short feedback loops, data and artificial intelligence (AI), and digital ecosystems challenge current PM practices.</div></div><div><h3>Results:</h3><div>Our study yielded an in-depth understanding of how digital transformation of the software-intensive systems industry is changing current PM practices. We present empirical results from workshops and from interviews in which case company representatives share their insights on how software, data and AI impact current PM practices. Based on these results, we present a framework organized along two dimensions, i.e. a certainty dimension and an approach dimension. The framework helps structure the approaches product managers can employ to select and prioritize development of new functionality.</div></div><div><h3>Contributions:</h3><div>The contribution of this paper is a framework for ‘Strategic Digital Product Management’ (SDPM). The framework outlines nine approaches that product managers can employ to maximize the return on investment (RoI) of R&amp;D using new digital technologies.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107594"},"PeriodicalIF":3.8,"publicationDate":"2024-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423608","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Deciphering refactoring branch dynamics in modern code review: An empirical study on Qt 解密现代代码审查中的重构分支动态:关于 Qt 的实证研究
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-10-05 DOI: 10.1016/j.infsof.2024.107596
Eman Abdullah AlOmar

Context:

Modern code review is a widely employed technique in both industrial and open-source projects, serving to enhance software quality, share knowledge, and ensure compliance with coding standards and guidelines. While code review is extensively studied for its general challenges, best practices, outcomes, and socio-technical aspects, little attention has been paid to how refactoring is reviewed and what developers prioritize when reviewing refactored code in the ‘Refactor’ branch.

Objective:

The goal is to understand the review process for refactoring changes in the ‘Refactor’ branch and to identify what developers care about when reviewing code in this branch.

Method:

In this study, we present a quantitative and qualitative examination to understand the main criteria developers use to decide whether to accept or reject refactored code submissions and identify the challenges inherent in this process.

Results:

Analyzing 2154 refactoring and non-refactoring reviews across Qt open-source projects, we find that reviews involving refactoring from the ‘Refactor’ branch take significantly less time to resolve in terms of code review efforts. Additionally, documentation of developer intent is notably sparse within the ‘Refactor’ branch compared to other branches. Furthermore, through thematic analysis of a substantial sample of refactoring code review discussions, we construct a comprehensive taxonomy consisting of 12 refactoring review criteria.

Conclusion:

Our findings underscore the importance of developing precise and efficient tools and techniques to aid developers in the review process amidst refactorings.
背景:现代代码审查是工业项目和开源项目中广泛采用的一种技术,它有助于提高软件质量、共享知识并确保符合编码标准和准则。虽然对代码审查的一般挑战、最佳实践、结果和社会技术方面进行了广泛研究,但很少有人关注如何审查重构,以及开发人员在审查 "重构 "分支中的重构代码时优先考虑什么。结果:通过分析 Qt 开源项目中的 2154 个重构和非重构审查,我们发现涉及 "重构 "分支中的重构的审查所花费的代码审查时间要少得多。此外,与其他分支相比,"重构 "分支中有关开发人员意图的文档明显较少。此外,通过对大量重构代码审查讨论样本进行主题分析,我们构建了一个包含 12 项重构审查标准的综合分类法。结论:我们的研究结果强调了开发精确、高效的工具和技术以帮助开发人员在重构过程中进行审查的重要性。
{"title":"Deciphering refactoring branch dynamics in modern code review: An empirical study on Qt","authors":"Eman Abdullah AlOmar","doi":"10.1016/j.infsof.2024.107596","DOIUrl":"10.1016/j.infsof.2024.107596","url":null,"abstract":"<div><h3>Context:</h3><div>Modern code review is a widely employed technique in both industrial and open-source projects, serving to enhance software quality, share knowledge, and ensure compliance with coding standards and guidelines. While code review is extensively studied for its general challenges, best practices, outcomes, and socio-technical aspects, little attention has been paid to how refactoring is reviewed and what developers prioritize when reviewing refactored code in the ‘Refactor’ branch.</div></div><div><h3>Objective:</h3><div>The goal is to understand the review process for refactoring changes in the ‘Refactor’ branch and to identify what developers care about when reviewing code in this branch.</div></div><div><h3>Method:</h3><div>In this study, we present a quantitative and qualitative examination to understand the main criteria developers use to decide whether to accept or reject refactored code submissions and identify the challenges inherent in this process.</div></div><div><h3>Results:</h3><div>Analyzing 2154 refactoring and non-refactoring reviews across Qt open-source projects, we find that reviews involving refactoring from the ‘Refactor’ branch take significantly less time to resolve in terms of code review efforts. Additionally, documentation of developer intent is notably sparse within the ‘Refactor’ branch compared to other branches. Furthermore, through thematic analysis of a substantial sample of refactoring code review discussions, we construct a comprehensive taxonomy consisting of 12 refactoring review criteria.</div></div><div><h3>Conclusion:</h3><div>Our findings underscore the importance of developing precise and efficient tools and techniques to aid developers in the review process amidst refactorings.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107596"},"PeriodicalIF":3.8,"publicationDate":"2024-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142442351","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Migration of monolithic systems to microservices: A systematic mapping study 从单体系统向微服务迁移:系统映射研究
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-10-01 DOI: 10.1016/j.infsof.2024.107590
Ana Martínez Saucedo , Guillermo Rodríguez , Fabio Gomes Rocha , Rodrigo Pereira dos Santos

Context:

The popularity of microservices architecture has grown due to its ability to address monolithic architecture issues, such as limited scalability, hard maintenance, and technological dependence. Nonetheless, the migration of monolith systems to microservices is complex. Therefore, methodologies and techniques are needed to facilitate migration and support practitioners and software architects.

Objective:

The objective of this study is to investigate cases of application migration, microservices identification techniques, tools used during migration, factors that promote migration, as well as issues and benefits of the migration.

Method:

We have conducted this SMS following the guidelines established by Kitchenham and Petersen. The research objective was defined using part of the Goal-Question-Metric model and the Population, Intervention, and Outcome criteria. From 1546 studies that were retrieved from the search execution, 114 were selected and analyzed to answer the research questions.

Results:

This SMS contributes with (i) a migration process proposal based on migration cases, (ii) a characterization of migration techniques based on different criteria, (iii) an analysis of tools to support migration, (iv) the identification of migration drivers, and (v) an exploration of migration issues as well as benefits.

Conclusion:

This SMS sheds light on the complexity and variability of migrating monolithic systems to microservices, as well as the limited number of migration tools. While scalability and maintenance drive migration, few studies assess them. Key challenges include microservices communication and database migration, with most research focusing primarily on monolith decomposition. Despite these difficulties, migration offers benefits, particularly in scalability and maintainability.
背景:微服务架构能够解决单体架构的问题,如有限的可扩展性、难以维护和技术依赖性等,因此越来越受欢迎。然而,从单体系统向微服务的迁移非常复杂。目标:本研究的目标是调查应用迁移案例、微服务识别技术、迁移过程中使用的工具、促进迁移的因素,以及迁移过程中的问题和好处。研究目标是根据目标-问题-度量模型的一部分以及人口、干预和结果标准确定的。结果:本 SMS 的贡献包括:(i) 基于迁移案例的迁移流程建议;(ii) 基于不同标准的迁移技术特征;(iii) 对支持迁移的工具的分析;(iv) 迁移驱动因素的识别;以及 (v) 对迁移问题和好处的探讨。虽然可扩展性和可维护性是迁移的驱动因素,但很少有研究对其进行评估。主要挑战包括微服务通信和数据库迁移,而大多数研究主要关注单体分解。尽管存在这些困难,迁移仍能带来好处,尤其是在可扩展性和可维护性方面。
{"title":"Migration of monolithic systems to microservices: A systematic mapping study","authors":"Ana Martínez Saucedo ,&nbsp;Guillermo Rodríguez ,&nbsp;Fabio Gomes Rocha ,&nbsp;Rodrigo Pereira dos Santos","doi":"10.1016/j.infsof.2024.107590","DOIUrl":"10.1016/j.infsof.2024.107590","url":null,"abstract":"<div><h3>Context:</h3><div>The popularity of microservices architecture has grown due to its ability to address monolithic architecture issues, such as limited scalability, hard maintenance, and technological dependence. Nonetheless, the migration of monolith systems to microservices is complex. Therefore, methodologies and techniques are needed to facilitate migration and support practitioners and software architects.</div></div><div><h3>Objective:</h3><div>The objective of this study is to investigate cases of application migration, microservices identification techniques, tools used during migration, factors that promote migration, as well as issues and benefits of the migration.</div></div><div><h3>Method:</h3><div>We have conducted this SMS following the guidelines established by Kitchenham and Petersen. The research objective was defined using part of the Goal-Question-Metric model and the Population, Intervention, and Outcome criteria. From 1546 studies that were retrieved from the search execution, 114 were selected and analyzed to answer the research questions.</div></div><div><h3>Results:</h3><div>This SMS contributes with (i) a migration process proposal based on migration cases, (ii) a characterization of migration techniques based on different criteria, (iii) an analysis of tools to support migration, (iv) the identification of migration drivers, and (v) an exploration of migration issues as well as benefits.</div></div><div><h3>Conclusion:</h3><div>This SMS sheds light on the complexity and variability of migrating monolithic systems to microservices, as well as the limited number of migration tools. While scalability and maintenance drive migration, few studies assess them. Key challenges include microservices communication and database migration, with most research focusing primarily on monolith decomposition. Despite these difficulties, migration offers benefits, particularly in scalability and maintainability.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107590"},"PeriodicalIF":3.8,"publicationDate":"2024-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423606","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
DFL: A DOM sample generation oriented fuzzing framework for browser rendering engines DFL:面向浏览器渲染引擎的 DOM 样本生成模糊测试框架
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-10-01 DOI: 10.1016/j.infsof.2024.107591
Guoyun Duan , Hai Zhao , Minjie Cai , Jianhua Sun , Hao Chen
The security of web browsers, being fundamental to Internet access infrastructure, has garnered significant attention. Current approaches to identify browser vulnerabilities predominantly rely on code auditing and componentized unit testing. Fuzzing has emerged as an efficient technique for vulnerability discovery. However, adapting this method to browser security testing poses considerable challenges. Recent endeavors in browser vulnerability discovery primarily concentrate on the parsing engine, with limited solutions addressing the rendering engine. Moreover, coverage-guided mutation, a critical aspect, is not prevalent in existing fuzzing frameworks. In this paper, we present a coverage-guided fuzzing framework of DFL, which builds on Freedom and AFL to re-engineer various text generators based on DOM syntax and optimize the efficiency of sample generation. Additionally, serialization and deserialisation methods are developed for the implementation of generator text mutations and the seamless conversion between binary samples and the source DOM tree. When compared with three established DOM fuzzing frameworks in the latest Chromium kernel, DFL has demonstrated an ability to uncover 1.5–3 times more vulnerabilities within a short timeframe. Our research identifies potential avenues for further exploration in browser rendering engine security, specifically focusing on sample generation and path direction.
网络浏览器是互联网访问基础设施的基础,其安全性备受关注。目前识别浏览器漏洞的方法主要依赖于代码审计和组件化单元测试。模糊测试(Fuzzing)已成为发现漏洞的一种有效技术。然而,将这种方法应用于浏览器安全测试却面临着相当大的挑战。最近在浏览器漏洞发现方面所做的努力主要集中在解析引擎上,针对渲染引擎的解决方案非常有限。此外,覆盖引导突变是一个关键方面,但在现有的模糊框架中并不普遍。在本文中,我们介绍了 DFL 的覆盖引导模糊框架,该框架以 Freedom 和 AFL 为基础,根据 DOM 语法重新设计了各种文本生成器,并优化了样本生成的效率。此外,还开发了序列化和反序列化方法,用于实现生成器文本突变以及二进制样本与源 DOM 树之间的无缝转换。在最新的 Chromium 内核中,与三个成熟的 DOM 模糊框架相比,DFL 在短时间内发现的漏洞要多出 1.5-3 倍。我们的研究确定了进一步探索浏览器渲染引擎安全性的潜在途径,特别是侧重于样本生成和路径方向。
{"title":"DFL: A DOM sample generation oriented fuzzing framework for browser rendering engines","authors":"Guoyun Duan ,&nbsp;Hai Zhao ,&nbsp;Minjie Cai ,&nbsp;Jianhua Sun ,&nbsp;Hao Chen","doi":"10.1016/j.infsof.2024.107591","DOIUrl":"10.1016/j.infsof.2024.107591","url":null,"abstract":"<div><div>The security of web browsers, being fundamental to Internet access infrastructure, has garnered significant attention. Current approaches to identify browser vulnerabilities predominantly rely on code auditing and componentized unit testing. Fuzzing has emerged as an efficient technique for vulnerability discovery. However, adapting this method to browser security testing poses considerable challenges. Recent endeavors in browser vulnerability discovery primarily concentrate on the parsing engine, with limited solutions addressing the rendering engine. Moreover, coverage-guided mutation, a critical aspect, is not prevalent in existing fuzzing frameworks. In this paper, we present a coverage-guided fuzzing framework of DFL, which builds on Freedom and AFL to re-engineer various text generators based on DOM syntax and optimize the efficiency of sample generation. Additionally, serialization and deserialisation methods are developed for the implementation of generator text mutations and the seamless conversion between binary samples and the source DOM tree. When compared with three established DOM fuzzing frameworks in the latest Chromium kernel, DFL has demonstrated an ability to uncover 1.5–3 times more vulnerabilities within a short timeframe. Our research identifies potential avenues for further exploration in browser rendering engine security, specifically focusing on sample generation and path direction.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107591"},"PeriodicalIF":3.8,"publicationDate":"2024-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423607","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
What helps Agile remote teams to be successful in developing software? Empirical evidence 是什么帮助敏捷远程团队成功开发软件?经验证据
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-10-01 DOI: 10.1016/j.infsof.2024.107593
Marta Adzgauskaite, Carlos Tam, Ricardo Martins
Software development firms have specific goals but today's dynamic business environment, especially regarding the use of remote teams, presents great challenges due to uncertainties and multiple risks. This study investigates the facilitators of the success of Agile software development projects delivered by remote teams. We employ a conceptual research model founded on the technology-organization-environment (TOE) framework. The study contributes to the literature by exploring how remote teams affect the success of Agile software development projects. Partial least squares structural equation modeling (PLS-SEM) analysis of the data collected from 198 IT professionals revealed that perceived pressure from government, job performance, and team satisfaction are significant in explaining these projects’ success.
软件开发公司都有特定的目标,但由于不确定性和多重风险,当今多变的商业环境,尤其是远程团队的使用,带来了巨大的挑战。本研究探讨了远程团队交付的敏捷软件开发项目取得成功的促进因素。我们采用了建立在技术-组织-环境(TOE)框架基础上的概念研究模型。本研究通过探讨远程团队如何影响敏捷软件开发项目的成功,为相关文献做出了贡献。通过对从 198 名 IT 专业人员那里收集到的数据进行偏最小二乘结构方程建模(PLS-SEM)分析,发现感知到的政府压力、工作绩效和团队满意度对解释这些项目的成功具有重要意义。
{"title":"What helps Agile remote teams to be successful in developing software? Empirical evidence","authors":"Marta Adzgauskaite,&nbsp;Carlos Tam,&nbsp;Ricardo Martins","doi":"10.1016/j.infsof.2024.107593","DOIUrl":"10.1016/j.infsof.2024.107593","url":null,"abstract":"<div><div>Software development firms have specific goals but today's dynamic business environment, especially regarding the use of remote teams, presents great challenges due to uncertainties and multiple risks. This study investigates the facilitators of the success of Agile software development projects delivered by remote teams. We employ a conceptual research model founded on the technology-organization-environment (TOE) framework. The study contributes to the literature by exploring how remote teams affect the success of Agile software development projects. Partial least squares structural equation modeling (PLS-SEM) analysis of the data collected from 198 IT professionals revealed that perceived pressure from government, job performance, and team satisfaction are significant in explaining these projects’ success.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107593"},"PeriodicalIF":3.8,"publicationDate":"2024-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423609","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
DeepMig: A transformer-based approach to support coupled library and code migrations DeepMig:支持库和代码耦合迁移的基于转换器的方法
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-09-28 DOI: 10.1016/j.infsof.2024.107588
Juri Di Rocco , Phuong T. Nguyen , Claudio Di Sipio , Riccardo Rubei , Davide Di Ruscio , Massimiliano Di Penta

Context:

While working on software projects, developers often replace third-party libraries (TPLs) with different ones offering similar functionalities. However, choosing a suitable TPL to migrate to is a complex task. As TPLs provide developers with Application Programming Interfaces (APIs) to allow for the invocation of their functionalities after adopting a new TPL, projects need to be migrated by the methods containing the affected API calls. Altogether, the coupled migration of TPLs and code is a strenuous process, requiring massive development effort. Most of the existing approaches either deal with library or API call migration but usually fail to solve both problems coherently simultaneously.

Objective:

This paper presents DeepMig, a novel approach to the coupled migration of TPLs and API calls. We aim to support developers in managing their projects, at the library and API level, allowing them to increase their productivity.

Methods:

DeepMig is based on a transformer architecture, accepts a set of libraries to predict a new set of libraries. Then, it looks for the changed API calls and recommends a migration plan for the affected methods. We evaluate DeepMig using datasets of Java projects collected from the Maven Central Repository, ensuring an assessment based on real-world dependency configurations.

Results:

Our evaluation reveals promising outcomes: DeepMig recommends both libraries and code; by several projects, it retrieves a perfect match for the recommended items, obtaining an accuracy of 1.0. Moreover, being fed with proper training data, DeepMig provides comparable code migration steps of a static API migrator, a baseline for the code migration task.

Conclusion:

We conclude that DeepMig is capable of recommending both TPL and API migration, providing developers with a practical tool to migrate the entire project.
背景:在开发软件项目时,开发人员经常会将第三方库(TPL)替换为提供类似功能的不同库。然而,选择一个合适的 TPL 进行迁移是一项复杂的任务。由于 TPL 为开发人员提供了应用编程接口 (API),允许他们在采用新的 TPL 后调用其功能,因此项目需要通过包含受影响的 API 调用的方法进行迁移。总之,TPL 和代码的耦合迁移是一个艰苦的过程,需要大量的开发工作。现有的大多数方法要么处理库迁移,要么处理 API 调用迁移,但通常无法同时解决这两个问题。方法:DeepMig 基于转换器架构,通过接受一组库来预测一组新的库。然后,它会查找已更改的 API 调用,并为受影响的方法推荐迁移计划。我们使用从 Maven Central Repository 收集的 Java 项目数据集对 DeepMig 进行了评估,以确保基于真实世界的依赖性配置进行评估:DeepMig 同时推荐了库和代码;在多个项目中,它检索到了完全匹配的推荐项目,准确率达到了 1.0。结论:我们得出的结论是,DeepMig能够同时推荐TPL和API迁移,为开发人员提供了迁移整个项目的实用工具。
{"title":"DeepMig: A transformer-based approach to support coupled library and code migrations","authors":"Juri Di Rocco ,&nbsp;Phuong T. Nguyen ,&nbsp;Claudio Di Sipio ,&nbsp;Riccardo Rubei ,&nbsp;Davide Di Ruscio ,&nbsp;Massimiliano Di Penta","doi":"10.1016/j.infsof.2024.107588","DOIUrl":"10.1016/j.infsof.2024.107588","url":null,"abstract":"<div><h3>Context:</h3><div>While working on software projects, developers often replace third-party libraries (TPLs) with different ones offering similar functionalities. However, choosing a suitable TPL to migrate to is a complex task. As TPLs provide developers with Application Programming Interfaces (APIs) to allow for the invocation of their functionalities after adopting a new TPL, projects need to be migrated by the methods containing the affected API calls. Altogether, the coupled migration of TPLs and code is a strenuous process, requiring massive development effort. Most of the existing approaches either deal with library or API call migration but usually fail to solve both problems coherently simultaneously.</div></div><div><h3>Objective:</h3><div>This paper presents DeepMig, a novel approach to the coupled migration of TPLs and API calls. We aim to support developers in managing their projects, at the library and API level, allowing them to increase their productivity.</div></div><div><h3>Methods:</h3><div>DeepMig is based on a transformer architecture, accepts a set of libraries to predict a new set of libraries. Then, it looks for the changed API calls and recommends a migration plan for the affected methods. We evaluate DeepMig using datasets of Java projects collected from the Maven Central Repository, ensuring an assessment based on real-world dependency configurations.</div></div><div><h3>Results:</h3><div>Our evaluation reveals promising outcomes: DeepMig recommends both libraries and code; by several projects, it retrieves a perfect match for the recommended items, obtaining an accuracy of 1.0. Moreover, being fed with proper training data, DeepMig provides comparable code migration steps of a static API migrator, a baseline for the code migration task.</div></div><div><h3>Conclusion:</h3><div>We conclude that DeepMig is capable of recommending both TPL and API migration, providing developers with a practical tool to migrate the entire project.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107588"},"PeriodicalIF":3.8,"publicationDate":"2024-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423613","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Constructing the graphical structure of expert-based Bayesian networks in the context of software engineering: A systematic mapping study 在软件工程背景下构建基于专家的贝叶斯网络图形结构:系统映射研究
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-09-27 DOI: 10.1016/j.infsof.2024.107586
Thiago Rique , Mirko Perkusich , Kyller Gorgônio , Hyggo Almeida , Angelo Perkusich

Context:

In scenarios where data availability issues hinder the applications of statistical causal modeling in software engineering (SE), Bayesian networks (BNs) have been widely used due to their flexibility in incorporating expert knowledge. However, the general understanding of how the graphical structure, i.e., the directed acyclic graph (DAG), of these models is built from domain experts is still insufficient.

Objective:

This study aims to characterize the SE landscape of constructing the graphical structure of BNs, including their potential for causal modeling.

Method:

We conducted a systematic mapping study employing a hybrid search strategy that combines a database search with parallel backward and forward snowballing.

Results:

Our mapping included a total of 106 studies. Different methods are commonly combined to construct expert-based BN structures. These methods span across data gathering & analysis (e.g., interviews, focus groups, literature research, grounded theory, and statistical analysis) and reasoning mechanisms (e.g., using idioms combined with the adoption of lifecycle models, risk-centric modeling, and other frameworks to guide BN construction). We found a lack of consensus regarding validation procedures, particularly critical when modeling cause–effect relationships from knowledge. Additionally, expert-based BNs are mainly applied at the tactical level to address problems related to software engineering management and software quality. Challenges in creating expert-based structures include validation procedures, experts’ availability, expertise level, and structure complexity handling. Key recommendations involve empirical validation, participatory involvement, and balance between adaptation to organizational constraints and model construction requirements.

Conclusion:

The construction of expert-based BN structures in SE varies in rigor, with some methods being systematic while others appear ad hoc. To enhance BN application, reducing expert knowledge subjectivity, enhancing methodological rigor, and clearly articulating the construction rationale is essential. Addressing these challenges is crucial for improving the reliability of causal inferences drawn from these models, ultimately leading to better-informed decisions in SE practices.
背景:在软件工程(SE)中,数据可用性问题阻碍了统计因果建模的应用,在这种情况下,贝叶斯网络(BN)因其结合专家知识的灵活性而被广泛使用。本研究旨在描述构建贝叶斯网络(BNs)图形结构的 SE 情况,包括其在因果建模方面的潜力。方法:我们采用混合搜索策略进行了系统的映射研究,该策略结合了数据库搜索和平行的前向和后向滚雪球搜索。我们通常采用不同的方法来构建基于专家的 BN 结构。这些方法涉及数据收集&;分析(如访谈、焦点小组、文献研究、基础理论和统计分析)和推理机制(如使用惯用语结合生命周期模型、以风险为中心的建模和其他框架来指导 BN 构建)。我们发现在验证程序方面缺乏共识,尤其是在对知识的因果关系建模时,这一点尤为重要。此外,基于专家的 BN 主要应用于战术层面,以解决与软件工程管理和软件质量相关的问题。创建基于专家的结构所面临的挑战包括验证程序、专家的可用性、专业知识水平和结构复杂性处理。主要建议包括经验验证、参与式参与,以及在适应组织约束和模型构建要求之间取得平衡。要加强生物网络的应用,必须减少专家知识的主观性,提高方法的严谨性,并明确阐述构建的理由。应对这些挑战对于提高从这些模型中得出的因果推论的可靠性至关重要,最终可在 SE 实践中做出更明智的决策。
{"title":"Constructing the graphical structure of expert-based Bayesian networks in the context of software engineering: A systematic mapping study","authors":"Thiago Rique ,&nbsp;Mirko Perkusich ,&nbsp;Kyller Gorgônio ,&nbsp;Hyggo Almeida ,&nbsp;Angelo Perkusich","doi":"10.1016/j.infsof.2024.107586","DOIUrl":"10.1016/j.infsof.2024.107586","url":null,"abstract":"<div><h3>Context:</h3><div>In scenarios where data availability issues hinder the applications of statistical causal modeling in software engineering (SE), Bayesian networks (BNs) have been widely used due to their flexibility in incorporating expert knowledge. However, the general understanding of how the graphical structure, i.e., the directed acyclic graph (DAG), of these models is built from domain experts is still insufficient.</div></div><div><h3>Objective:</h3><div>This study aims to characterize the SE landscape of constructing the graphical structure of BNs, including their potential for causal modeling.</div></div><div><h3>Method:</h3><div>We conducted a systematic mapping study employing a hybrid search strategy that combines a database search with parallel backward and forward snowballing.</div></div><div><h3>Results:</h3><div>Our mapping included a total of 106 studies. Different methods are commonly combined to construct expert-based BN structures. These methods span across data gathering &amp; analysis (e.g., interviews, focus groups, literature research, grounded theory, and statistical analysis) and reasoning mechanisms (e.g., using idioms combined with the adoption of lifecycle models, risk-centric modeling, and other frameworks to guide BN construction). We found a lack of consensus regarding validation procedures, particularly critical when modeling cause–effect relationships from knowledge. Additionally, expert-based BNs are mainly applied at the tactical level to address problems related to software engineering management and software quality. Challenges in creating expert-based structures include validation procedures, experts’ availability, expertise level, and structure complexity handling. Key recommendations involve empirical validation, participatory involvement, and balance between adaptation to organizational constraints and model construction requirements.</div></div><div><h3>Conclusion:</h3><div>The construction of expert-based BN structures in SE varies in rigor, with some methods being systematic while others appear ad hoc. To enhance BN application, reducing expert knowledge subjectivity, enhancing methodological rigor, and clearly articulating the construction rationale is essential. Addressing these challenges is crucial for improving the reliability of causal inferences drawn from these models, ultimately leading to better-informed decisions in SE practices.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107586"},"PeriodicalIF":3.8,"publicationDate":"2024-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423614","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
An intent-enhanced feedback extension model for code search 代码搜索的意图增强反馈扩展模型
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-09-27 DOI: 10.1016/j.infsof.2024.107589
Haize Hu , Mengge Fang , Jianxun Liu

Context:

Queries and descriptions used for code search not only differ in semantics and syntax, but also in structural features. Therefore, solving the differences between them is of great significance to the study of code search.

Objective:

This study focuses on the improvement of code search accuracy by exploring the expansion of query statements during the search process.

Methods:

To address the disparities between description and query, the paper introduces the Intentional Enhancement and Feedback (QEIEF) query expansion model. QEIEF leverages the written description provided by developers as the source for query expansion. Furthermore, QEIEF incorporates theQEIEF method to enhance the semantic representation of the query. This involves utilizing the query output as the target for intent enhancement and integrating it back into the query.

Results:

To assess the effectiveness of the proposedQEIEF in code search tasks, we conducted experiments using two base models (DeepCS and UNIF) along withQEIEF, as well as baseline models (WordNet and BM25). The experimental results indicate that QEIEF outperforms the baseline models in terms of query expansion accuracy and code search results.

Conclusion:

QEIEF not only enhances the accuracy of query expansion but also substantially improves code search performance. The source code and data associated with our study can be accessed publicly at: The address of our new code and data is https://github.com/xiangzheng666/IST-IEFE.
背景:用于代码搜索的查询和描述不仅在语义和语法上存在差异,在结构特征上也不尽相同。方法:为了解决描述和查询之间的差异,本文引入了有意增强和反馈(QEIEF)查询扩展模型。QEIEF 利用开发人员提供的书面描述作为查询扩展的来源。此外,QEIEF 还采用了 QEIEF 方法来增强查询的语义表示。结果:为了评估所提出的 QEIEF 在代码搜索任务中的有效性,我们使用两个基础模型(DeepCS 和 UNIF)以及 QEIEF 和基准模型(WordNet 和 BM25)进行了实验。实验结果表明,QEIEF 在查询扩展准确性和代码搜索结果方面都优于基线模型。与我们的研究相关的源代码和数据可通过以下网址公开获取:我们的新代码和数据的地址是 https://github.com/xiangzheng666/IST-IEFE。
{"title":"An intent-enhanced feedback extension model for code search","authors":"Haize Hu ,&nbsp;Mengge Fang ,&nbsp;Jianxun Liu","doi":"10.1016/j.infsof.2024.107589","DOIUrl":"10.1016/j.infsof.2024.107589","url":null,"abstract":"<div><h3>Context:</h3><div>Queries and descriptions used for code search not only differ in semantics and syntax, but also in structural features. Therefore, solving the differences between them is of great significance to the study of code search.</div></div><div><h3>Objective:</h3><div>This study focuses on the improvement of code search accuracy by exploring the expansion of query statements during the search process.</div></div><div><h3>Methods:</h3><div>To address the disparities between description and query, the paper introduces the Intentional Enhancement and Feedback (QEIEF) query expansion model. QEIEF leverages the written description provided by developers as the source for query expansion. Furthermore, QEIEF incorporates theQEIEF method to enhance the semantic representation of the query. This involves utilizing the query output as the target for intent enhancement and integrating it back into the query.</div></div><div><h3>Results:</h3><div>To assess the effectiveness of the proposedQEIEF in code search tasks, we conducted experiments using two base models (DeepCS and UNIF) along withQEIEF, as well as baseline models (WordNet and BM25). The experimental results indicate that QEIEF outperforms the baseline models in terms of query expansion accuracy and code search results.</div></div><div><h3>Conclusion:</h3><div>QEIEF not only enhances the accuracy of query expansion but also substantially improves code search performance. The source code and data associated with our study can be accessed publicly at: The address of our new code and data is <span><span>https://github.com/xiangzheng666/IST-IEFE</span><svg><path></path></svg></span>.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107589"},"PeriodicalIF":3.8,"publicationDate":"2024-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142357035","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Architecture decisions in quantum software systems: An empirical study on Stack Exchange and GitHub 量子软件系统的架构决策:对 Stack Exchange 和 GitHub 的实证研究
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-09-24 DOI: 10.1016/j.infsof.2024.107587
Mst Shamima Aktar , Peng Liang , Muhammad Waseem , Amjed Tahir , Aakash Ahmad , Beiqi Zhang , Zengyang Li

Context:

Quantum computing provides a new dimension in computation, utilizing the principles of quantum mechanics to potentially solve complex problems that are currently intractable for classical computers. However, little research has been conducted about the architecture decisions made in quantum software development, which have a significant influence on the functionality, performance, scalability, and reliability of these systems.

Objective:

The study aims to empirically investigate and analyze architecture decisions made during the development of quantum software systems, identifying prevalent challenges and limitations by using the posts and issues from Stack Exchange and GitHub.

Methods:

We used a qualitative approach to analyze the obtained data from Stack Exchange Sites and GitHub projects — two prominent platforms in the software development community. Specifically, we collected data from 385 issues (from 87 GitHub projects) and 70 posts (from 3 Stack Exchange sites) related to architecture decisions in quantum software development.

Results:

The results show that in quantum software development (1) architecture decisions are articulated in six linguistic patterns, the most common of which are Solution Proposal and Information Giving, (2) the two major categories of architectural decisions are Implementation Decision and Technology Decision, (3) Software Development Tools are the most common application domain among the twenty application domains identified, (4) Maintainability is the most frequently considered quality attribute, and (5) Design Issues and High Error Rates are the major limitations and challenges that practitioners face when making architecture decisions in quantum software development.

Conclusions:

Our results show that the limitations and challenges encountered in architecture decision-making during the development of quantum software systems are strongly linked to the particular features (e.g., quantum entanglement, superposition, and decoherence) of those systems. These issues mostly pertain to technical aspects and need appropriate measures to address them effectively.
背景:量子计算为计算提供了一个新的维度,它利用量子力学原理,有可能解决目前经典计算机难以解决的复杂问题。方法:我们使用定性方法分析了从 Stack Exchange 站点和 GitHub 项目(软件开发社区的两个著名平台)获得的数据。具体来说,我们从 385 个问题(来自 87 个 GitHub 项目)和 70 个帖子(来自 3 个 Stack Exchange 站点)中收集了与量子软件开发中的架构决策有关的数据。结果:结果显示,在量子软件开发中,(1) 架构决策以六种语言模式表述,其中最常见的是解决方案建议和信息提供,(2) 架构决策的两大类是实施决策和技术决策,(3) 软件开发工具是已确定的 20 个应用领域中最常见的应用领域,(4) 可维护性是最常被考虑的质量属性,(5) 设计问题和高错误率是从业人员在量子软件开发中做出架构决策时面临的主要限制和挑战。结论:我们的研究结果表明,在量子软件系统开发过程中,架构决策所遇到的限制和挑战与量子软件系统的特殊功能(如量子纠缠、叠加等)密切相关、量子纠缠、叠加和退相干)密切相关。这些问题大多涉及技术层面,需要采取适当措施才能有效解决。
{"title":"Architecture decisions in quantum software systems: An empirical study on Stack Exchange and GitHub","authors":"Mst Shamima Aktar ,&nbsp;Peng Liang ,&nbsp;Muhammad Waseem ,&nbsp;Amjed Tahir ,&nbsp;Aakash Ahmad ,&nbsp;Beiqi Zhang ,&nbsp;Zengyang Li","doi":"10.1016/j.infsof.2024.107587","DOIUrl":"10.1016/j.infsof.2024.107587","url":null,"abstract":"<div><h3>Context:</h3><div>Quantum computing provides a new dimension in computation, utilizing the principles of quantum mechanics to potentially solve complex problems that are currently intractable for classical computers. However, little research has been conducted about the architecture decisions made in quantum software development, which have a significant influence on the functionality, performance, scalability, and reliability of these systems.</div></div><div><h3>Objective:</h3><div>The study aims to empirically investigate and analyze architecture decisions made during the development of quantum software systems, identifying prevalent challenges and limitations by using the posts and issues from Stack Exchange and GitHub.</div></div><div><h3>Methods:</h3><div>We used a qualitative approach to analyze the obtained data from Stack Exchange Sites and GitHub projects — two prominent platforms in the software development community. Specifically, we collected data from 385 issues (from 87 GitHub projects) and 70 posts (from 3 Stack Exchange sites) related to architecture decisions in quantum software development.</div></div><div><h3>Results:</h3><div>The results show that in quantum software development (1) architecture decisions are articulated in six linguistic patterns, the most common of which are <em>Solution Proposal</em> and <em>Information Giving</em>, (2) the two major categories of architectural decisions are <em>Implementation Decision</em> and <em>Technology Decision</em>, (3) <em>Software Development Tools</em> are the most common application domain among the twenty application domains identified, (4) <em>Maintainability</em> is the most frequently considered quality attribute, and (5) <em>Design Issues</em> and <em>High Error Rates</em> are the major limitations and challenges that practitioners face when making architecture decisions in quantum software development.</div></div><div><h3>Conclusions:</h3><div>Our results show that the limitations and challenges encountered in architecture decision-making during the development of quantum software systems are strongly linked to the particular features (e.g., quantum entanglement, superposition, and decoherence) of those systems. These issues mostly pertain to technical aspects and need appropriate measures to address them effectively.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107587"},"PeriodicalIF":3.8,"publicationDate":"2024-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142318519","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Information and Software Technology
全部 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