Information and Software Technology最新文献

筛选
英文 中文
Deciphering refactoring branch dynamics in modern code review: An empirical study on Qt 解密现代代码审查中的重构分支动态:关于 Qt 的实证研究
IF 3.8 2区 计算机科学
Information and Software Technology Pub Date : 2024-10-05 DOI: 10.1016/j.infsof.2024.107596
Eman Abdullah AlOmar
{"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区 计算机科学
Information and Software Technology 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
{"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区 计算机科学
Information and Software Technology Pub Date : 2024-10-01 DOI: 10.1016/j.infsof.2024.107591
Guoyun Duan , Hai Zhao , Minjie Cai , Jianhua Sun , Hao Chen
{"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区 计算机科学
Information and Software Technology Pub Date : 2024-10-01 DOI: 10.1016/j.infsof.2024.107593
Marta Adzgauskaite, Carlos Tam, Ricardo Martins
{"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区 计算机科学
Information and Software Technology 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
{"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区 计算机科学
Information and Software Technology Pub Date : 2024-09-27 DOI: 10.1016/j.infsof.2024.107586
Thiago Rique , Mirko Perkusich , Kyller Gorgônio , Hyggo Almeida , Angelo Perkusich
{"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区 计算机科学
Information and Software Technology Pub Date : 2024-09-27 DOI: 10.1016/j.infsof.2024.107589
Haize Hu , Mengge Fang , Jianxun Liu
{"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区 计算机科学
Information and Software Technology 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
{"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
ENZZ: Effective N-gram coverage assisted fuzzing with nearest neighboring branch estimation ENZZ:利用最近相邻分支估计进行有效的 N-gram 覆盖率辅助模糊处理
IF 3.8 2区 计算机科学
Information and Software Technology Pub Date : 2024-09-24 DOI: 10.1016/j.infsof.2024.107582
Xi Peng, Peng Jia, Ximing Fan, Jiayong Liu
{"title":"ENZZ: Effective N-gram coverage assisted fuzzing with nearest neighboring branch estimation","authors":"Xi Peng,&nbsp;Peng Jia,&nbsp;Ximing Fan,&nbsp;Jiayong Liu","doi":"10.1016/j.infsof.2024.107582","DOIUrl":"10.1016/j.infsof.2024.107582","url":null,"abstract":"<div><div>Fuzzing is a highly effective approach for identifying software bugs and vulnerabilities. Among the various techniques employed, coverage-guided fuzzing stands out as particularly valuable, relying on tracing code coverage information. N-gram coverage is a coverage metric in gray-box fuzz testing, where the value of N determines the sensitivity of the coverage. Block and edge coverage can be represented as 0-gram and 1-gram, respectively. The value of N can range from 0 to infinity. However, the specific methodology for selecting the appropriate value of N is still an area yet to be explored.</div><div>This paper proposes an estimation method based on the nearest branch. We initially explained the role of N-gram in the execution paths of programs and elucidated the objective of selecting the value of N, which aims to cover the closest neighboring branches. Subsequently, based on this objective, we proposed a method for calculating N based on the closest neighboring branch and estimated N at the function level. Finally, in this paper, we designed a scheduling mechanism using Adversarial Multi-Armed Bandit model that automatically selects either the seeds generated by N-gram or the original queue seeds for fuzz testing.</div><div>We implement our approach in ENZZ based on AFL and compare it with other N-gram coverage fuzzers and the state-of-the-art path coverage-assisted fuzzer PathAFL. We find that ENZZ outperforms other N-gram fuzzers and PathAFL by achieving an average improvement of 5.57% and 4.38% on edge coverage, and it improves the efficiency of path-to-edge discovery by 31.5% and 26.1%, respectively, on 12 Google FuzzBench programs. It also finds more bugs than other N-gram fuzzers and three more real-world bugs than PathAFL.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107582"},"PeriodicalIF":3.8,"publicationDate":"2024-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423610","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
A search-and-fill strategy to code generation for complex software requirements 针对复杂软件需求的代码生成搜索和填充策略
IF 3.8 2区 计算机科学
Information and Software Technology Pub Date : 2024-09-20 DOI: 10.1016/j.infsof.2024.107584
Yukun Dong, Lingjie Kong, Lulu Zhang, Shuqi Wang, Xiaoshan Liu, Shuai Liu, Mingcheng Chen
{"title":"A search-and-fill strategy to code generation for complex software requirements","authors":"Yukun Dong,&nbsp;Lingjie Kong,&nbsp;Lulu Zhang,&nbsp;Shuqi Wang,&nbsp;Xiaoshan Liu,&nbsp;Shuai Liu,&nbsp;Mingcheng Chen","doi":"10.1016/j.infsof.2024.107584","DOIUrl":"10.1016/j.infsof.2024.107584","url":null,"abstract":"<div><h3>Context:</h3><div>The realm of software development has seen significant transformations with the rise of Low-Code Development (LCD) and the integration of Artificial Intelligence (AI), particularly large language models, into coding practices. The proliferation of open-source software also offers vast resources for developers.</div></div><div><h3>Objective:</h3><div>We aim to combine the benefits of modifying retrieved code with the use of an extensive code repository to tackle the challenges of complex control structures and multifunctional requirements in software development.</div></div><div><h3>Method:</h3><div>Our study introduces a Search-and-Fill strategy that utilizes natural language processing (NLP) to dissect complex software requirements. It extracts control structures and identifies atomic function points. By leveraging large-scale pre-trained models, the strategy searches for these elements to fill in the automatically transformed program structures derived from descriptions of control structures. This process generates a code snippet that includes program control structures and the implementations of various function points, thereby facilitating both code reuse and efficient development.</div></div><div><h3>Results:</h3><div>We have validated the effectiveness of our strategy in generating code snippets. For natural language requirements involving multifunctional complex structures, we constructed two datasets: the Basic Complex Requirements Dataset (BCRD) and the Advanced Complex Requirements Dataset (ACRD). These datasets are based on natural language descriptions and Python code that were randomly extracted and combined. For the code snippets to be generated, we achieved the best results with the ACRD dataset, with BLEU-4 scores reaching up to 0.6326 and TEDS scores peaking at 0.7807.</div></div><div><h3>Conclusion:</h3><div>The Search-and-Fill strategy successfully generates a comprehensive code snippets, integrating essential control structures and functions to streamline the development process. Experimental results substantiate our strategy’s efficacy in optimizing code reuse by effectively integrating preprocessing and selection optimization approach. Future research will focus on enhancing the recognition of complex software requirements and further refining the code snippets.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107584"},"PeriodicalIF":3.8,"publicationDate":"2024-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142423612","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
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信