Semantic Change Impact Analysis
Semantic Change Impact Analysis
Matching Funds - Kärnten
Disciplines
Computer Sciences (100%)
Keywords
-
Change Extraction,
Change Impact Analysis,
Change And Impact Understanding,
Regression Test Selection,
Microservices,
Program Analysis
Over the last two decades, microservices have emerged as a new architectural style for the development of software applications consisting of a number of loosely coupled and reusable software components. Microservices are used, for example, in online shop applications, where each microservice provides a specific functionality. For example, one microservice provides the functionality for a shopping cart, while another microservice provides the functionality for payment. This is in contrast to monolithic software applications where all services would be implemented in a single component. The biggest advantages of microservices are that they can be developed, tested, deployed and reused independently. Although microservices are highly independent, there is a degree of coupling between them. This also means that changes to one microservice can cause unexpected side effects in other microservices. Consequently, the affected microservices may no longer function as expected, which can be very unsatisfactory for the users of the microservice. Therefore, software developers take various quality assurance measures to identify potential side effects of their changes and avoid errors. However, existing quality assurance methods and tools are imprecise and therefore potential side effects must be analyzed manually. This is not only time- consuming, but also error prone. The aim of this research project is to explore novel methods and techniques that enable software developers to accurately determine and understand the side effects of changes in a microservice. Determining possible side effects is challenging and usually not easy to calculate even for small programs, as the number of possible effects can quickly reach infinity. To overcome this challenge, we will explore different approaches to abstracting programs and interpreting the effects of individual changes. We will then experiment with different visualization techniques to help software developers understand the impact more quickly and accurately. In addition, we will investigate techniques to selectively choose test cases that use information about a change and its impact to reduce testing effort. We will implement our methods and techniques in several prototypes to evaluate them in experiments and user studies with open-source systems as well as systems and developers from our industry partners. All prototypes created in this project will be made publicly available as open source.
- Universität Klagenfurt - 100%
- Roland Kersche, Bitmovin GmbH , national collaboration partner
Research Output
- 39 Citations
- 3 Publications
-
2025
Title AutoGuard: Reporting Breaking Changes of REST APIs from Java Spring Boot Source Code DOI 10.1109/saner64311.2025.00083 Type Conference Proceeding Abstract Author Lercher A Pages 814-818 -
2024
Title Microservice API Evolution in Practice: A Study on Strategies and Challenges DOI 10.1016/j.jss.2024.112110 Type Journal Article Author Lercher A Journal Journal of Systems and Software Pages 112110 Link Publication -
2024
Title PASDA: A partition-based semantic differencing approach with best effort classification of undecided cases DOI 10.1016/j.jss.2024.112037 Type Journal Article Author Glock J Journal Journal of Systems and Software Pages 112037 Link Publication