Measuring the impact of changes to the complexity and coupling properties of automotive software systems

Background: In the past few decades exponential increase in the amount of software used in cars has been recorded together with enhanced requirements for functional safety of their embedded software. As the evolution of software systems in cars often entails changes to software architecture, it is important to be able to monitor their impact. Method: We conducted a case study on a distributed software system in cars at Volvo Car Corporation with the goal to develop, apply and evaluate measures of complexity and coupling which could support software architects in monitoring changes. Results: The results showed that two metrics - structural complexity and coupling measures - can guide architectural work and turn attention of architects to most complex subsystems. The results were confirmed by monitoring a complete electrical system of a vehicle under two releases. Conclusion: By applying the metrics after each significant change in the architecture, it is possible to verify that certain quality attributes have not deteriorated and to identify new testing areas. Using these metrics increases the product quality with respect to stability, reliability, and maintainability and also has potential to reduce long-term software development/maintenance costs.

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

[2]  Miroslaw Staron,et al.  Presenting Software Metrics Indicators: A Case Study , 2010 .

[3]  Lionel C. Briand,et al.  Using coupling measurement for impact analysis in object-oriented systems , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[4]  Miroslaw Staron,et al.  Measuring the size of changes in automotive software systems and their impact on product quality , 2011 .

[5]  Carma L. McClure,et al.  A model for program complexity analysis , 1978, ICSE '78.

[6]  Jesse H. Poore,et al.  Field experiments with local software quality metrics , 1990, Softw. Pract. Exp..

[7]  Я И Терюхов ОЦЕНКА ЭФФЕКТИВНОСТИ РАБОТЫ ПОСТАВЩИКОВ НА ПРИМЕРЕ КОМПАНИИ VOLVO CAR CORPORATION , 2015 .

[8]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[9]  Alexander L. Wolf,et al.  Aladdin: A Tool for Architecture-Level Dependence Analysis of Software Systems , 1998 .

[10]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[11]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[12]  Wei Li,et al.  Object-Oriented Metrics Which Predict Maintainability , 1993 .

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

[14]  Victor R. Basili,et al.  Metrics of Software Architecture Changes Based on Structural Distance , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[15]  Baowen Xu,et al.  Change impact analysis to support architectural evolution , 2002, J. Softw. Maintenance Res. Pract..

[16]  Jakob Axelsson Evolutionary architecting of embedded automotive product lines: An industrial case study , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[17]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[18]  K. Punch Quantitative and Qualitative Approaches , 2008 .

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

[20]  Vineet Sinha,et al.  Using dependency models to manage complex software architecture , 2005, OOPSLA '05.

[21]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[22]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

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

[24]  Capers Jones,et al.  Estimating software costs : bringing realism to estimating , 2007 .

[25]  Li Li,et al.  Algorithmic analysis of the impact of changes to object-oriented software , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[26]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.

[27]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[28]  Stephen S. Yau,et al.  Some Stability Measures for Software Maintenance , 1979, IEEE Transactions on Software Engineering.

[29]  T. Capers Jones,et al.  Estimating software costs , 1998 .

[30]  Nachiappan Nagappan,et al.  Predicting Subsystem Failures using Dependency Graph Complexities , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[31]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[32]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[33]  Carl Magnus Olsson,et al.  A case study of the Architecture Business Cycle for an in-vehicle software architecture , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[34]  John W. Creswell,et al.  Research Design: Qualitative, Quantitative, and Mixed Methods Approaches , 2010 .

[35]  Robert L. Glass,et al.  The software-research crisis , 1994, IEEE Software.

[36]  Laszlo A. Belady,et al.  System partitioning and its measure , 1981, J. Syst. Softw..

[37]  Jeffrey C. Carver,et al.  Characterizing software architecture changes: A systematic review , 2010, Inf. Softw. Technol..

[38]  Jitender Kumar Chhabra,et al.  Package Coupling Measurement in Object-Oriented Software , 2009, Journal of Computer Science and Technology.

[39]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[40]  John W. Creswell,et al.  Research Design: Qualitative and Quantitative Approaches , 1997 .

[41]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..