{"title":"Safety Analysis Method for Cooperative Driving Systems","authors":"Y. Dajsuren, G. Loupias","doi":"10.1109/ICSA.2019.00027","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00027","url":null,"abstract":"This paper researches safety analysis for a cooperative driving system. The main objective is to assess how cooperative elements in an ISO 26262 item definition affect safety goals. The architectural model of a cooperative adaptive cruise control system is developed and its functional safety is analyzed using a combination of fault tree analysis and fault classification methods. The results show that inclusion of cooperative architecture perspective affects the safety goals of cooperative adaptive cruise control because ASIL determination is influenced by vehicle-to-vehicle communication faults.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128862182","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":"Guidelines for Architecting Android Apps: A Mixed-Method Empirical Study","authors":"R. Verdecchia, I. Malavolta, P. Lago","doi":"10.1109/ICSA.2019.00023","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00023","url":null,"abstract":"For surviving in the highly competitive market of Android apps, it is fundamental for app developers to deliver apps of high quality and with short release times. A well-architected Android app is beneficial for developers, e.g. in terms of maintainability, testability, performance, and avoidance of resource leaks. However, how to properly architect Android apps is still debated and subject to conflicting opinions usually influenced by technological hypes rather than objective evidence. In this paper we present an empirical study on how developers architect Android apps, what architectural patterns and practices Android apps are based on, and their potential impact on quality. We apply a mixed-method empirical research design that combines (i) semi-structured interviews with Android practitioners in the field and (ii) a systematic analysis of both the grey (i.e., websites, Online blogs) and white literature (i.e., academic studies) on the architecture of Android apps. Based on the analysis of the state of the art and practice about architecting Android apps, we systematically extract a set of 42 evidence-based guidelines supporting developers when architecting their Android apps.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131780496","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":"Synchronous Reconfiguration of Distributed Embedded Applications During Operation","authors":"Kilian Telschig, Alexander Knapp","doi":"10.1109/ICSA.2019.00021","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00021","url":null,"abstract":"Speed of adaptation to changing demand is a critical success factor in factory automation. The key to speed is to enable agile development by independent engineer offices and equipment producers with industrial-grade microservice architectures. The expensive drawback is: While software components evolve over time, manufacturers have to integrate and deploy more and more updates during costly production stops. To avoid production stops as much as possible, we propose reconfiguration extensions to a real-time container architecture proposed earlier. The original container approach addresses both the functional and nonfunctional aspects of integrating embedded software components in late engineering phases. The extended approach allows modifications of the running distributed embedded application even during operation, while continuously ensuring reactivity of the system. The agents running on each node prepare the reconfiguration in background and then synchronously perform the required modifications according to a detailed reconfiguration plan. We demonstrate our concept by describing a synchronous API change between two distributed software components of a running gesture recognition system. An evaluation shows the feasibility of the concepts, but also calls for further research.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121015252","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}
Simon Eismann, Johannes Grohmann, J. Walter, J. V. Kistowski, Samuel Kounev
{"title":"Integrating Statistical Response Time Models in Architectural Performance Models","authors":"Simon Eismann, Johannes Grohmann, J. Walter, J. V. Kistowski, Samuel Kounev","doi":"10.1109/ICSA.2019.00016","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00016","url":null,"abstract":"Performance predictions enable software architects to optimize the performance of a software system early in the development cycle. Architectural performance models and statistical response time models are commonly used to derive these performance predictions. However, both methods have significant downsides: Statistical response time models can only predict scenarios for which training data is available, making the prediction of previously unseen system configurations infeasible. In contrast, the time required to simulate an architectural performance model increases exponentially with both system size and level of modeling detail, making the analysis of large, detailed models challenging. Existing approaches use statistical response time models in architectural performance models to avoid modeling subsystems that are difficult or time-consuming to model, yet they do not consider simulation time. In this paper, we propose to model software systems using classical queuing theory and statistical response time models in parallel. This approach allows users to tailor the model for each analysis run, based on the performed adaptations and the requested performance metrics. Our approach enables faster model solution compared to traditional performance models while retaining their ability to predict previously unseen scenarios. In our experiments we observed speedups of up to 94.8%, making the analysis of much larger and more detailed systems feasible.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125173137","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":"Mitigating the Influence of Embedded Software Development Environments and Toolsets (ESDT) on Software Architecture","authors":"J. Jahic, Peter Enbrecht, U. Mayer, P. Antonino","doi":"10.1109/ICSA.2019.00020","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00020","url":null,"abstract":"One of the first tasks in engineering embedded systems is the selection of the hardware; more specifically, the MicroController Units (MCUs). This selection is driven by business, technical, organizational, and legal constraints. Often, the hardware is delivered together with proprietary environments in which the software to be deployed has to be developed. This imposes architecturally significant constraints that are usually communicated inappropriately (in terms of time and format) to the engineering team. Examples are the usage of proprietary data types and programming language constructs (e.g., macros in C) and limitations to the reuse of existing software assets. To overcome this challenge, we propose an approach that has two main constituents: (i) the Embedded System Checklist, which aims at guiding the selection of MCUs according to the architecture constraints; and (ii) the Embedded System ESDT Dependency (SED) Architecture View, which connects the software design view with the technical view, describing hardware-related development environment limitations and their influences on the software architecture. We evaluated the application of these concepts in two industrial projects and show that making these dependencies transparent saves a lot of effort during software system development.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121447818","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}
Danielle Gonzalez, Fawaz Alhenaki, Mehdi Mirakhorli
{"title":"Architectural Security Weaknesses in Industrial Control Systems (ICS) an Empirical Study Based on Disclosed Software Vulnerabilities","authors":"Danielle Gonzalez, Fawaz Alhenaki, Mehdi Mirakhorli","doi":"10.1109/ICSA.2019.00012","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00012","url":null,"abstract":"Industrial control systems (ICS) are systems used in critical infrastructures for supervisory control, data acquisition, and industrial automation. ICS systems have complex, component-based architectures with many different hardware, software, and human factors interacting in real time. Despite the importance of security concerns in industrial control systems, there has not been a comprehensive study that examined common security architectural weaknesses in this domain. Therefore, this paper presents the first in-depth analysis of 988 vulnerability advisory reports for Industrial Control Systems developed by 277 vendors. We performed a detailed analysis of the vulnerability reports to measure which components of ICS have been affected the most by known vulnerabilities, which security tactics were affected most often in ICS and what are the common architectural security weaknesses in these systems. Our key findings were: (1) Human-Machine Interfaces, SCADA configurations, and PLCs were the most affected components, (2) 62.86% of vulnerability disclosures in ICS had an architectural root cause, (3) the most common architectural weaknesses were “Improper Input Validation”, followed by “Im-proper Neutralization of Input During Web Page Generation” and “Improper Authentication”, and (4) most tactic-related vulnerabilities were related to the tactics “Validate Inputs”, “Authenticate Actors” and “Authorize Actors”.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133888324","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}
Laurens Sion, Pierre Dewitte, D. Landuyt, Kim Wuyts, I. Emanuilov, P. Valcke, W. Joosen
{"title":"An Architectural View for Data Protection by Design","authors":"Laurens Sion, Pierre Dewitte, D. Landuyt, Kim Wuyts, I. Emanuilov, P. Valcke, W. Joosen","doi":"10.1109/ICSA.2019.00010","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00010","url":null,"abstract":"Data Protection by Design (DPbD) is a truly interdisciplinary effort that involves many stakeholders such as legal experts, requirements engineers, software architects, developers, and system operators. Building software-intensive systems that respect the fundamental rights to privacy and data protection is the result of intensive dialogue and careful trade-off decisions. In practice however, there is a dichotomy between the legal reasoning which is conducted in Data Protection Impact Assessments (DPIA) and software engineering approaches, such as threat modeling, aimed at identifying privacy requirements and privacy risks. These activities are commonly performed in total isolation, which negatively impacts (i) the compliance exercise, (ii) the ability to evolve the system over time, and (iii) the architectural trade-offs made during system design. In this article, we present an architectural viewpoint for describing software architectures from a legal, data protection perspective whose core modeling abstractions are based on an in-depth legal analysis of the EU General Data Protection Regulation. This viewpoint is tied to Data Flow Diagrams-commonly used in threat modeling-through correspondence rules. The proposed viewpoint supports the automation of a number of data protection impact assessment steps through (i) meta-model constraints, (ii) model analysis, and (iii) interaction with the involved stakeholders. This enables a streamlined compliance exercise, reconciling legal privacy and data protection notions with architecture-driven software engineering practices. We validate our approach in the context of a realistic e-health application for a number of complementary development scenarios.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121411420","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}
Torvald Mårtensson, Daniel Ståhl, A. Martini, J. Bosch
{"title":"Continuous Architecture: Towards the Goldilocks Zone and Away from Vicious Circles","authors":"Torvald Mårtensson, Daniel Ståhl, A. Martini, J. Bosch","doi":"10.1109/ICSA.2019.00022","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00022","url":null,"abstract":"This paper identifies three improvement areas related to system design and architecture, where an organization can change to better support continuous integration and continuous delivery: “The product's architecture”, “Ways to work with system design and architecture”, and “The role of the architect”. The three improvement areas are based on a literature review, two series of interviews and a cross-company workshop with three case-study companies. Furthermore, the paper proposes three actionable strategies corresponding to the three identified improvement areas: “Systems with a modular and loosely coupled architecture”, “A balanced approach where system design and architecture is focused on the system's most important characteristics”, and “Architects shifting perspective from control to facilitation”.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126404983","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":"Aspect-Oriented Modeling of Technology Heterogeneity in Microservice Architecture","authors":"Florian Rademacher, S. Sachweh, Albert Zündorf","doi":"10.1109/ICSA.2019.00011","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00011","url":null,"abstract":"Microservice Architecture (MSA) is a novel approach for the development and deployment of service-based software systems. MSA puts a strong emphasis on loose coupling and high cohesion of services. This increases service-specific independence, which is considered to result in a better scalability, adaptability, and quality of software architectures. Another perceived benefit of adopting MSA is technology heterogeneity. Microservice teams are free to employ the technologies they deem to be most appropriate for service implementation and operation. However, technology heterogeneity increases the number of technologies in a microservice architecture with the risk to introduce technical debt and steeper learning curves for team members. In this paper, we present an approach to streamline the usage of different technologies in MSA-based software systems. It employs Aspect-oriented Modeling to make technology decisions in microservice architectures explicit and enable reasoning about them. Therefore, a set of languages for model-driven microservice development is extended with means to define, modularize, and apply MSA technology aspects. The usage and characteristics of our approach are shown and discussed in the context of a case study from the mobility domain.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130931612","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":"Improving the Consistency and Usefulness of Architecture Descriptions: Guidelines for Architects","authors":"Rebekka Wohlrab, Ulf Eliasson, Patrizio Pelliccione, Rogardt Heldal","doi":"10.1109/ICSA.2019.00024","DOIUrl":"https://doi.org/10.1109/ICSA.2019.00024","url":null,"abstract":"The need to support software architecture evolution has been well recognized, even more since the rise of agile methods. However, assuring the conformance between architecture descriptions and the implementation remains challenging. Inconsistencies emanate among multiple architecture descriptions, and between architecture descriptions and code. As a consequence, architecture descriptions are not always trusted and used to the extent that their authors wish for. In this paper, we present two surveys with 93 and 72 participants to examine architectural inconsistencies, with a focus on how they evolve over time and can be mitigated using practical guidelines. We identified the importance of capturing emerging elements to keep the architecture description consistent with the implementation, and consider the current-state and future-state architecture separately. Consequences of inconsistencies typically arise at later stages, especially if an architecture description concerns multiple teams. Our guidelines suggest to limit the upfront architecture to stable decisions, while paying attention to concerns that matter across team borders. In the ideal case, companies should aim to integrate architects into the teams to capture emerging aspects with time.","PeriodicalId":426352,"journal":{"name":"2019 IEEE International Conference on Software Architecture (ICSA)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129863966","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}