{"title":"Can Network Analysis Techniques Help to Predict Design Dependencies? An Initial Study","authors":"J. A. D. Pace, Antonela Tommasel, D. Godoy","doi":"10.1109/ICSA-C.2018.00025","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00025","url":null,"abstract":"The degree of dependencies among the modules of a software system is a key attribute to characterize its design structure and its ability to evolve over time. Several design problems are often correlated with undesired dependencies among modules. Being able to anticipate those problems is important for developers, so they can plan early for maintenance and refactoring efforts. However, existing tools are limited to detecting undesired dependencies once they appeared in the system. In this work, we investigate whether module dependencies can be predicted (before they actually appear). Since the module structure can be regarded as a network, i.e, a dependency graph, we leverage on network features to analyze the dynamics of such a structure. In particular, we apply link prediction techniques for this task. We conducted an evaluation on two Java projects across several versions, using link prediction and machine learning techniques, and assessed their performance for identifying new dependencies from a project version to the next one. The results, although preliminary, show that the link prediction approach is feasible for package dependencies. Also, this work opens opportunities for further development of software-specific strategies for dependency prediction.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122779246","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":"New and Emerging Ideas Track 2018","authors":"I. Ozkaya, Liming Zhu","doi":"10.1109/ICSA-C.2018.00020","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00020","url":null,"abstract":"The goal of the New and Emerging Ideas (NEMI) track at ICSA 2018 is to encourage the software architecture community to propose radical new software architecture research visions and ideas, which can challenge the status quo of the software discipline and point to new directions.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131948367","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":"A Case Study for Workflow-Based Automation in the Internet of Things","authors":"Ronny Seiger, U. Assmann, Steffen Huber","doi":"10.1109/ICSA-C.2018.00011","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00011","url":null,"abstract":"The application of workflow technologies in the context of Internet of Things (IoT) presents a young and vibrant research field. Introducing a dedicated workflow layer on top of typical software architectures to model and execute repetitive tasks among IoT devices, systems and services facilitates the flexibility, reuse, configuration and programming of processes in the IoT. In this work we present the PROtEUS IoT workflow management system (WfMS) and its application for automating typical processes in a Smart Home case study.We conduct various experiments to show the system’s capabilities and suitability to be used as an IoT WfMS interacting with sensors, actuators, robots, humans and smart objects. PROtEUS integrates components for dynamic service selection, complex event processing, human interactions and self-adaptation, which makes it a WfMS able to cope with new IoT-related challenges.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128308123","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":"Traceable Threat Modeling for Safety-Critical Systems","authors":"Johannes Geismann","doi":"10.1109/ICSA-C.2018.00017","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00017","url":null,"abstract":"In the past years, the security of cyber-physical systems has become an increasingly important topic. Threat modeling techniques allow engineers to analyze potential threats at early development steps. Existing techniques are insufficient for the development of cyber-physical systems because they do not account for the specific architecture of these systems, i.e., the interplay of the cyber and the physical parts of the systems and their interdisciplinary development. In this paper, I present my ideas for a planned Ph.D. thesis developing a new threat-modeling approach tailored for the interdisciplinary development of cyber-physical systems.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"729 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133023538","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":"SPARTA: Security & Privacy Architecture Through Risk-Driven Threat Assessment","authors":"Laurens Sion, D. Landuyt, Koen Yskout, W. Joosen","doi":"10.1109/ICSA-C.2018.00032","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00032","url":null,"abstract":"The development of secure and privacy-preserving software systems entails the continuous consideration of the security and privacy aspects of the system under development. While contemporary software development practices do support such a continuous approach towards software development, existing threat modeling activities are commonly executed as single-shot efforts leading to a single, historic, and quickly obsolete view on the security and privacy of the system. This disconnect leads to undetected new issues and wasted efforts on already resolved problems, effectively accruing technical debt. The presented SPARTA prototype facilitates the consideration of security and privacy by providing support for: (i) capturing security and privacy design decisions in a DFD-based architectural abstraction, (ii) continuous threat elicitation on this knowledge-enriched abstraction, and (iii) risk analysis of the elicited threats for prioritizing security and privacy efforts. By capturing and continuously assessing the impact of security and privacy design decisions on the elicited threats, the progress towards securing the system can be assessed and alternatives can be compared, taking into account past and present design decisions.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130540377","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":"Innovation Welcome: An Agile Approach to Model-Based Development of Safety-Critical Embedded Systems","authors":"J. Mills, R. Turin, J. Mangas, S. Ranville","doi":"10.1109/ICSA-C.2018.00045","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00045","url":null,"abstract":"From concept to production, intelligent tools are needed to pave the way for stress-free development of complex automotive embedded systems. While automotive products depend more and more on software as the distinguishing feature to achieve a competitive edge, the addition of software features to the overall system functionality comes at a hefty price. As the development times become shorter and shorter, the simultaneous increase in complexity demands diligent partitioning of the software development tasks and ultimately the collaboration of many multi-disciplinary development teams that work in parallel. This leads to a multitude of independently developed software artifacts, each of which will eventually be required to seamlessly integrate into the overall system architecture. Of course, such a seamless integration can ultimately only be achieved if the artifact development follows a very disciplined, if not rigid, development process. However, the more the process is policed, the more the feature engineers will be required to follow procedure and the less they will be able to exploit their creative potential. This is a conundrum that is hard to solve. Rigid development rules are necessary to ensure functional safety, artifact integrity, and consistency throughout the development process. On the other hand, agile development that facilitates product innovation on a functional level is necessary to gain a competitive edge. The two objectives, if viewed within the context of a traditional software development process, are competing objectives and one typically has to be content with a compromise. But what if there is a way to achieve both objectives simultaneously? What if there is a way to delegate the policing to a suite of intelligent development tools that shelter each feature developer when unleashing his/her creative potential? This presentation describes a new, agile, architecture-centric software development paradigm and a companion tool framework that facilitates stress and error-free software development across all stages of a production software development program that is highly agnostic to the specific business rules of an organization.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124009237","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":"How to Evaluate Software Architectures: Tutorial on Practical Insights on Architecture Evaluation Projects with Industrial Customers","authors":"Matthias Naab, Dominik Rost","doi":"10.1109/ICSA-C.2018.00008","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00008","url":null,"abstract":"Thorough and continuous architecting is the key to overall success in software engineering, and architecture evaluation is a crucial part of it. This tutorial presents a pragmatic architecture evaluation approach and insights gained from its application in more than 75 projects with industrial customers in the past decade. It presents context factors, empirical data, and example cases, as well as lessons learned on mitigating the risk of change through architecture evaluation. By providing comprehensive answers to many typical questions and discussing more frequent mistakes and lessons learned, the tutorial allows the audience to not only learn how to conduct architecture evaluations and interpret its results, but also to become aware of risks such as false conclusions, manipulating data, and unsound lines of argument. It equips the audience to become confident in assessing quantitative measurement results and recognize when it is better to rely on qualitative expertise. The target audience includes both practitioners and researchers. By demonstrating its impact and providing clear guidelines, data, and examples, it encourages practitioners to conduct architecture evaluations. At the same time, it offers researchers insights into industrial architecture evaluations, which serve as the basis for guiding research in this area and will inspire future research directions. Both groups will get an overview of the foundations and history of architecture evaluation. The tutorial covers the following important aspects of architecture evaluation • Architecture drivers: types of drivers, importance of drivers, elicitation of drivers, documentation of drivers as architecture scenarios • Solution Adequacy Check: check whether an architecture is adequate for its drivers, what are risks, assumptions, tradeoffs (based on ATAM (architecture tradeoff analysis method) and enhanced with other techniques for increasing confidence of results) • Documentation Quality Check: How adequate is the documentation of an architecture to be understandable and to serve its purposes? • Architecture Compliance Check: How to check whether an intended architecture is consistently reflected in the source code? For all aspects, pragmatic methodical support is provided in the tutorial and all checks are well integrated in the overall architecture evaluation method.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127850204","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":"Engineering Software Architectures of Blockchain-Oriented Applications","authors":"F. Wessling, V. Gruhn","doi":"10.1109/ICSA-C.2018.00019","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00019","url":null,"abstract":"Building blockchain-oriented applications forces developers to rethink the architecture of their software from the ground up. The use of blockchain technology poses multiple challenges as the software is operated in a decentralized, trustless, transparent and tamper-proof environment. When building decentralized apps the developers need to deal with blockchain properties such as decentralization, a certain delay in the execution of function calls of distributed code contracts and particularly need to consider how users interact with their application. We surveyed several existing decentralized apps and examined their architecture to identify multiple reoccurring architectural patterns, each with different implications regarding the trust, user experience and security. As building blockchain-oriented applications is gaining importance, models, tools and methods for blockchain-oriented software engineering have to be developed. This paper gives a first hint towards architectural patterns for blockchain-based applications and motivates why it is important to consider how the user interacts with the decentralized apps.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116402098","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}
Akash Manjunath, Manoj Bhat, Klym Shumaiev, A. Biesdorf, F. Matthes
{"title":"Decision Making and Cognitive Biases in Designing Software Architectures","authors":"Akash Manjunath, Manoj Bhat, Klym Shumaiev, A. Biesdorf, F. Matthes","doi":"10.1109/ICSA-C.2018.00022","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00022","url":null,"abstract":"The architecture of any software can be thought of as a blueprint of its structure. This blueprint is an artifact generated based on a series of decisions taken by software architects and determines the overall quality of the resulting software. The first part of this paper focuses on identifying and formalizing the decision-making models in the context of designing software. Three models are investigated in detail: the rational economic model, the bounded rational model, and the recognition-primed decision model. The steps of decision making are mapped to the OODA Loop (Observe, Orient, Decide and Act) decision cycle as a generic framework for decision making. The second part of this paper focuses on documenting cognitive biases in the context of architectural decision making. Architects, being human, are invariably subject to the influence of cognitive biases due to the cognitive limitations of the human mind, resulting in a systematic deviation from the ideal decision-making process. This leads to the design of sub-par solutions because of missing rationality behind the decisions. A two-level classification is made to modularize the extensive list of biases that influence the architectural decision-making process. As an important outcome of this research, detailed information about each bias is documented as part of a cognitive bias catalog.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"119 12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126298499","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":"KEYNOTE. IoT Challenges for Smart Manufacturing: Connecting a Laser Level Transmitter to the Cloud","authors":"H. Koziolek","doi":"10.1109/ICSA-C.2018.00010","DOIUrl":"https://doi.org/10.1109/ICSA-C.2018.00010","url":null,"abstract":"Distributed control systems for manufacturing are currently evolving towards Industrial Internet-of-Things (IIoT) systems. Sensors and actuators get equipped with internet connectivity, which allows them to interface with cloud platforms. This potentially enables a number of application cases. However, industrial \"things\" may be much more complex and more resource-constrained than typical consumer things \"space\". This talk provides an overview of Industrial IoT application cases and sketches various challenges for researchers and practitioners using the example of turning a level sensor for industrial tanks into an IoT device.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133519923","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}