Aspects of complexity in automotive software systems and their relation to maintainability effort. A case study

📅 2025-05-19
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This study investigates the relationship between embedded automotive software complexity and maintenance effort. Method: Drawing on two real-world case studies from Scania AB’s in-vehicle software systems, we systematically distinguish internal (e.g., variant management, hardware abstraction), emergent (e.g., system aging, continuous evolution), and external complexity (e.g., cross-organizational coordination, volatile requirements). Using qualitative methods—including in-depth interviews, document analysis, and strategy abstraction—we integrate cross-dimensional metrics such as McCabe cyclomatic complexity and coordination complexity to identify dominant cost drivers and distill typical developer trade-off strategies. Contribution/Results: We demonstrate that multidimensional complexity serves as an effective proxy for maintenance effort. Empirical validation shows that combining these dimensions significantly improves predictive accuracy and actionable guidance for maintenance cost estimation, thereby providing both theoretical grounding and a practical framework for sustainable evolution of high-reliability automotive software.

Technology Category

Application Category

📝 Abstract
Context: Large embedded systems in vehicles tend to grow in size and complexity, which causes challenges when maintaining these systems. Objective: We explore how developers perceive the relation between maintainability effort and various sources of complexity. Methods: We conduct a case study at Scania AB, a heavy vehicle OEM. The units of analysis are two large software systems and their development teams/organizations. Results: Our results show that maintainability effort is driven by system internal complexity in the form of variant management and complex hardware control tasks. The maintainability is also influenced by emergent complexity caused by the system's longevity and constant growth. Besides these system-internal complexities, maintainability effort is also influenced by external complexities, such as organizational coordination and business needs. During the study, developer trade-off strategies for minimizing maintainability effort emerged. Conclusions: Complexity is a good proxy of maintainability effort, and allows developers to create strategies for managing the maintainability effort. Adequate complexity metrics include both external aspects -- e.g., coordination complexity -- and internal ones -- e.g., McCabe Cyclomatic Complexity.
Problem

Research questions and friction points this paper is trying to address.

Exploring how developers perceive maintainability effort and complexity in automotive software systems
Investigating internal complexity factors like variant management and hardware control tasks
Examining external complexity impacts such as organizational coordination and business needs
Innovation

Methods, ideas, or system contributions that make the work stand out.

Case study on complexity and maintainability in automotive software
Analyzed variant management and hardware control complexity
Combined external and internal complexity metrics
🔎 Similar Papers
No similar papers found.
B
Bengt Haraldsson
Chalmers University of Technology and University of Gothenburg, Gothenburg, Scania CV AB, Södertälje
Miroslaw Staron
Miroslaw Staron
Software engineering, University of Gothenburg
Software engineeringmetricsisodependabilitycomputer science