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 , Peng Liang , Muhammad Waseem , Amjed Tahir , Aakash Ahmad , Beiqi Zhang , 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}
{"title":"ENZZ: Effective N-gram coverage assisted fuzzing with nearest neighboring branch estimation","authors":"Xi Peng, Peng Jia, Ximing Fan, 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}
{"title":"A search-and-fill strategy to code generation for complex software requirements","authors":"Yukun Dong, Lingjie Kong, Lulu Zhang, Shuqi Wang, Xiaoshan Liu, Shuai Liu, 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}
Ricardo Amaro , Rúben Pereira , Miguel Mira da Silva
{"title":"Mapping DevOps capabilities to the software life cycle: A systematic literature review","authors":"Ricardo Amaro , Rúben Pereira , Miguel Mira da Silva","doi":"10.1016/j.infsof.2024.107583","DOIUrl":"10.1016/j.infsof.2024.107583","url":null,"abstract":"<div><h3>Context:</h3><p>Many IT organizations are looking towards DevOps to make their software development and delivery processes faster and more reliable, while DevOps revolutionized the industry by emphasizing collaboration between development and operations teams. Nonetheless, there still exist challenges in harmonizing cultural, technical, measurement and process capabilities for its successful adoption.</p></div><div><h3>Objective:</h3><p>To research improving DevOps adoption, this study explores DevOps Capabilities relevant to the Life Cycle Processes (LCPs) of the IEEE 2675-2021 DevOps standard. Aiming to provide valuable information on increasing efficiency and outcomes by mapping DevOps Capabilities in each phase of the LCPs. Whereas previous research identified and classified 37 DevOps Capabilities, this study aims to determine which capabilities can enhance each of the 30 phases of the LCPs.</p></div><div><h3>Methods:</h3><p>Out of 102 documents identified in the Systematic Literature Review (SLR), relations among DevOps Capabilities and LCPs have been synthesized and organized. An in-depth analysis of data was conducted over the connections across various categories. The mapping revealed how they relate in terms of their application and impact.</p></div><div><h3>Results:</h3><p>The SLR shows technical DevOps Capabilities and technical LCPs strongly correlated. DevOps measurement capabilities have a significant impact on agreement processes. Using an impact scale classification, the study identifies eight capabilities that have exceptional impact on LCPs and eleven capabilities that have a very high impact on the supply process, requirements definition, integration process, and validation process.</p></div><div><h3>Conclusion:</h3><p>The study demonstrates how DevOps Capabilities together with LCPs can improve software delivery, quality, and reliability. It presents a structured approach for improving processes, as well as evidence of DevOps integration in software development and maintenance. The findings help to assess DevOps Capabilities and LCP relations, which is expected to improve successful adoption. Future research should focus on researching practical cases of DevOps integration into LCPs, while overcoming adoption challenges.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107583"},"PeriodicalIF":3.8,"publicationDate":"2024-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001885/pdfft?md5=0f638b8210f13166620dcfc6d3e2af01&pid=1-s2.0-S0950584924001885-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142270420","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}
Olivia H. Plant , Adina Aldea , Jos van Hillegersberg
{"title":"Improving DevOps team performance through context-capability coalignment: Towards a profile for public sector organizations","authors":"Olivia H. Plant , Adina Aldea , Jos van Hillegersberg","doi":"10.1016/j.infsof.2024.107585","DOIUrl":"10.1016/j.infsof.2024.107585","url":null,"abstract":"<div><h3>Context</h3><div>Many IT organizations turn to agile software delivery approaches such as DevOps in order to reduce the number of IT projects that are running behind schedule and above budget. However, the DevOps paradigm calls for an increased set of capabilities that need to be built and aligned with their context in order to ensure superior team performance.</div></div><div><h3>Objective</h3><div>This research aims to develop a context-capability coalignment profile for DevOps teams in public organizations. This profile and the corresponding design approach may serve as a model for other software production teams seeking to enhance their performance through improved coalignment. The resulting set of design principles places the traditional information systems theories of dynamic capabilities and contingency theory in a modern context.</div></div><div><h3>Method</h3><div>We adopt a longitudinal action design research approach centered around a DevOps team working in the IT department of a Dutch public organization. A mixed method design including scientific questionnaires, workshops, expert opinions and semi-structured interviews is employed to build and evaluate the profile.</div></div><div><h3>Results</h3><div>The resulting profile is characterized by technological complexity, a highly regulated environment, departmental interdependencies and high system relevance. The evaluation phase supports the validity of the artifact and suggests moderately improved coalignment of context and team capabilities after the research period, as well as a positive influence of coalignment on team performance.</div></div><div><h3>Conclusion</h3><div>It is contended that software teams in public organizations can benefit from improved coalignment between context and DevOps capabilities by following the presented approach. We argue that it is important to create a profile which is internally consistent and views coalignment as a continuous process in order to maximize the positive effect on team performance.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"178 ","pages":"Article 107585"},"PeriodicalIF":3.8,"publicationDate":"2024-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142553388","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}
Domenico Cotroneo, Roberta De Luca, Pietro Liguori
{"title":"DeVAIC: A tool for security assessment of AI-generated code","authors":"Domenico Cotroneo, Roberta De Luca, Pietro Liguori","doi":"10.1016/j.infsof.2024.107572","DOIUrl":"10.1016/j.infsof.2024.107572","url":null,"abstract":"<div><h3>Context:</h3><p>AI code generators are revolutionizing code writing and software development, but their training on large datasets, including potentially untrusted source code, raises security concerns. Furthermore, these generators can produce incomplete code snippets that are challenging to evaluate using current solutions.</p></div><div><h3>Objective:</h3><p>This research work introduces <em>DeVAIC</em> (Detection of Vulnerabilities in AI-generated Code), a tool to evaluate the security of AI-generated Python code, which overcomes the challenge of examining incomplete code.</p></div><div><h3>Methods:</h3><p>We followed a methodological approach that involved gathering vulnerable samples, extracting implementation patterns, and creating regular expressions to develop the proposed tool. The implementation of <em>DeVAIC</em> includes a set of detection rules based on regular expressions that cover 35 Common Weakness Enumerations (CWEs) falling under the OWASP Top 10 vulnerability categories.</p></div><div><h3>Results:</h3><p>We utilized four popular AI models to generate Python code, which we then used as a foundation to evaluate the effectiveness of our tool. <em>DeVAIC</em> demonstrated a statistically significant difference in its ability to detect security vulnerabilities compared to the state-of-the-art solutions, showing an <span><math><msub><mrow><mi>F</mi></mrow><mrow><mn>1</mn></mrow></msub></math></span> Score and Accuracy of 94% while maintaining a low computational cost of 0.14 s per code snippet, on average.</p></div><div><h3>Conclusions:</h3><p>The proposed tool provides a lightweight and efficient solution for vulnerability detection even on incomplete code.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107572"},"PeriodicalIF":3.8,"publicationDate":"2024-09-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001770/pdfft?md5=4b13436df2c73b1417f75ea09a77256f&pid=1-s2.0-S0950584924001770-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142270421","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}
Miaogui Ling, Mingwei Tang, Deng Bian, Shixuan Lv, Qi Tang
{"title":"A dual graph neural networks model using sequence embedding as graph nodes for vulnerability detection","authors":"Miaogui Ling, Mingwei Tang, Deng Bian, Shixuan Lv, Qi Tang","doi":"10.1016/j.infsof.2024.107581","DOIUrl":"10.1016/j.infsof.2024.107581","url":null,"abstract":"<div><h3>Context:</h3><p>Detecting critical to ensure software system security. The traditional static vulnerability detection methods are limited by staff expertise and perform poorly with today’s increasingly complex software systems. Researchers have successfully applied the techniques used in NLP to vulnerability detection as deep learning has developed. The existing deep learning-based vulnerability detection models can be divided into sequence-based and graph-based categories. Sequence-based embedding models cannot use structured information embedded in the code, and graph-based embedding models lack effective node representations.</p></div><div><h3>Objective:</h3><p>To solve these problems, we propose a deep learning-based method, DGVD (Double Graph Neural Network for Vulnerability Detection).</p></div><div><h3>Methods:</h3><p>We use the sequential neural network approach to extract local semantic features of the code as nodes embedded in the control flow graph. First, we propose a dual graph neural network module (DualGNN) that consists of GCN and GAT. The altered module utilizes two different graph neural networks to obtain the global structural information of the control flow and the relationship between the nodes and fuses the two. Second, we propose a convolution-based feature enhancement module (TC-FE) that uses different convolution kernels of different sizes to capture information at different scales so that subsequent readout layers can better aggregate node information.</p></div><div><h3>Results:</h3><p>Experiments demonstrate that DGVD outperforms existing models, obtaining 64.23% vulnerability detection accuracy on CodeXGLUE’s real benchmark dataset.</p></div><div><h3>Conclusion:</h3><p>The proposed DGVD achieves better performance than the state-of-the-art DGVD has a more effective source code feature extraction capability on real-world datasets.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107581"},"PeriodicalIF":3.8,"publicationDate":"2024-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001861/pdfft?md5=450f5d915db5cb174d591dea662c75cd&pid=1-s2.0-S0950584924001861-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142161586","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}
Pedro Henrique Kuroishi , Ana Cristina Ramada Paiva , José Carlos Maldonado , Auri Marcelo Rizzo Vincenzi
{"title":"Testing infrastructures to support mobile application testing: A systematic mapping study","authors":"Pedro Henrique Kuroishi , Ana Cristina Ramada Paiva , José Carlos Maldonado , Auri Marcelo Rizzo Vincenzi","doi":"10.1016/j.infsof.2024.107573","DOIUrl":"10.1016/j.infsof.2024.107573","url":null,"abstract":"<div><h3>Context:</h3><p>Testing activities are essential for the quality assurance of mobile applications under development. Despite its importance, some studies show that testing is not widely applied in mobile applications. Some characteristics of mobile devices and a varied market of mobile devices with different operating system versions lead to a highly fragmented mobile ecosystem. Thus, researchers put some effort into proposing different solutions to optimize mobile application testing.</p></div><div><h3>Objective:</h3><p>The main goal of this paper is to provide a categorization and classification of existing testing infrastructures to support mobile application testing.</p></div><div><h3>Methods:</h3><p>To this aim, the study provides a Systematic Mapping Study of 27 existing primary studies.</p></div><div><h3>Results:</h3><p>We present a new classification and categorization of existing types of testing infrastructure, the types of supported devices and operating systems, whether the testing infrastructure is available for usage or experimentation, and supported testing types and applications.</p></div><div><h3>Conclusion:</h3><p>Our findings show a need for mobile testing infrastructures that support multiple phases of the testing process. Moreover, we showed a need for testing infrastructure for context-aware applications and support for both emulators and real devices. Finally, we pinpoint the need to make the research available to the community whenever possible.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107573"},"PeriodicalIF":3.8,"publicationDate":"2024-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001782/pdfft?md5=f51e15c1c22c885eaa3b1068c8ec1e68&pid=1-s2.0-S0950584924001782-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142229559","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}
{"title":"Specialized model initialization and architecture optimization for few-shot code search","authors":"Fan Zhang , Qiang Wu , Manman Peng , Yuanyuan Shen","doi":"10.1016/j.infsof.2024.107571","DOIUrl":"10.1016/j.infsof.2024.107571","url":null,"abstract":"<div><h3>Context:</h3><p>Code search aims to find relevant code snippets from a codebase given a natural language query. It not only boosts developer efficiency but also improves the performance of tasks such as code generation and program repair, thus becoming one of the crucial tasks in software engineering.</p></div><div><h3>Objective:</h3><p>However, recent works are mainly designed for mainstream programming languages with abundant training data. We aim to address the challenges of code search for domain-specific programming languages with limited training data by proposing a novel two-stage, few-shot code search framework named SMIAO.</p></div><div><h3>Method:</h3><p>SMIAO includes a specialized model initialization and an architecture optimization stage. In the first stage, we first quantitatively identify a mainstream programming language’s dataset that is semantically closest to a target few-shot programming language. Then, we enrich the dataset with hard samples and train an Adapter-GraphCodeBERT model to obtain well-initialized parameters. In the second stage, we first design a search space for the initialized Adapter-GraphCodeBERT model. Then, we employ neural architecture search to optimize the Adapter modules’ positions and quantities in the GraphCodeBERT layers, tailoring for real-world few-shot code search tasks.</p></div><div><h3>Results:</h3><p>We conduct experiments on a publicly available dataset to demonstrate the effectiveness and rationality of SMIAO. The experimental results show that SMIAO outperforms other state-of-the-art baselines.</p></div><div><h3>Conclusion:</h3><p>Using mainstream languages’ datasets to initialize Adapter-GraphCodeBERT models, followed by adjusting the quantities and positions of Adapter modules within the GraphCodeBERT layers by neural architecture search, can effectively improve the performance of few-shot code search tasks.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107571"},"PeriodicalIF":3.8,"publicationDate":"2024-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001769/pdfft?md5=42c9abafebc31bfce0fe9d0923669722&pid=1-s2.0-S0950584924001769-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142161587","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}
{"title":"Accessibility of low-code approaches: A systematic literature review","authors":"Hourieh Khalajzadeh , John Grundy","doi":"10.1016/j.infsof.2024.107570","DOIUrl":"10.1016/j.infsof.2024.107570","url":null,"abstract":"<div><h3>Context:</h3><p>Model-driven approaches are increasingly used in different domains, such as education, finance and app development, in order to involve non-developers in the software development process. Such tools are hugely dependent on visual elements and thus might not be accessible for users with specific challenges, <em>e.g.</em>, visual impairments.</p></div><div><h3>Objectives:</h3><p>To locate and analyse existing literature on the accessibility of low-code approaches, their strengths and weaknesses and key directions for future research.</p></div><div><h3>Methods:</h3><p>We carried out a systematic literature review and searched through five leading databases for primary studies. We used both quantitative and qualitative methods for data synthesis.</p></div><div><h3>Results:</h3><p>After reviewing and filtering 918 located studies, and conducting both backward and forward snowballing, we identified 38 primary studies that were included in our analysis. We found most papers focusing on accessibility of visual languages and block-based programming.</p></div><div><h3>Conclusion:</h3><p>Limited work has been done on improving low code programming environment accessibility. The findings of this systematic literature review will assist researchers and developers in understanding the accessibility issues in low-code approaches and what has been done so far to develop accessible approaches.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"177 ","pages":"Article 107570"},"PeriodicalIF":3.8,"publicationDate":"2024-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001757/pdfft?md5=0f1075cef5d4359991b8dedfbe12585f&pid=1-s2.0-S0950584924001757-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142168286","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}