Logo des Repositoriums
 

Dynamische Code-Evolution für Java

dc.contributor.authorWürthinger, Thomas
dc.contributor.editorHölldobler, Steffen
dc.date.accessioned2020-08-21T08:44:18Z
dc.date.available2020-08-21T08:44:18Z
dc.description.abstractDynamische Code-Evolution ermöglicht strukturelle Änderungen an laufenden Programmen. Das Programm wird temporär angehalten, der Programmierer verändert den Quelltext und dann wird die Ausführung mit der neuen Programm-Version fortgesetzt. Diese Arbeit beschreibt einen neuartigen Algorithmus für die unlimitierte dynamische Neudefinition von Java-Klassen in einer virtuellen Maschine. Die unterstützten Änderungen beinhalten das Hinzufügen und Entfernen von Feldern und Methoden sowie Veränderungen der Klassenhierarchie. Der Zeitpunkt der Veränderung ist nicht beschränkt und die aktuell laufenden Ausführungen von alten Versionen einer Methode werden fortgesetzt. Mögliche Verletzungen der Typsicherheit werden erkannt und führen zu einem Abbruch der Neudefinition. Die entwickelten Techniken können die Entwicklung neuer Programme beschleunigen sowie den Versionswechsel ohne Abschaltpause von Server-Anwendungen ermöglichen. Die Arbeit präsentiert auch ein Programmiermodell für sichere dynamische Aktualisierungen und diskutiert nützliche Limitierungen, die es dem Programmierer ermöglichen, über die semantische Korrektheit einer Aktualisierung Schlussfolgerungen zu ziehen. Alle Algorithmen sind in der Java HotSpot VM implementiert und es wird derzeit seitens Oracle an der Integration in die offizielle Java-Version gearbeitet. Die Evaluierung zeigt, dass die neuen Fähigkeiten weder vor noch nach einer dynamischen Veränderung einen negativen Einfluss auf die Spitzenleistung der virtuellen Maschine haben.de
dc.identifier.isbn978-3-88579-416-5
dc.identifier.pissn1617-5468
dc.identifier.urihttps://dl.gi.de/handle/20.500.12116/33713
dc.language.isode
dc.publisherGesellschaft für Informatik
dc.relation.ispartofAusgezeichnete Informatikdissertationen 2011
dc.relation.ispartofseriesLecture Notes in Informatics (LNI) - Dissertations, Volume D-12
dc.titleDynamische Code-Evolution für Javade
gi.citation.endPage300
gi.citation.publisherPlaceBonn
gi.citation.startPage291

Dateien

Originalbündel
1 - 1 von 1
Vorschaubild nicht verfügbar
Name:
291.pdf
Größe:
316.91 KB
Format:
Adobe Portable Document Format