Ablaufbeobachtung in einer opensource virtual machine

Slides:



Advertisements
Ähnliche Präsentationen
Forschungszentrum Informatik
Advertisements

GWT - google Web Toolkit
C Sharp (C#) Martin Saternus Senior Student Partner
Prüfungspläne Bachelor-Thesis
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Designing Software for Ease of Extension and Contraction
3. Kapitel: Komplexität und Komplexitätsklassen
Imperative Programmierung -Entwicklungswerkzeuge
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Einführung in Berechenbarkeit und Formale Sprachen
Einführung in die Entwicklungsumgebung
Java: Grundlagen der Sprache
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Seminar parallele Programmierung SS 2003
Deklaratives Debugging (Seminar Software Engineering) Tim Sender Deklaratives Debugging Seminar Software Engineering.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
1. 2 Informatik 3 Praktikum 1.Heizobjekt und Toggles 2.Heizungssteuerungs- Automat 3.Testaufbau 4.Simulatoren 5.Histogramm 6.Grafikausgabe (Haus) 7.Bezier.
Einführung in Visual C++
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Werkzeugunterstützte Softwareadaption mit Inject/J
Plattformunabhängige Programmiersprache
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Simple Programmierung
Programmieren - wie einsteigen ?
Laufzeitumgebungen – Das Beispiel der Java Virtual Machine
Performance-Optimierung in JAVA
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Effiziente Algorithmen
Holonische Multiagentensimulation
Institut für Wirtschaftsinformatik und Anwendungssysteme
Java Garbage Collection Angelika Kusel, Überblick Was ist Garbage Collection? Vor- und Nachteile von GC GC-Algorithmen/Verfahren Java Garbage.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Algorithm Engineering „Zeichenkettensuche“
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Enterprise Achitect (Sparx Systems) Marius Rudolf
Herbers Excel-Server - der Workshop
Zwischenbericht zur Einführung Facility Management in
Die Architektur der Java-VM
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Ein Benachrichtigungsdienst für zusammengesetzte Ereignisse Projektgruppe MediAS Sven Bittner, 25. Februar 2003 (Steven König, Doris Jung, Annika Hinze)
Diplomarbeit: Echtzeitdarstellung komplexer Landschaften in illustrativer Weise Echtzeitdarstellung komplexer Landschaften in illustrativer Weise Bearbeiter:
Eclipse – PHP Tool Integration (PTI) Sven Kiera, TWT Interactive GmbH.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Team Technical-Designer  Oliver Schmitz (TCD)  Leiter des Technical-Design Teams  Stefan Müller (TAD für Team 1 und 2)  Spezialist für Maya und was.
Omniscient Debugging und Slicing für Java
10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,...
Nik Lutz, Stefan Feissli, Christof Seiler Diplomarbeit Verteidigung.
Max. HWR DECISION TREE Max Jakisch Tobias Lentz Michael Berth Sebastian Möller Christian Güthling.
Christian Scheideler WS 2008
1 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Malprogramm der vollständige und kommentierte Quellcode für.
C Tutorium – Debugging & Tracing – Knut Stolze. 2 Agenda Debugging & Debugger Tracing.
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Visuelles Debugging Vortrag im Seminar: „Software - Visualisierung“ SS 2002 Freie Universität Berlin Enrico Heine Prof. Löhr.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Adiabatisches Quantencomputing
Programmiersprachen II Graph_Algorithmen Einführung Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Technik und Informatik Project STUMR Team „olimination“ Datum 18. Januar 2011 Eine Präsentation von: Remo Albertani Oliver Burkhalter Steven Heller Thomas.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
 Präsentation transkript:

Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Gliederung Einführung ins Thema Aktuelle Techniken / Algorithmen Beispiel Ziel der Diplomarbeit Implementierungsidee Auswertung / Evaluation

Einführung ins Thema IT-Firmen immer mehr unter Zeitdruck > Qualitätseinbußen durch Quantitätsdruck Applikationen immer größer/komplexer > Fehlersuche immer schwieriger Zeit für Fehlersuche kostet Geld Ausgleichzahlungen/Strafe für Ausfall

Aktuelle Techniken Fehlersuchetools: Profiler: Finden von Speicherlecks Optimierung der Performance Vertex-Profiling Edge-Profiling

Aktuelle Techniken Debugger: Coredump: Anzeige der letzten Befehle/Variablenwerte vor der fehlerhaftenTerminierung Stacktrace Coredump: Anzeige der Registerwerte vor Absturz des Systems

Algorithmen Vertex – Profiling : Edge – Profiling : Program-Tracing: Knuth und Stevenson (1973) Edge – Profiling : minimaler Spannbaum Program-Tracing: Ramamoorthy, Kim und Chen (1975) Sergej Alekseev (2006) Ramamoorthy, Kim und Chen (1975) -> Edge – Tracing wobei der Quellcode modifiziert wird Sergej Alekseev (2006) -> Vertex – Tracing ohne Codeänderung

Ablaufgraph (graphisch)

Rekonstruktion (Knuth-Stevenson) Instrumentieren des Programmablaufgraphen:

Rekonstruktion (Knuth-Stevenson) Instrumentieren des Programmablaufgraphen:

Rekonstruktion (Knuth-Stevenson) Instrumentieren des Programmablaufgraphen:

Rekonstruktion (Knuth-Stevenson) Instrumentieren des Programmablaufgraphen:

Rekonstruktion (SetEvents) Instrumentieren des Programmablaufgraphen:

Rekonstruktion (SetEvents) Instrumentieren des Programmablaufgraphen:

Rekonstruktion (SetEvents) Instrumentieren des Programmablaufgraphen:

Rekonstruktion (SetEvents) Instrumentieren des Programmablaufgraphen:

Ziel der Diplomarbeit Neues Verfahren für automatische Ablaufprotokollierung in einer Laufzeitumgebung kompletten Rekonstruktion des Programmablaufes Ohne Verwendung von Zusatzprogrammen Zur Laufzeit Anspruch: keine Änderung des Quellcode Laufzeit nicht stark beeinflußt

Nachweis durch Implementierung Graph ist gegeben durch java bytecode Erweitern oder modifizieren des Instruktionssets von openjdk (https://openjdk.dev.java.net/) Programmiersprache C/C++ Versionskontrollsystem subversion (https://openjdk.dev.java.net/svn/openjdk/)

Integration des neuen stack trace Auszug aus hotspot/src/share/vm/interpreter/bytecodes.hpp „class Bytecodes: AllStatic { public: enum Code { _illegal = -1, // Java bytecodes _breakpoint = 202, // 0xca“ Nachhaltige Änderung des Bytecodes Z.B. durch Änderung bestehender BCs oder Hinzufügen eines neuen BCs -Eventhandler an den Bytecode anbinen

Performanzauswertung Benchmark durch Zeitvergleich: Benötigte Zeit des Klassenladers : ohne Markierung mit Knuth-Stevenson Algorithmus mit SetEvents Algorithmus