Reverse Engineering of Real-Time System Models From Event Trace Recordings





Faculty/Professorship: Fakultät Wirtschaftsinformatik und Angewandte Informatik: Abschlussarbeiten 
Author(s): Sailer, Andreas
Publisher Information: Bamberg : University of Bamberg Press
Year of publication: 2019
Pages: xviii, 529 ; Illustrationen, Diagramme
ISBN: 978-3-86309-690-8
978-3-86309-691-5
Series ; Volume: Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg ; 40 
Supervisor(s): Lüttgen, Gerald  
Source/Other editions: Parallel erschienen als Druckausgabe in der University of Bamberg Press, 2019 (35,50 EUR)
Language(s): English
Remark: 
Dissertation, Otto-Friedrich-Universität Bamberg, 2019
Link to order the print version: http://www.uni-bamberg.de/ubp/
DOI: 10.20378/irb-46506
Licence: Creative Commons - CC BY - Attribution 4.0 International 
URN: urn:nbn:de:bvb:473-irb-465069
Abstract: 
Model-driven approaches are experiencing an increasing acceptance in the automotive domain thanks to the availability of the AUTOSAR standard, which defines an open software architecture for the model-based development of real-time systems and a corresponding development methodology. However, the process of creating models of existing system components is often difficult and time consuming, especially when legacy code is involved or information about the exact timing is needed. The research community tackles this problem by developing algorithms for automatically deriving characteristics of the system’s timing behaviour, e.g., response times and resource blockings from various artefacts such as source code or runtime measurements.
This work focuses on reversely engineering an AUTOSAR-compliant model, which can be used for further processing including timing simulation and optimisation, via a dynamic analysis from trace recordings of a real-time system.
Although software reverse engineering via dynamic analysis has a long history, little research targets embedded systems and its use for multi-core architectures is largely unresearched. Furthermore, related work mainly discusses the analysis of individual characteristics of a real-time system, such as execution times or stimulation patterns instead of creating a description of the entire system. Huselius, whose work is among the publications most related to the topic of this thesis, proposes a technique to reverse engineer a model that reflects the general temporal behaviour of the original real-time software. However, like other existing solutions, it was not developed with AUTOSAR in mind. It is also not feasible to make this approach applicable to the automotive domain, because Huselius has not considered some required details, such as activation patterns, scheduling information, and compliance to the standardised development methodology of AUTOSAR.
We want to tackle this deficiency by introducing, in this work, an approach that seizes on Huselius’s considerations and extends them in order to make them applicable to the automotive domain. To do so, we present CoreTAna, a prototypical tool that derives an AUTOSAR compliant model of a real-time system by conducting dynamic analysis using trace recordings. Its reverse engineering approach is designed in such a way that it fits seamlessly into the methodology specified by AUTOSAR. CoreTAna’s current features are explained and their benefits for reverse engineering are highlighted, and a framework for evaluating the quality of synthesised models is described.
Motivated by the challenge of assessing the quality of reverse engineered models of real-time software, we also introduce a mathematical measure for comparing trace recordings from embedded real-time systems regarding their temporal behaviour and a benchmark framework based on this measure, for evaluating reverse engineering tools such as CoreTAna. This framework considers common system architectures and also includes randomly generated systems and systems of projects in the automotive domain and other industries. Finally, CoreTAna’s performance and applicability are evaluated on the basis of this benchmark.

Dank der Verfügbarkeit des AUTOSAR Standards, welcher eine offene Softwarearchitektur zur modellbasierten Entwicklung von Echtzeitsystemen sowie eine korrespondierende Entwicklungsmethodik definiert, erfahren modellgetriebene Herangehensweisen eine steigende Akzeptanz in der Automobilbranche. Der Prozess zur Erstellung eines Models für bestehende Systemkomponenten ist jedoch oft beschwerlich und zeitaufwändig, vor allem wenn dabei bestehender Quellcode betroffen ist oder Information über den genauen zeitlichen Ablauf benötigt wird. Die Foschungsgemeinsch- aft geht dieses Problem durch die Entwicklung von Algorithmen an, die automatisch die Eigenschaften des Zeitverhaltens eines Systems, zum Beispiel Antwortzeiten und Blockierungen von Betriebsmittel, aus verschiedenen Artefakten, wie beispielsweise aus Quellcode oder Laufzeitmessungen, ableiten.
Diese Arbeit fokussiert sich auf die Rekonstruktion eines AUTOSAR-konformen Modells auf Basis einer dynamischen Analyse von Trace Aufzeichnungen aus einem Echtzeitsystem, welches zur Weiterverarbeitung in einer Echtzeitsimulation oder in einer Optimierung verwendet werden kann.
Obwohl die Nachbildung von Software mithilfe einer dynamischen Analyse auf eine lange Geschichte zurückschauen kann, zielen wenige Forschungsarbeiten auf eingebettete Systeme ab. Des Weiteren widmen sich verwandte Arbeiten hauptsächlich der Analyse von vereinzelten Eigenschaften eines Echtzeitsystems, wie zum Beispiel Ausführzeiten oder Aktivierungsmuster, anstelle eine Beschreibung des Gesamtsystems zu erstellen. Huselius, dessen Arbeit unter den Veröffentlichungen ist, die der Thematik dieser Abschlussarbeit am nächsten kommt, schlägt eine Technik vor die ein Modell rekonstruiert, das das generelle, zeitliche Verhalten der orginalen Echtzeitsoftware reflektiert. Wie andere bestehende Lösungsansätze wurde diese jedoch ohne Berücksichtigung des AUTOSAR Standards entwickelt. Es ist auch nicht möglich diesen Ansatz auf die Automobilbranche anzuwenden, da Huselius einige notwendige Details nicht berücksichtigt, wie zum Beispiel Aktivierungsmuster, Informationen über das Scheduling und die Konformität zur standardisierten Entwicklungsmethodik von AUTOSAR.
Wir möchten daher diese Defizite angehen indem wir in dieser Arbeit einen Ansatz vorstellen, der auf den Überlegungen von Huselius aufsetzt und diese erweitert, um sie in der Automobilbranche anwendbar zu machen. Hierfür stellen wir CoreTAna vor, ein prototypisches Werkzeug, das ein AUTOSAR-konformes Modell eines Echtzeitsystems ableitet basierend auf der dynamischen Analyse von Trace Aufzeichnungen.
Dessen Vorgehensweise bei der Rekonstruierung ist so entworfen, dass es sich nahtlos in die von AUTOSAR spezifizierte Methodik einpasst. CoreTAna’s gegenwärtige Funktionalitäten werden erklärt und deren Vorteile für die Modellrekonstruktion hervorgehoben. Motiviert durch die Herausforderung die Qualität der rekonstruierten Modelle von Echtzeitsystemen zu bewerten, stellen wir ferner ein mathematisches Maß für den Vergleich von Trace Aufzeichnungen bezüglich ihrem zeitlichen Verhalten vor sowie eine Framework basierend auf diesem Maß zur Beurteilung von Werkzeugen wie CoreTAna. Dieses Framework berücksichtigt gebräuchliche Systemarchitekturen und auch zufällig generierte Systeme sowie Systeme aus Projekten in der Automobilbranche und anderen Industriezweigen. Schließlich werden CoreTAna’s Leistungsfähigkeit und Anwendbarkeit anhand dieses Frameworks evaluiert.
GND Keywords: Modellierung ; Reverse Engineering ; AUTOSAR
Keywords: Modeling, Reverse Engineering, AUTOSAR
DDC Classification: 004 Computer science  
RVK Classification: ST 233   
Type: Doctoralthesis
URI: https://fis.uni-bamberg.de/handle/uniba/46506
Release Date: 20. December 2019

File Description SizeFormat  
fisba46506_A3a.pdf5.22 MBPDFView/Open