Feature dependencies in automotive software systems: Extent, awareness, and refactoring

Abstract Many automotive companies consider their software development process to be feature-oriented. In the past, features were regarded as isolated system parts developed and tested by developers from different departments. However, in modern vehicles, features are more and more connected and their behavior depends on each other in many situations. In this article, we describe how feature-oriented software development is conducted in automotive companies and which challenges arise from that. We present an empirical analysis of feature dependencies in three real-world automotive systems. The analysis shows that features in modern vehicles are highly interdependent. Furthermore, the study reveals that developers are not aware of these dependencies in most cases. For the three examined cases, we show that less than 12% of the components in the system architecture are responsible for more than 90% of the feature dependencies. Finally, we propose a refactoring approach for implicit communal components, which makes them explicit by moving them to a dedicated platform component layer.

[1]  Claus Brabrand,et al.  On the impact of feature dependencies when maintaining preprocessor-based software product lines , 2011, GPCE '11.

[2]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[3]  Manfred Broy,et al.  Engineering Automotive Software , 2007, Proceedings of the IEEE.

[4]  Axel Cleeremans,et al.  How can we measure awareness? An overview of current methods , 2015 .

[5]  Patrizio Pelliccione,et al.  Architecting in the Automotive Domain: Descriptive vs Prescriptive Architecture , 2015, 2015 12th Working IEEE/IFIP Conference on Software Architecture.

[6]  Jan Bosch,et al.  Architecture Technical Debt: Understanding Causes and a Qualitative Model , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[7]  Luigi Logrippo,et al.  Distributed resolution of feature interactions for internet applications , 2007, Comput. Networks.

[8]  Bernhard Schätz,et al.  Modular Functional Descriptions , 2008, FACS.

[9]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[10]  Manfred Broy,et al.  Challenges in automotive software engineering , 2006, ICSE.

[11]  GarciaAlessandro,et al.  Feature dependencies as change propagators , 2016 .

[12]  Andreas Vogelsang,et al.  Extent and characteristics of dependencies between vehicle functions in automotive software systems , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[13]  Christian Berger,et al.  Microservice Architectures for Advanced Driver Assistance Systems: A Case-Study , 2019, 2019 IEEE International Conference on Software Architecture Companion (ICSA-C).

[14]  Manfred Broy,et al.  Software Engineering for Automotive Systems: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[15]  James D. Herbsleb,et al.  Factors leading to integration failures in global feature-oriented development: an empirical analysis , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[16]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[17]  Mario Kolberg,et al.  Feature interaction: a critical review and considered forecast , 2003, Comput. Networks.

[18]  Alexander Serebrenik,et al.  Simulink models are also software: modularity assessment , 2013, QoSA '13.

[19]  Sven Apel,et al.  Granularity in software product lines , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[20]  Jia Liu,et al.  Feature oriented refactoring of legacy applications , 2006, ICSE.

[21]  Gunter Saake,et al.  On the impact of the optional feature problem: analysis and case studies , 2009, SPLC.

[22]  Haiyan Zhao,et al.  An approach to constructing feature models based on requirements clustering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[23]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[24]  Sebastian Benz,et al.  Generating Tests for Feature Interaction , 2010 .

[25]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[26]  Simon Fürst,et al.  AUTOSAR for Connected and Autonomous Vehicles: The AUTOSAR Adaptive Platform , 2016, 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshop (DSN-W).

[27]  Manfred Broy,et al.  Introduction to the SPES Modeling Framework , 2012, Model-Based Engineering of Embedded Systems.

[28]  Antonio Martini,et al.  Identifying and visualizing Architectural Debt and its efficiency interest in the automotive domain: A case study , 2015, 2015 IEEE 7th International Workshop on Managing Technical Debt (MTD).

[29]  Sven Apel,et al.  An algebraic foundation for automatic feature-based program synthesis , 2010, Sci. Comput. Program..

[30]  Stefan Kugele,et al.  Data-Centric Communication and Containerization for Future Automotive Software Architectures , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[31]  Jaejoon Lee,et al.  Feature dependencies as change propagators: An exploratory study of software product lines , 2016, Inf. Softw. Technol..

[32]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[33]  Manfred Broy,et al.  Multifunctional software systems: Structured modeling and specification of functional requirements , 2010, Sci. Comput. Program..

[34]  Ola Benderius,et al.  Containerized Development and Microservices for Self-Driving Vehicles: Experiences & Best Practices , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[35]  Andreas Vogelsang,et al.  Characterizing Implicit Communal Components as Technical Debt in Automotive Software Systems , 2016, 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA).

[36]  Muffy Calder,et al.  Modular modelling of signalling pathways and their cross-talk , 2012, Theor. Comput. Sci..

[37]  Sven Apel,et al.  Exploring feature interactions in the wild: the new feature-interaction challenge , 2013, FOSD '13.

[38]  Yanja Dajsuren,et al.  On the design of an architecture framework and quality evaluation for automotive software systems , 2015 .

[40]  Michael Armbruster,et al.  RACE: A Centralized Platform Computer Based Architecture for Automotive Applications , 2013, 2013 IEEE International Electric Vehicle Conference (IEVC).

[41]  Andreas Vogelsang,et al.  Requirements Quality Is Quality in Use , 2019, IEEE Software.

[42]  Danny Holten,et al.  Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data , 2006, IEEE Transactions on Visualization and Computer Graphics.

[43]  Michael Weiss,et al.  Towards a Classification of Web Service Feature Interactions , 2005, ICSOC.

[44]  Andreas Vogelsang,et al.  Why feature dependencies challenge the requirements engineering of automotive systems: An empirical study , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[45]  Shige Wang,et al.  A feature-oriented requirements modelling language , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).