From Complexity Measurement to Holistic Quality Evaluation for Automotive Software Development

In recent years, the role and importance of software in the automotive domain has changed dramatically. More functionalities are implemented in software and are enabled by software (such as automated driving functions). Furthermore, vehicles get connected with other vehicles and digital services operated by digital platforms. In order to cope with the increased size and complexity of software, practices from the classical field of software engineering have been increasingly adopted and service-oriented and standardized architectures, like AUTOSAR, have been introduced. One implication of architecture-centric practices is also that more and more code is generated from models, which changes the way software is produced, maintained, and evaluated regarding its quality. Additionally, software development processes have become more and more agile and continuous in order to facilitate faster and incremental implementation and deployment of new functions. BizDevOps reduces the distance between business, development, and operations, enabling practices like over-the-air delivery of new functionalities, improvements, and bug fixes.

[1]  Xavier Franch,et al.  Quality-Aware Rapid Software Development Project: The Q-Rapids Project , 2019, TOOLS.

[2]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[3]  Philipp Haindl,et al.  An Extension of the QUAMOCO Quality Model to Specify and Evaluate Feature-Dependent Non-Functional Requirements , 2019, 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[4]  Thomas Bauer,et al.  A Large-Scale Technology Evaluation Study: Effects of Model-based Analysis and Testing , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[5]  Reinhold Plösch,et al.  Operationalised product quality models and assessment: The Quamoco approach , 2014, Inf. Softw. Technol..

[6]  Wei Hu,et al.  Quality model based on ISO/IEC 9126 for internal quality of MATLAB/Simulink/Stateflow models , 2012, 2012 IEEE International Conference on Industrial Technology.

[7]  Yingxu Wang,et al.  A new measure of software complexity based on cognitive weights , 2003, Canadian Journal of Electrical and Computer Engineering.

[8]  Carlos Soubervielle-Montalvo,et al.  Source code metrics: A systematic mapping study , 2017, J. Syst. Softw..

[9]  Rick Kazman,et al.  A cost-benefit framework for making architectural decisions in a business context , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[10]  Giuseppe Lami QuARS: A Tool for Analyzing Requirements , 2005 .

[11]  Guido Menkhaus,et al.  Metric Suite Directing the Failure Mode Analysis of Embedded Software Systems , 2005, ICEIS.

[12]  Andreas Jedlitschka,et al.  A Quality Model for Actionable Analytics in Rapid Software Development , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[13]  Michael Kläs,et al.  Uncertainty in Machine Learning Applications: A Practice-Driven Classification of Uncertainty , 2018, SAFECOMP Workshops.

[14]  Mikio Aoyama,et al.  Towards Guidelines for Assessing Qualities of Machine Learning Systems , 2020, QUATIC.

[15]  Zhipeng Liu,et al.  Software Architecture Measurement - Experiences from a Multinational Company , 2018, ECSA.

[16]  Michael Kläs,et al.  Uncertainty Wrappers for Data-Driven Models - Increase the Transparency of AI/ML-Based Models Through Enrichment with Dependable Situation-Aware Uncertainty Estimates , 2019, SAFECOMP Workshops.

[17]  Felix Salfner,et al.  Lessons Learned from the ProDebt Research Project on Planning Technical Debt Strategically , 2017, PROFES.

[18]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

[19]  Robert L. Glass,et al.  Measuring software design quality , 1990 .

[20]  Alan MacCormack,et al.  Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code , 2006, Manag. Sci..

[21]  Gianluca Trentanni,et al.  QuARS: A Pioneer Tool for NL Requirement Analysis , 2019, From Software Engineering to Formal Methods and Tools, and Back.

[22]  Marco Kuhrmann,et al.  Metrics in automotive software development: A systematic literature review , 2020, J. Softw. Evol. Process..

[23]  Stefan Wagner,et al.  An Empirical Validation of Cognitive Complexity as a Measure of Source Code Understandability , 2020, ESEM.

[24]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[25]  Arie van Deursen,et al.  A Cognitive Model for Software Architecture Complexity , 2010, 2010 IEEE 18th International Conference on Program Comprehension.

[26]  Dominik Reinhardt,et al.  Domain Controlled Architecture - A New Approach for Large Scale Software Integrated Automotive Systems , 2013, PECCS.

[27]  Paul W. Oman,et al.  Construction and testing of polynomials predicting software maintainability , 1994, J. Syst. Softw..

[28]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..

[29]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[30]  G. Ann Campbell,et al.  Cognitive Complexity — An Overview and Evaluation , 2018, 2018 IEEE/ACM International Conference on Technical Debt (TechDebt).

[31]  Amina Adadi,et al.  Peeking Inside the Black-Box: A Survey on Explainable Artificial Intelligence (XAI) , 2018, IEEE Access.

[32]  Jürgen Münch,et al.  Adapting Software Quality Models: Practical Challenges, Approach, and First Empirical Results , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[33]  Maurice H. ter Beek,et al.  The Legacy of Stefania Gnesi - From Software Engineering to Formal Methods and Tools, and Back , 2019, From Software Engineering to Formal Methods and Tools, and Back.

[34]  Yuanfang Cai,et al.  A Case Study in Locating the Architectural Roots of Technical Debt , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[35]  Victor R. Basili,et al.  Aligning Organizations Through Measurement , 2014, The Fraunhofer IESE Series on Software and Systems Engineering.

[36]  Miroslaw Staron,et al.  Comparing the Applicability of Complexity Measurements for Simulink Models during Integration Testing -- An Industrial Case Study , 2015, 2015 IEEE/ACM 2nd International Workshop on Software Architecture and Metrics.

[37]  Michael Seadle Measurement , 2007, The Measurement of Information Integrity.

[38]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[39]  Alexander Serebrenik,et al.  Tailoring complexity metrics for simulink models , 2016, ECSA Workshops.

[40]  Manfred Broy,et al.  Softwarequalitätsmodelle – Praxisempfehlungen und Forschungsagenda , 2010, Informatik-Spektrum.

[41]  Bernhard Schätz,et al.  Clone detection in automotive model-based development , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[42]  Marc Roubens,et al.  Multiple criteria decision making , 1994 .

[43]  Jürgen Münch,et al.  Model-based Product Quality Evaluation with Multi-Criteria Decision Analysis , 2014, ArXiv.