Program

Monday, Sep 9:

  • 09:15 – 09:45: Welcome and Introduction
  • 09:45 – 10:30: Paper presentation by Tobias Ohlsson: “Process-Mining Based Dynamic Software Architecture Reconstruction”
  • 10:30 – 11:00: Coffee Break
  • 11:00 – 11:45: Paper presentation by Farshad Toosi: “Semi Automatic Mapping of Source Code Using Naive Bayes”
  • 11:45 – 12:30: Paper presentation by Sandra Schröder: “Source-Code Divergence Diagnosis using Constraints and Cryptography”
  • 12:30 – 14:00: Lunch
  • 14:00 – 15:30: Architecting Session I: Introduction to ProM by Eric Verbeek
  • 15:30 – 16:00: Coffee Break
  • 16:00 – 17:30: Architecting Session II: Modelling of ProM’s architecture and discussion

Tuesday, Sep 10:

  • 09:00 – 09:45: Paper presentation by Pablo Antonino: “The PageRank and Criticality of Architectural Smells”
  • 09:45 – 10:30: Paper presentation by Ilaria Pigazzini: “Detection of Conflicts and Inconsistencies between Architecture Solutions”
  • 10:30 – 11:00: Coffee Break
  • 11:00 – 11:45: Paper presentation by Jan Martijn van der Werf: “Applicability of Controlled Natural Languages for Architecture Analysis and Documentation – An Industrial Case Study”
  • 11:45 – 12:30: The SAEroCon repository – State and Future Plans (Sebastian Herold)
  • 12:30 – 14:00: Lunch
  • 14:00 – 15:30: Architecture Studies Part I
  • 15:30 – 16:00: Coffee Break
  • 16:00 – 17:30: Architecture Studies Part II + Wrap-up

 

Accepted Papers

Paper 1: Detection of Conflicts and Inconsistencies between Architecture Solutions

Benno Kallweit, Pablo Oliveira Antonino, Jasmin Jahic, Thomas Kuhn, Peter Liggesmeyer

Abstract: This paper presents a semi-automated approach for detecting conflicts and inconsistencies between architecture solutions. Inconsistencies occur when two or more architecture solutions rely on each other but cannot be satisfied, and conflicts when there are contradictions within one single decision specification, such as contradictory variable range and value. The proposed approach comprises a set of checks followed by transformations of architecture solutions specified according to a domain-specific-language, also created in the context of this work, into state machines. The semi-automated approach is implemented as a plugin for the MagicDraw modeling tool, and was evaluated in a project from the automotive domain.

Paper 2: Applicability of Controlled Natural Languages for Architecture Analysis and Documentation – An Industrial Case Study

Sandra Schröder, Georg Buchgeher

Abstract: Formal approaches are a prerequisite for automated quality control. However, such approaches are often difficult to learn and apply and thus have not found their way into mainstream software development. Controlled natural languages (CNLs) seek to overcome the drawbacks of formal approaches by hiding their formality behind a restricted set of natural language, which is intended to be easier to use. In this paper, we analyze the applicability of CNLs for automated architecture analysis and as a means for architecture documentation in an industrial case study. We evaluated the CNL with 12 experienced practitioners in a focus group. The results show that practitioners perceive CNLs as an appropriate and an understandable means for formalizing and documenting architectural rules. Even without verifying rules automatically, a project can benefit from such languages, since they allow to find a common sense about architecture concepts and relations and to use those concepts and relations consistently throughout the development and evolution phase.

Paper 3: The PageRank and Criticality of Architectural Smells

Francesca Arcelli Fontana, Ilaria Pigazzini, Claudia Raibulet, Stefano Basciano, Riccardo Roveda

Abstract: Architectural smells represent symptoms of problems at architectural level that can negatively impact internal software qualities and lead to architectural debt. Detecting architectural smells and identifying the most critical ones is the key to prioritize refactoring efforts and prevent software architecture erosion. In this paper we focus our attention on three architectural smells based on dependency issues, called Cyclic Dependency, Unstable Dependency, and Hub-Like Dependency. Moreover, we evaluate the PageRank and Criticality of these smells through the analysis of six projects.
PageRank is a measure that estimates whether an architectural smell is located in an important part of the project, where the importance is evaluated according to how many parts of a project depend on the one involved in the architectural smell. We describe a
case study on the analysis of the possible relation existing between the PageRank and Criticality of the smells. The results show how the two measures can be both used to locate the architectural smells that need particular inspections and attention.

Paper 4: Source-Code Divergence Diagnosis using Constraints and Cryptography

Farshad Ghassemi Toosi, Ashish Rajendra Sai, Jim Buckley

Abstract: This paper presents a new technique that informs developers of potential architectural-type violations and non-compliance checking in their software system after changes in the source code. The violations identified by our technique not only concern broken calls/dependencies/inheritance or data-dependencies but also concern the dissatisfaction of some constraints which may be defined and imposed by OCL. The technique partitions the software system into small grain nodes and filters out nodes that have no role in dependency-based software architecture adherence and nodes
that cannot jeopardize the validity of a function regarding OCL adherence. It thus presents a reduced version of the source code where additional developer-defined links may be established between entities (e.g., method to method) based on the developer’s implicit knowledge of the architecture of the system.

A change in, for example, an assignment expression would 1) single out the containing entity of the node(s) (e.g., method or class), and 2) issue an alert to all of the linked entities. To establish the link/call/chain, we suggest using an architecture consistency chain technology (inspired by blockchain).

Paper 5: Semi Automatic Mapping of Source Code Using Naive Bayes

Tobias Olsson, Morgan Ericsson, Anna Wingkvist

Abstract: The software industry has not adopted continuous use of static architecture conformance checking. One hindrance is the needed mapping from source code elements to elements of the architecture. We present a novel approach of generating and combining dependency and semantic information extracted from an initial set of mapped source code files. We use this to train a Naive Bayes classifier that is then used to map the remainder of the source code files. We compare this approach with the HuGMe technique on six open source projects with known mappings. We find that our approach provides an average performance improvement of 0.22 and an average precision and recall F1-score improvement of 0.26 in comparison to HuGMe.

Paper 6: Process-Mining Based Dynamic Software Architecture Reconstruction

Tijmen de Jong, Jan Martijn van der Werf

Abstract: Dynamic architecture reconstruction approaches aim to reconstruct the run-time architecture of a software system. Process mining is an emerging field combining process analytics and data science techniques. In this paper, we present an approach that creates interactive architecture visualizations without requiring any knowledge of the source code of the system under study.

The approach is implemented in the tool AJPOLog. With two case studies, we show that this approach creates reliable results with relatively little effort. Though the studies also
show that more research is needed to apply process mining techniques in the field of architecture reconstruction.