Luka Lelovic , Austin Huzinga , Gabriel Goulis , Anshpreet Kaur , Ricardo Boone , Umidjon Muzrapov , Amr S. Abdelfattah , Tomas Cerny
{"title":"微服务系统中的变更影响分析:系统性文献综述","authors":"Luka Lelovic , Austin Huzinga , Gabriel Goulis , Anshpreet Kaur , Ricardo Boone , Umidjon Muzrapov , Amr S. Abdelfattah , Tomas Cerny","doi":"10.1016/j.jss.2024.112241","DOIUrl":null,"url":null,"abstract":"<div><h3>Background:</h3><div>Change impact analysis is crucial in software development, especially when working with large and complex systems. It aims to identify the potential consequences of a change or estimate what needs to be modified to accomplish a change. The importance of such an analysis multiplies in decentralized environments. Microservice systems are decentralized and represent the current industry mainstream for scalable systems.</div></div><div><h3>Objective:</h3><div>While individual microservices intend to be self-contained and independent, certain overlap with other microservices is inevitable since they interact. In the context of microservice systems, changes in one microservice can affect other microservices without a direct connection, leading to ripple effects and extended maintenance efforts. To understand the current state of the art for microservices with respect to the change impact analysis, the objective of this work is to study and analyze existing literature to summarize the evidence and to provide readers with a roadmap to established approaches.</div></div><div><h3>Methods:</h3><div>We conduct a systematic literature review targeting studies related to change impact analysis in microservices. The study considered 1,669 papers and filtered them down to 29 works included in this study.</div></div><div><h3>Results:</h3><div>This manuscript introduces different types of change impacts introduced in the literature. It compares and categorizes tools and methods that have been used in literature to measure the impact of change in microservices. It illustrates what units of measure have been used. Finally, it shares system benchmarks used to assess change impact analysis methods.</div></div><div><h3>Open Challenges.</h3><div>A number of open challenges and gaps are found in the tools and methods. These challenges are related to the improvement of the detection techniques, additional impact analysis, and validation of approaches. Many of the solutions measure a specific aspect of an impacted system, without taking into account multiple effects. Impact analysis is seen as measured indirectly by these solutions as well, and more direct observation is needed.</div></div><div><h3>Conclusion:</h3><div>The results provide a reference to microservice developers and quality engineers to maintain better-quality systems. With a roadmap to the topic, our researcher peers might easily understand various directions that have been approached on this topic. Finally, this work serves as a reference for development-aiding tools helping to manage microservice system evolution.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112241"},"PeriodicalIF":3.7000,"publicationDate":"2024-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Change impact analysis in microservice systems: A systematic literature review\",\"authors\":\"Luka Lelovic , Austin Huzinga , Gabriel Goulis , Anshpreet Kaur , Ricardo Boone , Umidjon Muzrapov , Amr S. Abdelfattah , Tomas Cerny\",\"doi\":\"10.1016/j.jss.2024.112241\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><h3>Background:</h3><div>Change impact analysis is crucial in software development, especially when working with large and complex systems. It aims to identify the potential consequences of a change or estimate what needs to be modified to accomplish a change. The importance of such an analysis multiplies in decentralized environments. Microservice systems are decentralized and represent the current industry mainstream for scalable systems.</div></div><div><h3>Objective:</h3><div>While individual microservices intend to be self-contained and independent, certain overlap with other microservices is inevitable since they interact. In the context of microservice systems, changes in one microservice can affect other microservices without a direct connection, leading to ripple effects and extended maintenance efforts. To understand the current state of the art for microservices with respect to the change impact analysis, the objective of this work is to study and analyze existing literature to summarize the evidence and to provide readers with a roadmap to established approaches.</div></div><div><h3>Methods:</h3><div>We conduct a systematic literature review targeting studies related to change impact analysis in microservices. The study considered 1,669 papers and filtered them down to 29 works included in this study.</div></div><div><h3>Results:</h3><div>This manuscript introduces different types of change impacts introduced in the literature. It compares and categorizes tools and methods that have been used in literature to measure the impact of change in microservices. It illustrates what units of measure have been used. Finally, it shares system benchmarks used to assess change impact analysis methods.</div></div><div><h3>Open Challenges.</h3><div>A number of open challenges and gaps are found in the tools and methods. These challenges are related to the improvement of the detection techniques, additional impact analysis, and validation of approaches. Many of the solutions measure a specific aspect of an impacted system, without taking into account multiple effects. Impact analysis is seen as measured indirectly by these solutions as well, and more direct observation is needed.</div></div><div><h3>Conclusion:</h3><div>The results provide a reference to microservice developers and quality engineers to maintain better-quality systems. With a roadmap to the topic, our researcher peers might easily understand various directions that have been approached on this topic. Finally, this work serves as a reference for development-aiding tools helping to manage microservice system evolution.</div></div>\",\"PeriodicalId\":51099,\"journal\":{\"name\":\"Journal of Systems and Software\",\"volume\":\"219 \",\"pages\":\"Article 112241\"},\"PeriodicalIF\":3.7000,\"publicationDate\":\"2024-10-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Systems and Software\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0164121224002851\",\"RegionNum\":2,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems and Software","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0164121224002851","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
Change impact analysis in microservice systems: A systematic literature review
Background:
Change impact analysis is crucial in software development, especially when working with large and complex systems. It aims to identify the potential consequences of a change or estimate what needs to be modified to accomplish a change. The importance of such an analysis multiplies in decentralized environments. Microservice systems are decentralized and represent the current industry mainstream for scalable systems.
Objective:
While individual microservices intend to be self-contained and independent, certain overlap with other microservices is inevitable since they interact. In the context of microservice systems, changes in one microservice can affect other microservices without a direct connection, leading to ripple effects and extended maintenance efforts. To understand the current state of the art for microservices with respect to the change impact analysis, the objective of this work is to study and analyze existing literature to summarize the evidence and to provide readers with a roadmap to established approaches.
Methods:
We conduct a systematic literature review targeting studies related to change impact analysis in microservices. The study considered 1,669 papers and filtered them down to 29 works included in this study.
Results:
This manuscript introduces different types of change impacts introduced in the literature. It compares and categorizes tools and methods that have been used in literature to measure the impact of change in microservices. It illustrates what units of measure have been used. Finally, it shares system benchmarks used to assess change impact analysis methods.
Open Challenges.
A number of open challenges and gaps are found in the tools and methods. These challenges are related to the improvement of the detection techniques, additional impact analysis, and validation of approaches. Many of the solutions measure a specific aspect of an impacted system, without taking into account multiple effects. Impact analysis is seen as measured indirectly by these solutions as well, and more direct observation is needed.
Conclusion:
The results provide a reference to microservice developers and quality engineers to maintain better-quality systems. With a roadmap to the topic, our researcher peers might easily understand various directions that have been approached on this topic. Finally, this work serves as a reference for development-aiding tools helping to manage microservice system evolution.
期刊介绍:
The Journal of Systems and Software publishes papers covering all aspects of software engineering and related hardware-software-systems issues. All articles should include a validation of the idea presented, e.g. through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to:
•Methods and tools for, and empirical studies on, software requirements, design, architecture, verification and validation, maintenance and evolution
•Agile, model-driven, service-oriented, open source and global software development
•Approaches for mobile, multiprocessing, real-time, distributed, cloud-based, dependable and virtualized systems
•Human factors and management concerns of software development
•Data management and big data issues of software systems
•Metrics and evaluation, data mining of software development resources
•Business and economic aspects of software development processes
The journal welcomes state-of-the-art surveys and reports of practical experience for all of these topics.