Incremental Integration and Static Analysis of Model-Based Automotive Software Artifacts
Aachen / RWTH Aachen University, Department of Computer Science (2017) [Book, Dissertation / PhD Thesis, Report]
Page(s): 1 Online-Ressource (xv, 191 Seiten) : DiagrammeReport number: AIB-2017-8
In recent years, the automotive industry adopted model-based development of software components as an integral part of the automotive software development process. The use of models enables the simulation and testing of system behavior even in early stages of development. They can further serve as input to code generators, allowing the model-based development of firmware for complex systems such as the electronic control units (ECU) of an automobile. As the complexity and size of models continues to grow, a need has arisen for dynamic and static model analysis techniques to keep costs for quality assessment as required by norms and standards such as ISO 26262 in check. While a plethora of tools exists for the analysis of software source-code, the tool landscape for the analysis of software models is still sparsely populated. Due to abstractions used within models and their heterogeneous and often proprietary file formats, the realization of generic model analysis tools cannot be performed to the same extent as for software source-code.In this thesis, we present a method for the incremental integration and static analysis of model-based software artifacts comprising the extraction, storage, analysis and evolution of model data. The proposed incremental integration approach allows the conversion of supported artifacts into a well-defined representation and subsequent storage in a model repository, enabling seamless access to stored artifacts as well as synchronization with changes made to their source models. We further propose multiple static analysis techniques for MATLAB/Simulink models, a prevalent model-based software artifact in automotive software development. These analyses support various activities during different stages of a model-based development process. We present a signal reconstruction and slicing algorithm that supports debugging, testing and exploration activities of MATLAB/Simulink models. A clone detection procedure allows the automatic identification of cloned model fragments and their subsequent controlled reuse by refactoring into generic library blocks. Further quality and design defects are detected by a model smell analysis, identifying anti-patterns that negatively influence quality properties of MATLAB/Simulink models. Furthermore, we propose an inter-artifact consistency analysis targeting traceability links between artifacts of a product line and its accompanying variability documentation. All proposed techniques are realized in the form of an integrated software framework called artshop.To show the applicability of the artshop framework, we applied the realized techniques on a set of real-world models taken from academic and industrial case studies to assess the overall scalability and performance of the framework. We show that the integration and analysis capabilities of the artshop framework are already applicable to real-world models.