{"title":"Metrics for Architectural Synthesis and Evaluation -- Requirements and Compilation by Viewpoint. An Industrial Experience Report","authors":"O. Zimmermann","doi":"10.1109/SAM.2015.9","DOIUrl":"https://doi.org/10.1109/SAM.2015.9","url":null,"abstract":"During architectural analysis and synthesis, architectural metrics are established tacitly or explicitly. In architectural evaluation, these metrics then can be consulted to assess whether architectures are fit for purpose and in line with recommended practices and published architectural knowledge. This experience report presents a personal retrospective of the author's use of architectural metrics during 20 years in IT architect roles in professional services as well as research and development. This reflection drives the identification of use cases, critical success factors and elements of risk for architectural metrics management. An initial catalog of architectural metrics is then compiled, which is organized by viewpoints and domains. The report concludes with a discussion of practical impact of architectural metrics and potential research topics in this area.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114378792","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":"Using Metric Time-Lines for Identifying Architecture Shortcomings in Process Execution Architectures","authors":"Daniel Lübke","doi":"10.1109/SAM.2015.15","DOIUrl":"https://doi.org/10.1109/SAM.2015.15","url":null,"abstract":"Process Execution with Service Orchestrations is an emerging architectural style for developing business software systems. However, few special metrics for guiding software architecture decisions have been proposed and no existing business process metrics have been evaluated for their suitability. By following static code metrics over time, architects can gain a better understanding, how processes and the whole system evolve and whether the metrics evolve as expected. This allows architects to recogniize when to intervene in the development and make architecture adjustments or refactorings. This paper presents an explatory study that uses time-lines of static process size metrics for constant feedback to software architects that deal with process-oriented architectures.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127179201","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":"Exploring the Stability of Software with Time-Series Cross-Sectional Data","authors":"Jukka Ruohonen, S. Hyrynsalmi, V. Leppänen","doi":"10.1109/SAM.2015.13","DOIUrl":"https://doi.org/10.1109/SAM.2015.13","url":null,"abstract":"The stability of software is a classical topic in software engineering. This research investigates stability of software architectures in terms of an object-oriented design principle presented by Robert C. Martin. The research approach is statistical: the design principle is evaluated with a time-series cross-sectional (TSCS) regression model. The empirical sample covers a release history from the Java library Vaadin. The empirical results establish that the design principle cannot be used to characterize the library. Besides delivering this negative empirical result, the research provides the necessary methodological background that is required to understand TSCS modeling.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"46 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133135677","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":"Comparing the Applicability of Complexity Measurements for Simulink Models during Integration Testing -- An Industrial Case Study","authors":"Jan Schroeder, C. Berger, T. Herpel, M. Staron","doi":"10.1109/SAM.2015.12","DOIUrl":"https://doi.org/10.1109/SAM.2015.12","url":null,"abstract":"Context: Simulink models are used during software integration testing in the automotive domain on hardware in the loop (HIL) rigs. As the amount of software in cars is increasing continuously, the number of Simulink models for control logic and plant models is growing at the same time. Objective: The study aims for investigating the applicability of three approaches for evaluating model complexity in an industrial setting. Additionally, insights on the understanding of maintainability in industry are gathered. Method: Simulink models from two vehicle projects at a German premium car manufacturer are evaluated by applying the following three approaches: Assessing a model's (a) size, (b) structure, and (c) signal routing. Afterwards, an interview study is conducted followed by an on-site workshop in order to validate the findings. Results: The measurements of 65 models resulted in comparable data for the three measurement approaches. Together with the interview studies, conclusions were drawn on how well each approach reflects the experts' opinions. Additionally, it was possible to get insights on maintainability in an industrial setting. Conclusion: By analyzing the results, differences between the three measurement approaches were revealed. The interviews showed that the expert opinion tends to favor the results of the simple size measurements over the measurement including the signal routing.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127931573","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 Metric-Based Approach to Managing Architecture-Related Impediments in Product Development Flow: An Industry Case Study from Cisco","authors":"Ken Power, K. Conboy","doi":"10.1109/SAM.2015.10","DOIUrl":"https://doi.org/10.1109/SAM.2015.10","url":null,"abstract":"Contemporary lean thinking, especially in knowledge work areas like software engineering, begins with understanding flow. Architecture plays a vital role in enabling the flow of value in software engineering teams and organizations. To date there has been little research in understanding impediments to flow in software engineering organizations. A focus on enabling flow through removing impediments is a useful perspective in creating a more agile, lean thinking software engineering organization. Particularly so when supported by appropriate metrics. This paper presents a case study of how architecture-related impediments impact the flow of work in software engineering teams and organizations. The key contributions of this paper are centered on the concept of flow and impediments in modern software engineering, and its relationship with architecture. We develop an understanding of how a focus on flow and removing impediments, supported by appropriate metrics, is helpful in identifying architecture-related challenges. Drawing on research of one company's practices the paper presents an example of a scenario where flow analysis using specific metrics reveals architecture-related impediments and shows how addressing these impediments improves effectiveness and productivity in ways that would not otherwise have been revealed.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127128776","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":"Architecture-Based Quality Attribute Synergies and Conflicts","authors":"B. Boehm","doi":"10.5555/2821327.2821333","DOIUrl":"https://doi.org/10.5555/2821327.2821333","url":null,"abstract":"Large or critical software projects often identify particularly-critical quality attributes (QAs), often called non-functional requirements or ilities, and organize Integrated Product Teams (IPTs) to address them. Frequently, the resulting IPT solutions include architectural decisions that address the QA of interest, but seriously conflict with other QAs which are also important but less-well analyzed. These conflicts will often become major sources of significant technical debt and expensive architectural breakage to rectify. As the QA of interest also has synergies with other QAs, the rectification needs to be careful not to undo the synergies. This paper summarizes recent research to develop QA synergies and conflicts matrices that can be used by software system engineers to identify potential areas of concern in balancing a system's QAs.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129589619","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}
Carlos Fernández-Sánchez, J. Garbajosa, Carlos Vidal, Agustín Yagüe
{"title":"An Analysis of Techniques and Methods for Technical Debt Management: A Reflection from the Architecture Perspective","authors":"Carlos Fernández-Sánchez, J. Garbajosa, Carlos Vidal, Agustín Yagüe","doi":"10.1109/SAM.2015.11","DOIUrl":"https://doi.org/10.1109/SAM.2015.11","url":null,"abstract":"Technical debt is a metaphor referring to the consequences of weak software development. Managing technical debt is necessary in order to keep it under control, and several techniques have been developed with the goal of accomplishing this. However, available techniques have grown disperse and managers lack guidance. This paper covers this gap by providing a systematic mapping of available techniques and methods for technical debt management, covering architectural debt, and identifying existing gaps that prevent to manage technical debt efficiently.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125549695","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":"Evolution of Object Oriented Coupling Metrics: A Sampling of 25 Years of Research","authors":"Ana Nicolaescu, H. Lichter, Yi Xu","doi":"10.5555/2821327.2821337","DOIUrl":"https://doi.org/10.5555/2821327.2821337","url":null,"abstract":"Coupling is one of the most important properties that affect the quality of the design and implementation of a software system. In the context of object oriented software development, coupling metrics and their impact on quality attributes have been investigated for a quarter of a century. In this work we review and critically analyze the developments in this domain by considering 26 of the most influential research papers addressing object oriented coupling. Our analysis reveals that a very strong theoretical background has been already developed but unfortunately without a clear impact on the industry practices and software analysis tooling. Even more, recent developments fail to address this problem and seem to even contribute to increasing this gap. We argue that the direction of current research should be shifted towards systematizing and evaluating existing results rather than exploring new applicability domains and defining new metric suites.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133406374","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":"Towards Assessing Software Architecture Quality by Exploiting Code Smell Relations","authors":"F. Fontana, Vincenzo Ferme, M. Zanoni","doi":"10.1109/SAM.2015.8","DOIUrl":"https://doi.org/10.1109/SAM.2015.8","url":null,"abstract":"We can evaluate software architecture quality using a plethora of metrics proposed in the literature, but interpreting and exploiting in the right way these metrics is not always a simple task. This is true for both fixing the right metric threshold values and determining the actions to be taken to improve the quality of the system. Instead of metrics, we can detect code or architectural anomalies that give us useful hints on the possible architecture degradation. In this paper, we focus our attention on the detection of code smells and in particular on their relations and co-occurrences, with the aim to evaluate technical debt in an architectural context. We start from the assumption that certain patterns of code anomalies tend to be better indicators of architectural degradation than simple metrics evaluation.","PeriodicalId":215446,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124221876","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}