Understanding, Measuring, and Evaluating Maintainability of Automotive Software
Abstract
Context: The importance of software maintainability is well-addressed by software engineering research, in general. Particularly for object-oriented and open-source software, measurements as a means to represent maintainability are well-established. Nevertheless, there is a lack of a similar understanding for software maintainability of executable models, which are widely used in the automotive industry, predominantly, using Simulink. Maintainability for automotive software is the main setting of this thesis. Software growth and complexity which are concepts related to maintainability are also investigated.
Objective: In this thesis, we aim to investigate maintainability for model-based software in the automotive domain. We explore the aspects it consists of, elicit maintainability measurements, and assess their applicability in practice. Additionally, we investigate two approaches to evaluate existing measurement data. First, we show how outliers with a significant impact on software quality can be identified in measurement data. Second, regarding software growth in the context of Simulink
models, we show which predictions are relevant to practitioners, how these can be reliably conducted, and which environmental factors software growth is affected by. Lastly, in this thesis, we aim to present a practical implementation of software quality-focused design and evaluation of an automotive software architecture.
Method: As Simulink models are widely used in the automotive industry, we always work in close collaboration with practitioners from industry. Hence, the majority of the work presented in this thesis has been performed in the form of case studies within the automotive industry in Sweden and Germany. In addition, we always associate findings from the industry with current research using literature. We use multiple qualitative and quantitative research methods. This includes literature reviews, interviews and workshops with practitioners in industry, surveys, and software measurement with consecutive data analysis and hypothesis testing.
Results: In this thesis, we present a categorized list of aspects related to the maintainability of Simulink models, as well as a list of measures for the maintainability of Simulink models ranked by practitioners from industry. We provide evidence that
simple size measures can be more applicable maintainability measures in practice than more complex measures. We present an approach to detect impactful outliers in measurement data.
Furthermore, concerning software growth, we list environmental factors affecting software growth measurement and prediction. We further provide a collection of practitioners' expectations towards growth predictions and rank prediction approaches for growth measurements by their applicability in industry. Lastly, we present an approach to the design and evaluate a software architecture in the automotive industry.
Conclusion: With these results, we provide a taxonomy of maintainability for Simulink models and respective measurements. Together with the methods for data analysis, we move a step towards a common understanding of maintainability for Simulink models which is presently missing. Next to that, we present approaches for maintainability measurement and analysis applicable in practical work environments. Thereby, we facilitate the application of rigorous measurements and analysis in the domain of
automotive software.
Parts of work
[A] J. Schroeder, C. Berger, V. Antinyan, F. Hajredini, S. A. Manesh
"Understanding and Measuring Maintainability of Simulink Models"
In submission to the International Journal on Software and Systems
Modeling (SoSyM), 2020.
[B] J. Schroeder, C. Berger, T. Herpel, M. Staron
"Comparing the Applicability of Complexity Measurements for Simulink
Models during Integration Testing { An Industrial Case Study"
Proceedings of the 2nd International Workshop on Software Architecture
and Metrics (SAM), Florence, Italy, May 16, 2015. DOI: 10.1109/SAM.2015.12.
[C] J. Schroeder, C. Berger, M. Staron, T. Herpel, A. Knauss
"Unveiling Anomalies and their Impact on Software Quality in Model-
Based Automotive Software Revisions with Software Metrics and Domain
Experts"
Proceedings of the 25th International Symposium on Software Testing
and Analysis (ISSTA), Saarbr ucken, Germany, July 18-22, 2016. DOI: 10.1145/2931037.2931060.
[D] J. Schroeder, C. Berger, A. Knauss, H. Preenja, M. Ali, M. Staron,
T. Herpel
"Prediction of Software Model Growth in Practice"
Proceedings of the 33rd International Conference on Software Maintenance
and Evolution (ICSME), Shanghai, China, September 17-24, 2017. DOI: 10.1109/ICSME.2017.41.
[E] J. Schroeder and C. Berger
"Environmental Factors for Measurement and Prediction of Software
Growth in the Automotive Industry"
In submission to the Journal of Software: Evolution and Process, 2020.
[F] J. Schroeder, D. Holzner, C. Berger, C. J. Hoel, L. Laine, A. Magnusson
"Design and Evaluation of a Customizable Multi-Domain Reference Architecture
on top of Product Lines of Self-Driving Heavy Vehicles"
Proceedings of the 37th International Conference on Software Engineering
(ICSE), Florence, Italy, May 16-24, 2015. DOI: 10.1109/ICSE.2015.147.
Degree
Doctor of Philosophy
University
Göteborgs universitet. IT-fakulteten
Institution
Department of Computer Science and Engineering ; Institutionen för data- och informationsteknik
Disputation
Fredagen den 4 September 2020, kl. 13:15, Rum Jupiter 473, University of Gothenburg, Campus Lindholmen
Date of defence
2020-09-04
jan.schroder@gu.se
Date
2020-08-17Author
Schroeder, Jan
Keywords
Software Engineering
Industrial Case Studies
Empirical Research
Software Quality
Maintainability
Software Measurement
Automotive Software
Simulink
Software Architecture
Publication type
Doctoral thesis
ISBN
978-91-8009-008-7
Series/Report no.
187D
Language
eng
Metadata
Show full item recordRelated items
Showing items related by title, author, creator and subject.
-
Understanding Software Design for Creating Better Design Environments
Jolak, Rodi (Chalmers University of Technology and Göteborg University, 2017)Context: Software design is considered an essential activity to analyze software requirements in order to produce a description of the software's internal structure that will serve as the basis for its construction. Models ... -
Innovation Assessment Challenges In Software Development Projects Within IT Start-ups
Mobtahej, Pooyan (2015-03-30)This research has been conducted to investigate challenges during innovation assessment in software development projects. Successful products based on innovation are a driving force for growth of IT start-ups. Innovation ... -
Understanding and Supporting Software Design in Model-Based Software Engineering
Jolak, Rodi (2020-02-10)Model-Based Software Engineering (MBSE) is a software development approach in which models can serve a multitude of purposes. On the one hand, models can be used for ideation, to stimulate creative thinking, and facilitate ...