Buch, Deutsch, 189 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 312 g
Reihe: Xpert.press
Übersetzungstechniken, Analysen und Transformationen
Buch, Deutsch, 189 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 312 g
Reihe: Xpert.press
ISBN: 978-3-642-63999-9
Verlag: Springer
Objektorientierung ist eine der wesentlichen Techniken zur Realisierung von Softwaresystemen. Die unbestrittenen Vorteile dieses Ansatzes bei der Modellierung und Implementierung müssen jedoch häufig durch eine geringere Effizienz der so erstellten Programme erkauft werden. Dieses Buch vermittelt moderne Optimierungstechniken, die es Übersetzern für objektorientierte Programmiersprachen wie Sather, Java oder C# ermöglichen, automatisch effizientere ausführbare Programme zu erzeugen. Ausgehend von den speziellen Anforderungen an die Optimierung objektorientierter Programme werden in einem ganzheitlichen Ansatz geeignete übersetzerinterne Programmrepräsentationen, Algorithmen für deren globale Analyse und zielgerichtete Programmtransformationen zur Effizienzsteigerung vermittelt.
Zielgruppe
Professional/practitioner
Autoren/Hrsg.
Weitere Infos & Material
1 Einleitung.- 2 Anforderungsanalyse.- 2.1 Ineffizienzen objektorientierter Programme.- 2.2 Benötigte Optimierungen.- 2.3 Benötigte Programminformationen.- 2.4 Approximation von Programminformationen.- 2.5 Beziehungen zwischen Programminformationen.- 2.6 Zusammenfassung.- 3 Stand von Forschung und Technik.- 3.1 Optimierungen.- 3.2 Programmanalyse.- 3.3 Programmrepräsentation.- 3.4 Offene Probleme.- 4 Explizite Abhängigkeitsgraphen.- 4.1 Darzustellende Informationen.- 4.2 Syntax und Semantik expliziter Abhängigkeitsgraphen.- 4.3 Aufbau aus der semantischen Analyse.- 4.4 Abbau der Darstellung.- 4.5 Zusammenfassung.- 5 Programmanalyse über expliziten Abhängigkeitsgraphen.- 5.1 Analyse von Werten und Abhängigkeiten.- 5.2 Beschleunigung der Konvergenz.- 5.3 Reduktion des Speicherbedarfs.- 5.4 Modellierung kontextsensitiver Werte mit ?-Termen.- 5.5 Zusammenfassung.- 6 Optimierung expliziter Abhängigkeitsgraphen.- 6.1 Transformationen als Graphersetzung.- 6.2 Traditionelle Optimierungen.- 6.3 Beseitigung objektorientierter Ineffizienzen.- 6.4 Reduktion nicht essentieller Abhängigkeiten.- 6.5 Iterative optimierende Übersetzung.- 6.6 Zusammenfassung.- 7 Praktische Ergebnisse.- 7.1 Der Sather-K Übersetzer.- 7.2 Testprogramme.- 7.3 Messungen.- 7.4 Speichereffizienz von ?-Termen.- 7.5 Vergleich zu anderen Übersetzern.- 7.6 Diskussion.- 8 Zusammenfassung.- Literatur.- A Entscheidungsdiagramme.- A.1 Geordnete, binäre Entscheidungsdiagramme.- A.2 Größe von OBDDs.- A.3 Symbolisches Rechnen auf OBDDs.- A.4 Effiziente Implementierung.- A.5 Andere Typen von Entscheidungsdiagrammen.- B Beispielprogramme.