Journal of Systems and Software最新文献

筛选
英文 中文
Leveraging belief uncertainty for informed decision making in software product line evolution 利用信念的不确定性,在软件产品系列演进过程中做出明智决策
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-16 DOI: 10.1016/j.jss.2024.112235
Jose-Miguel Horcas , Lola Burgueño , Jörg Kienzle
{"title":"Leveraging belief uncertainty for informed decision making in software product line evolution","authors":"Jose-Miguel Horcas ,&nbsp;Lola Burgueño ,&nbsp;Jörg Kienzle","doi":"10.1016/j.jss.2024.112235","DOIUrl":"10.1016/j.jss.2024.112235","url":null,"abstract":"<div><div>Software Product Lines (SPL) are not static software artifacts, but they evolve over time. The planning, realization, and release of a SPL requires many high-level decisions involving many different stakeholders with different expertise. Taking their opinions into account to make the right decisions is not trivial. Currently there are no mechanisms to assist stakeholders in the decision making process in an informed manner. In this paper, we propose the use of belief uncertainty in conjunction with feature models to assist in the evolution of SPLs by explicitly quantifying opinions and their associated uncertainty. We present a novel approach in which subjective logic is used to represent the opinions of stakeholders in three evolution scenarios, namely feature model evolution, next release problem and variability reduction. We apply our approach to the evolution of the Xiaomi MiBand SmartWatch SPL over the time period from July 2014 to October 2023. We present an implementation of our approach and evaluate its scalability.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112235"},"PeriodicalIF":3.7,"publicationDate":"2024-10-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142535188","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
Syntax-preserving program slicing for C-based software product lines 基于 C 语言的软件产品系列的语法保护程序切分法
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-16 DOI: 10.1016/j.jss.2024.112255
Lea Gerling
{"title":"Syntax-preserving program slicing for C-based software product lines","authors":"Lea Gerling","doi":"10.1016/j.jss.2024.112255","DOIUrl":"10.1016/j.jss.2024.112255","url":null,"abstract":"<div><div>Program slicing is a well-established technique for identifying a reduced subset of a program based on pre-defined criteria, leading to complexity reduction in subsequent activities. Despite extensive study over the past 40 years, slicing techniques for software product lines <em>(SPLs)</em> remain notably scarce. The absence of dedicated SPL slicing approaches hinders their efficient analysis and maintenance, limiting the ability to focus only on relevant parts of the SPL. One reason for this deficiency is the complex nature of a common variability implementation: the use of C preprocessor <span>#ifdef</span>-annotations within C code. A slicing approach for C-based SPLs must address the intricate interplay between the C code and the functionality introduced by the C preprocessor. Effectively handling these intricacies will unleash the full potential of SPL analysis. In this paper, we present a novel syntax-preserving program slicing approach for C-based SPLs. Unlike existing methods, our approach enables the computation of program slices through an integrated analysis of both C and CPP code, while preserving the original program syntax (no element of its syntax is disregarded or changed). This preservation ensures that the resulting program slices remain <em>authentic</em> subsets of the SPL, making them suitable inputs for variability-aware analyses. Additionally, we demonstrate the practical applicability of these slices in the context of software transplantation, showcasing their potential for facilitating functionality transfer between different program versions. In contrast to existing transplantation approaches, our solution works without test cases, removing the need for product configuration and execution. Consequently, the variability implementation (along with all other contained preprocessor code) is preserved during the transplantation. We empirically evaluate our approach on four distinct open-source SPLs, showcasing its effectiveness in generating diverse program slices tailored to different slicing criteria. We asses the accuracy of our code representation, the time required for slicing and transplantation, the size reduction achieved through the slices, and the functionality of our variability-aware transplantation approach.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112255"},"PeriodicalIF":3.7,"publicationDate":"2024-10-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142534967","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
Applying SOLID principles for the refactoring of legacy code: An experience report 应用 SOLID 原则重构遗留代码:经验报告
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-16 DOI: 10.1016/j.jss.2024.112254
Ivan Yanakiev , Bogdan-Mihai Lazar , Andrea Capiluppi
{"title":"Applying SOLID principles for the refactoring of legacy code: An experience report","authors":"Ivan Yanakiev ,&nbsp;Bogdan-Mihai Lazar ,&nbsp;Andrea Capiluppi","doi":"10.1016/j.jss.2024.112254","DOIUrl":"10.1016/j.jss.2024.112254","url":null,"abstract":"<div><div>The presence of technical debt in legacy systems is an inevitable consequence of years of development. Metrics play a significant role in informing the prioritisation process of maintenance activities to reduce this debt. However, it is important to note that not all metrics are equally important or readily available in real industrial settings.</div><div>This paper summarises an experience report of refactoring activities performed at a Dutch partnering company, aimed at identifying, prioritising and repaying parts of the architectural technical debt accumulated in two decades of development.</div><div>Given the size of the refactoring task, a data-driven prioritisation was necessary, and based on the impact that the maintenance activity would have on the base system. However, the metrics available from the monitoring of the system formed a limited set, and were not always focused on architectural aspects. Even so, the impact analysis was performed and resulted in the selection of a subset of components that needed urgent maintenance.</div><div>The refactoring of the identified components was centred around the well-known SOLID design principles, particularly the Dependency Inversion (DI) principle. Additionally, a set of recurring actions was established into ‘refactoring patterns’ and systematically applied to more than 5,000 source, header and custom domain language files.</div><div>This work, albeit limited to the period where the activity was planned for, was well received by the industrial collaborator. The patterns have proven very valuable in the process of maintaining such a large project scope. The data-driven approach and the identified patterns have helped the team navigate this large space and consistently refactor similar architectural issues that fall under the same category.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"220 ","pages":"Article 112254"},"PeriodicalIF":3.7,"publicationDate":"2024-10-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142551917","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
Unveiling the microservices testing methods, challenges, solutions, and solutions gaps: A systematic mapping study 揭示微服务测试方法、挑战、解决方案和解决方案差距:系统制图研究
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-16 DOI: 10.1016/j.jss.2024.112232
Mingxuan Hui , Lu Wang , Hao Li , Ren Yang , Yuxin Song , Huiying Zhuang , Di Cui , Qingshan Li
{"title":"Unveiling the microservices testing methods, challenges, solutions, and solutions gaps: A systematic mapping study","authors":"Mingxuan Hui ,&nbsp;Lu Wang ,&nbsp;Hao Li ,&nbsp;Ren Yang ,&nbsp;Yuxin Song ,&nbsp;Huiying Zhuang ,&nbsp;Di Cui ,&nbsp;Qingshan Li","doi":"10.1016/j.jss.2024.112232","DOIUrl":"10.1016/j.jss.2024.112232","url":null,"abstract":"<div><div>Microservices architecture (MSA) is widely used by enterprises and related practitioners. Due to the importance of MSA in the industry, failure to identify its potential faults and errors will cause serious consequences. Consequently, it is imperative to conduct testing on the MSA to guarantee its quality and reliability. As a key task in the software development lifecycle, microservices testing can effectively identify defects and errors caused by incorrect or unexpected behavior of microservices software, ensuring the quality of microservices software. Currently, related reviews lack a comprehensive summary of the challenges and solutions faced by microservices testing. To fill this gap, this study provides a comprehensive review of the microservices testing. It analyzes 93 primary studies from 19595 pieces of research, eventually identifying nine categories of microservices testing methods, four types of challenges, and 5 specific solutions to challenges. The conclusion shows that the current part of microservices testing methods is significantly different from other architectural testing methods, lacking exploration of testing methods under different communication mechanisms. Furthermore, this paper discusses the above conclusions, providing directions to further narrow the gap in solutions to challenges and future development directions for microservices testing.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"220 ","pages":"Article 112232"},"PeriodicalIF":3.7,"publicationDate":"2024-10-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142592845","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
Challenges and opportunities: Implementing diversity and inclusion in software engineering university level education in Finland 挑战与机遇:在芬兰大学软件工程教育中实现多样性和包容性
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-16 DOI: 10.1016/j.jss.2024.112239
Sonja M. Hyrynsalmi
{"title":"Challenges and opportunities: Implementing diversity and inclusion in software engineering university level education in Finland","authors":"Sonja M. Hyrynsalmi","doi":"10.1016/j.jss.2024.112239","DOIUrl":"10.1016/j.jss.2024.112239","url":null,"abstract":"<div><div>Considerable efforts have been made at the high school level to encourage girls to pursue software engineering careers and raise awareness about diversity within the field. Similarly, software companies have become more active in diversity and inclusion (D&amp;I) topics, aiming to create more inclusive work environments. However, the way diversity and inclusion are approached inside software engineering university education remains less clear. This study investigates the current state of D&amp;I in software engineering education and faculties in Finland. An online survey (N = 30) was conducted among Finnish software engineering university teachers to investigate which approaches and case examples of D&amp;I are most commonly used by software engineering teachers in Finland. In addition, it was researched how software engineering teachers perceive the importance of D&amp;I in their courses. As a result of the quantitative and thematic analysis, a framework to identify attitudes, approaches, challenges and pedagogical strategies when implementing D&amp;I themes in software engineering education is presented. This framework also offers a process for integrating D&amp;I themes for the curriculum or at the faculty level. The findings of this study emphasize that there is a continuing need for diverse-aware education and training. The results underline the responsibility of universities to ensure that future professionals are equipped with the necessary skills and knowledge to promote D&amp;I in the field of software engineering.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112239"},"PeriodicalIF":3.7,"publicationDate":"2024-10-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142535181","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
The Power of Words in Agile vs. Waterfall Development: Written Communication in Hybrid Software Teams 敏捷开发与瀑布式开发中语言的力量:混合软件团队中的书面交流
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-15 DOI: 10.1016/j.jss.2024.112243
Delina Ly , Michiel Overeem , Sjaak Brinkkemper , Fabiano Dalpiaz
{"title":"The Power of Words in Agile vs. Waterfall Development: Written Communication in Hybrid Software Teams","authors":"Delina Ly ,&nbsp;Michiel Overeem ,&nbsp;Sjaak Brinkkemper ,&nbsp;Fabiano Dalpiaz","doi":"10.1016/j.jss.2024.112243","DOIUrl":"10.1016/j.jss.2024.112243","url":null,"abstract":"<div><div>Software development is constantly evolving, adapting to emerging technologies and development paradigms while leveraging advancements in communication technologies and work modes. We conduct an exploratory case study in a large software organization to investigate how the development paradigm and the formality of communication channels affect written communication within hybrid teams. We perform statistical and content analysis of written conversations from 20 projects involving two software products that use industry adaptations of the Waterfall model and of Scrum, respectively. We found that in agile-developed projects, communication related to the execution-monitoring-control phase of the Project Management Life Cycle is more prevalent, and communication related to the initiation phase occurs more frequently in informal channels. For both project types, communication primarily pertains to the software construction phase of the Software Development Life Cycle. After annotating communication contents using speech acts, representatives are found to be prevalent in informal channels for agile-developed projects, directives are more prevalent in informal channels for waterfall-developed projects, and expressives are more frequent in informal channels for both project types. We provide empirical evidence that development paradigms and communication channel formality impact written communication, with agile-developed projects showing more collaborative interactions in informal channels compared to waterfall-developed projects.</div><div><em>Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board</em>.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112243"},"PeriodicalIF":3.7,"publicationDate":"2024-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142535180","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
Andromeda: A model-connected framework for safety assessment and assurance 仙女座:安全评估和保证的模型连接框架
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-15 DOI: 10.1016/j.jss.2024.112256
Athanasios Retouniotis , Yiannis Papadopoulos , Ioannis Sorokos
{"title":"Andromeda: A model-connected framework for safety assessment and assurance","authors":"Athanasios Retouniotis ,&nbsp;Yiannis Papadopoulos ,&nbsp;Ioannis Sorokos","doi":"10.1016/j.jss.2024.112256","DOIUrl":"10.1016/j.jss.2024.112256","url":null,"abstract":"<div><div>Safety is a key factor in the development of critical systems, encompassing both conventional types, such as aircraft, and modern technologies, such as autonomous vehicles. Failures during their operation can be potentially far-reaching and impact people and the environment. To certify these systems and enable their employment, regulatory bodies require, among others, a safety case. However, the growing complexity of modern systems and iterative nature of development pose significant challenges to the traditional approaches for creating safety cases that are still used in practice. Furthermore, safety cases are often generated in an ad-hoc manner and remain disconnected from system models and related artefacts. Without these connections it is difficult to construct the proper infrastructure for producing and maintaining safety cases in a structured manner throughout the system lifecycle. This paper presents our innovative method, Andromeda, and its underpinning metamodel, which establish connections between safety cases, system models, safety assessment activities aligned with international safety standards, and argument patterns. Automation is applied across various stages of the production of argument structures that support safety assurance and certification activities. Andromeda is complemented by tool-support designed to facilitate its application, and we demonstrate our work through a case study from the aviation industry.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"220 ","pages":"Article 112256"},"PeriodicalIF":3.7,"publicationDate":"2024-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142655186","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
An empirical study of developers’ challenges in implementing Workflows as Code: A case study on Apache Airflow 关于开发人员在实施工作流即代码时所面临挑战的实证研究:Apache Airflow 案例研究
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-15 DOI: 10.1016/j.jss.2024.112248
Jerin Yasmin, Jiale Amber Wang, Yuan Tian, Bram Adams
{"title":"An empirical study of developers’ challenges in implementing Workflows as Code: A case study on Apache Airflow","authors":"Jerin Yasmin,&nbsp;Jiale Amber Wang,&nbsp;Yuan Tian,&nbsp;Bram Adams","doi":"10.1016/j.jss.2024.112248","DOIUrl":"10.1016/j.jss.2024.112248","url":null,"abstract":"<div><div>The Workflows as Code paradigm is becoming increasingly essential to streamline the design and management of complex processes within data-intensive software systems. These systems require robust capabilities to process, analyze, and extract insights from large datasets. Workflow orchestration platforms such as Apache Airflow are pivotal in meeting these needs, as they effectively support the implementation of the Workflows as Code paradigm. Nevertheless, despite its considerable advantages, developers still face challenges due to the specialized demands of workflow orchestration and the complexities of distributed execution environments. In this paper, we manually study 1000 sampled Stack Overflow posts derived from 9591 Airflow-related questions to understand developers’ challenges and root causes while implementing Workflows as Code. Our analysis results in a hierarchical taxonomy of Airflow-related challenges that contains 7 high-level categories and 14 sub-categories. We find that the most significant obstacles for developers arise when defining and executing their workflow. Our in-depth analysis identifies 10 root causes behind the challenges, including incorrect workflow configuration, complex environmental setup, and a lack of basic knowledge about Airflow and the external systems that it interacts with. Additionally, our analysis of references shared within the collected posts reveals that beyond the frequently cited Airflow documentation, documentation from external systems and third-party providers is also commonly referenced to address Airflow-related challenges.</div><div><em>Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board</em>.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112248"},"PeriodicalIF":3.7,"publicationDate":"2024-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142535345","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
Towards the UX Support to Software Startups: On the relationship of professional expertise and UX work in the Brazilian scenario 为软件初创企业提供用户体验支持:在巴西,专业知识与用户体验工作之间的关系
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-11 DOI: 10.1016/j.jss.2024.112246
Guilherme Corredato Guerino , Renato Balancieri , Gislaine Camila Lapasini Leal , Rafael Prikladnicki
{"title":"Towards the UX Support to Software Startups: On the relationship of professional expertise and UX work in the Brazilian scenario","authors":"Guilherme Corredato Guerino ,&nbsp;Renato Balancieri ,&nbsp;Gislaine Camila Lapasini Leal ,&nbsp;Rafael Prikladnicki","doi":"10.1016/j.jss.2024.112246","DOIUrl":"10.1016/j.jss.2024.112246","url":null,"abstract":"<div><div>One of the topics that can help startups create a more assertive product is User eXperience (UX). Recent research has dedicated efforts to investigate factors that support and hinder the application of UX practices in software startups. The expertise of the professional who applies UX practices is cited as one of that factors; however, its relationship to the application of practices and challenges remains a topic that needs investigation. This study aims to analyze the relationship between the UX expertise of professionals from Brazilian software startups and UX practices’ application. A survey was conducted with software startups (N = 90). We performed a descriptive analysis to answer the research questions and applied Multiple Correspondence Analysis (MCA) to check the relationship between variables. Thus, we verified that most software startups do not have a UX professional, and those who apply UX practices are the CEO or developers. We also found a relationship between challenges related to lack of experience, bias in applying practices, and obtaining valuable results with the lack of a UX professional. Finally, the MCA technique showed that some challenges are independent of professional expertise, such as difficulty identifying users to participate in practices and limited resources.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112246"},"PeriodicalIF":3.7,"publicationDate":"2024-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142534964","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 systematic review of fault tolerance techniques for smart city applications 系统回顾智慧城市应用的容错技术
IF 3.7 2区 计算机科学
Journal of Systems and Software Pub Date : 2024-10-11 DOI: 10.1016/j.jss.2024.112249
Kathiani Elisa de Souza , Fabiano Cutigi Ferrari , Valter Vieira de Camargo , Márcio Ribeiro , Jeff Offutt
{"title":"A systematic review of fault tolerance techniques for smart city applications","authors":"Kathiani Elisa de Souza ,&nbsp;Fabiano Cutigi Ferrari ,&nbsp;Valter Vieira de Camargo ,&nbsp;Márcio Ribeiro ,&nbsp;Jeff Offutt","doi":"10.1016/j.jss.2024.112249","DOIUrl":"10.1016/j.jss.2024.112249","url":null,"abstract":"<div><div>Smart City Applications encompass many characteristics that increase the risk of failures, such as context-awareness, adaptiveness, distribution and heterogeneity. Therefore, it is important to implement fault-tolerant mechanisms to produce more reliable applications. This study presents a systematic literature review of fault tolerance techniques that have been proposed for, or applied to Smart City Applications. It also characterizes faults, errors and failures that may occur in these systems. To the best of our knowledge, this is the first review that provides a broad picture of the research area and points out research limitations and directions. We selected 43 primary studies and performed initial classifications (<em>e.g.</em>, based on type of research, type of contribution, application domains and subdomains, and type of system architecture). We further classified and discussed the selected studies based on types of fault tolerance techniques and types of faults and failures. System Reconfiguration, Diversity, and Retry are classical techniques that have been investigated in this domain. Many fault and failure types have also been addressed. While those well-known techniques have been explored for introducing fault tolerance capabilities into Smart City Applications, others have been overlooked. Moreover, evidence on the effectiveness and applicability of the proposed fault tolerance solutions is still very limited.</div><div><em>Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board.</em></div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112249"},"PeriodicalIF":3.7,"publicationDate":"2024-10-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142535182","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学术官方微信