Aspects of complexity in automotive software systems and their relation to maintainability effort. A case study
Bengt Haraldsson, Miroslaw Staron

TL;DR
This case study investigates how various internal and external complexities in automotive software systems influence maintainability effort, highlighting the importance of complexity metrics for managing system upkeep.
Contribution
It identifies key internal and external complexity factors affecting maintainability and demonstrates how developers use complexity metrics to develop trade-off strategies.
Findings
Internal complexity like variant management impacts effort
Emergent complexity from system growth influences maintenance
External factors such as organizational coordination also affect effort
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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Engineering Research · Software Reliability and Analysis Research
