{"title":"Using Gossip Enabled Distributed Circuit Breaking for Improving Resiliency of Distributed Systems","authors":"Aashay Palliwar, Srinivas Pinisetty","doi":"10.1109/ICSA53651.2022.00010","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00010","url":null,"abstract":"Distributed systems are rife with failures. Several resiliency patterns are used to improve the ability of these systems to tolerate faults and maintain functionality. The circuit breaker pattern is a popular resiliency pattern that is especially suitable for the case when the faults causing dependency failures take a variable amount of time to resolve. In this paper, we propose a modification to the traditional circuit breaker pattern. We also propose a gossip-based information dissemination protocol that enables the (modified) circuit breakers deployed on multiple client-service instances to take a concerted and more informed decision when a common dependency is facing persistent failures. We formally model the client-server systems that use traditional and the proposed distributed circuit breaker patterns in UPPAAL to analyze and compare their performance. The statistical model checking queries performed on the models show that, as compared to the traditional circuit breaker pattern, the distributed version results in fewer unsuccessful requests, that consume system/network resources, with practically the same total execution time under various availability conditions - only at the famously low cost of a robust gossip-based information dissemination protocol.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133789242","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Architectural Attack Propagation Analysis for Identifying Confidentiality Issues","authors":"Maximilian Walter, R. Heinrich, R. Reussner","doi":"10.1109/ICSA53651.2022.00009","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00009","url":null,"abstract":"Exchanging data between different systems enables us to build new smart services and digitise various areas of our daily life. This digitalisation leads to more efficient usage of resources, and an increased monetary value. However, the connection of different systems also increases the number of potential vulnerabilities. The vulnerabilities on their own might be harmless, but attackers could build attack paths based on the combination of different vulnerabilities. Additionally, attackers might exploit existing access control policies to further propagate through the system. For analysing this dependency between vulnerabilities and access control policies, we extended an architecture description language (ADL) to model access control policies and specify vulnerabilities. We developed an attack propagation analysis operating on the extended ADL, which can help to determine confidentiality violations in a system. We evaluated our approach by analysing the accuracy and the effort compared to a manual analysis using different scenarios in three case studies. The results indicate that our analysis is capable of identifying attack paths and reducing the effort compared to manual detection.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130157818","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Fahed Alkhabbas, Martina De Sanctis, A. Bucchiarone, A. Cicchetti, Romina Spalazzese, P. Davidsson, Ludovico Iovino
{"title":"ROUTE: A Framework for Customizable Smart Mobility Planners","authors":"Fahed Alkhabbas, Martina De Sanctis, A. Bucchiarone, A. Cicchetti, Romina Spalazzese, P. Davidsson, Ludovico Iovino","doi":"10.1109/ICSA53651.2022.00024","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00024","url":null,"abstract":"Multimodal journey planners are used worldwide to support travelers in planning and executing their journeys. Generated travel plans usually involve local mobility service providers, consider some travelers’ preferences, and provide travelers information about the routes’ current status and expected delays. However, those planners cannot fully consider the special situations of individual cities when providing travel planning services. Specifically, authorities of different cities might define customizable regulations or constraints of movements in the cities (e.g., due to construction works or pandemics). Moreover, with the transformation of traditional cities into smart cities, travel planners could leverage advanced monitoring features. Finally, most planners do not consider relevant information impacting travel plans, for instance, information that might be provided by travelers (e.g., a crowded square) or by mobility service providers (e.g., changing the timetable of a bus). To address the aforementioned shortcomings, in this paper, we propose ROUTE, a framework for customizable smart mobility planners that better serve the needs of travelers, local authorities, and mobility service providers in the dynamic ecosystem of smart cities. ROUTE is composed of an architecture, a process, and a prototype developed to validate the feasibility of the framework. Experiments’ results show that the framework scales well in both centralized and distributed deployment settings.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116548798","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Untangling the Knot: Enabling Architecture Evolution with Search-Based Refactoring","authors":"James Ivers, Chris Seifried, I. Ozkaya","doi":"10.1109/ICSA53651.2022.00018","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00018","url":null,"abstract":"Software-reliant systems need to evolve over time to meet new requirements and take advantage of new technology. However, all too often the structure of software becomes too complex to allow rapid and cost-effective improvements. This increasing complexity is often also a sign of degrading software architecture, making isolating a portion of software for use in a new context or for clean replacement by an improved version difficult. Isolating entangled software from the rest of the architecture typically relies on manual efforts to refactor code that can take thousands of days of effort, as tools provide only limited support for such activities. In this paper, we describe a search-based algorithm that recommends a series of refactorings that collectively isolate specified software from its tangle of architectural dependencies. This approach generates recommendations that reduce problematic dependencies by more than 87% on codebases as large as 1.2M LOC and has the potential to reduce the effort required for this kind of architecture improvement by two-thirds. In walkthroughs, developers found more than 84% of the recommended refactorings acceptable. Our approach provides a much needed foundation for tool support that addresses challenges commonly encountered when improving the architecture of existing software.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128151746","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
G. Vale, F. F. Correia, E. Guerra, T. Rosa, J. Fritzsch, J. Bogner
{"title":"Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs","authors":"G. Vale, F. F. Correia, E. Guerra, T. Rosa, J. Fritzsch, J. Bogner","doi":"10.1109/ICSA53651.2022.00015","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00015","url":null,"abstract":"The promise of increased agility, autonomy, scalability, and reusability has made the microservices architecture a de facto standard for the development of large-scale and cloud-native commercial applications. Software patterns are an important design tool, and often they are selected and combined with the goal of obtaining a set of desired quality attributes. However, from a research standpoint, many patterns have not been widely validated against industry practice, making them not much more than interesting theories. To address this, we investigated how practitioners perceive the impact of 14 patterns on 7 quality attributes. Hence, we conducted 9 semi-structured interviews to collect industry expertise regarding (1) knowledge and adoption of software patterns, (2) the perceived architectural trade-offs of patterns, and (3) metrics professionals use to measure quality attributes. We found that many of the trade-offs reported in our study matched the documentation of each respective pattern, and identified several gains and pains which have not yet been reported, leading to novel insight about microservice patterns.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-01-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131340270","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
M. T. Moghaddam, H. Muccini, J. Dugdale, M. Kjærgaard
{"title":"Designing Internet of Behaviors Systems","authors":"M. T. Moghaddam, H. Muccini, J. Dugdale, M. Kjærgaard","doi":"10.1109/ICSA53651.2022.00020","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00020","url":null,"abstract":"The Internet of Behaviors (IoB) puts human behavior at the core of engineering intelligent connected systems. IoB links the digital world to human behavior to integrate human-driven design, development, and adaptation processes. This paper defines the novel IoB concept with a constructed model based on a collective effort interacting with software engineers, human-computer interaction scientists, social scientists, and cognitive science communities. The model for IoB is created based on an exploratory study that synthesizes state-of-the-art analysis and experts interviews. The architecture of a real industry 4.0 manufacturing infrastructure helps to explain the IoB model and its application. The conceptual model was used to successfully implement a socio-technical infrastructure for a crowd monitoring and queue management system for the Uffizi Galleries, Florence, Italy. The experiment, which started in the fall of 2016 and was operational in the fall of 2018, used a data-driven approach to feed the system with real-time sensory data. It also incorporated prediction models on visitors’ mobility behavior. The system’s main objective was to capture human behavior, model it, and build a mechanism that considers changes, adapts in real-time, and continuously learns from repetitive behaviors. In addition to the conceptual model and the real-life evaluation, this paper provides recommendations from experts and gives future directions for IoB to become a significant technological advancement in the coming years.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-01-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115319910","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Ruiyin Li, Mohamed Soliman, Peng Liang, P. Avgeriou
{"title":"Symptoms of Architecture Erosion in Code Reviews: A Study of Two OpenStack Projects","authors":"Ruiyin Li, Mohamed Soliman, Peng Liang, P. Avgeriou","doi":"10.1109/ICSA53651.2022.00011","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00011","url":null,"abstract":"The phenomenon of architecture erosion can negatively impact the maintenance and evolution of software systems, and manifest in a variety of symptoms during software development. While erosion is often considered rather late, its symptoms can act as early warnings to software developers, if detected in time. In addition to static source code analysis, code reviews can be a source of detecting erosion symptoms and subsequently taking action. In this study, we investigate the erosion symptoms discussed in code reviews, as well as their trends, and the actions taken by developers. Specifically, we conducted an empirical study with the two most active Open Source Software (OSS) projects in the OpenStack community (i.e., Nova and Neutron). We manually checked 21,274 code review comments retrieved by keyword search and random selection, and identified 502 code review comments (from 472 discussion threads) that discuss erosion. Our findings show that (1) the proportion of erosion symptoms is rather low, yet notable in code reviews and the most frequently identified erosion symptoms are architectural violation, duplicate functionality, and cyclic dependency; (2) the declining trend of the identified erosion symptoms in the two OSS projects indicates that the architecture tends to stabilize over time; and (3) most code reviews that identify erosion symptoms have a positive impact on removing erosion symptoms, but a few symptoms still remain and are ignored by developers. The results suggest that (1) code review provides a practical way to reduce erosion symptoms; and (2) analyzing the trend of erosion symptoms can help get an insight about the erosion status of software systems, and subsequently avoid the potential risk of architecture erosion.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"1997 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-01-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125587611","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Musengamana Jean de Dieu, Peng Liang, Mojtaba Shahin
{"title":"How Do Developers Search for Architectural Information? An Industrial Survey","authors":"Musengamana Jean de Dieu, Peng Liang, Mojtaba Shahin","doi":"10.1109/ICSA53651.2022.00014","DOIUrl":"https://doi.org/10.1109/ICSA53651.2022.00014","url":null,"abstract":"Building software systems often requires knowledge and skills beyond what developers already possess. In such cases, developers have to leverage different sources of information to seek help. A growing number of researchers and practitioners have started investigating what programming-related information developers seek during software development. However, being a high level and a type of the most important development-related information, architectural information search activity is seldom explored. To fill this gap, we conducted an industrial survey completed by 103 participants to understand how developers search for architectural information to solve their architectural problems in development. Our main findings are: (1) searching for architectural information to learn about the pros and cons of certain architectural solutions (e.g., patterns, tactics) and to make an architecture decision among multiple choices are the most frequent purposes or tasks; (2) developers find difficulties mostly in getting relevant architectural information for addressing quality concerns and making design decisions among multiple choices when seeking architectural information; (3) taking too much time to go through architectural information retrieved from various sources and feeling overwhelmed due to the dispersion and abundance of architectural information in various sources are the top two major challenges developers face when searching for architectural information. Our findings (1) provide researchers with future directions, such as the design and development of approaches and tools for searching architectural information from multiple sources, and (2) can be used to provide guidelines for practitioners to refer to when seeking architectural information and providing architectural information that could be considered useful.","PeriodicalId":179123,"journal":{"name":"2022 IEEE 19th International Conference on Software Architecture (ICSA)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133771417","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}