Measuring the Impact of Changes to the Complexity and Coupling Properties of Automotive Software Systems
Journal article, 2013
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.
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.
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.
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.