Title: An optimizing compiler for the abstract state machine language CASM
Language: English
Authors: Paulweber, Philipp  
Qualification level: Diploma
Advisor: Krall, Andreas 
Issue Date: 2014
Citation: 
Paulweber, P. (2014). An optimizing compiler for the abstract state machine language CASM [Diploma Thesis]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-64768
Number of Pages: 97
Qualification level: Diploma
Abstract: 
Die Abstrakte Zustandsmaschine (Abstract State Machine, ASM) ist eine mathematisch basierte formale Methode. In dieser Arbeit wird die Corinthian Abstract State Machine (CASM) Programmiersprache vorgestellt, welche eine konkrete Implementierung einer ASM basierenden Allzweck-Programmiersprache ist. CASM unterstützt das Verschachteln von paralleler und sequenzieller Ausführungssemantik und ist eine statisch getypte Sprache. In dieser Arbeit wird die Laufzeit-Umgebung (Run-Time) und der Codegenerator von CASM vorgestellt, wobei beide Teile auf optimierte Ausführung des erzeugten Programms bezüglich der Ausführungszeit ausgelegt sind. Der Codegenerator erzeugt aus dem CASM Quellcode ein C Programm und die dazugehörige Run-Time ist ebenfalls in C implementiert. Der optimierende Compiler, bestehend aus Codegenerator und Run-Time, beinhaltet zusätzlich ein neues Optimierungs-Framework mit einer speziellen CASM Zwischendarstellung (Intermediate Representation, IR). Basierend auf dieser CASM IR werden verschiedene Analysen und Transformationen in dieser Arbeit beschrieben. Die Evaluierung zeigt, dass CASM gegenüber anderen ASM Implementierungen die Performanteste ist. Die Ergebnisse von Benchmark-Tests zeigen, dass die generierten Programme zwei bis drei Größenordnungen schneller ausgeführt werden als von anderen ASM Implementierungen. Das Optimierungs-Framework und die vorgestellten Transformationen verbessern die Ausführungszeit der generierten Programme noch weiter um den Faktor 2 bis 3.

The Abstract State Machine (ASM) is a well known formal method which is based on an algebraic concept. This thesis describes the Corinthian Abstract State Machine (CASM) language which is an implementation of an ASM-based general purpose programming language. Features of this language are its combination of sequential and parallel execution semantics and a statically strong type system. Furthermore, this thesis outlines an optimizing run-time and code generator which enables an optimized execution of CASM programs. The code generator is a CASM to C source-to-source translator and the run-time is implemented in C as well. Moreover the CASM optimizing compiler (run-time and code generator) includes a novel optimization framework with the specialized CASM Intermediate Representation (IR). The CASM IR enables powerful analysis and transformation passes which are presented in detail. The evaluation of this thesis shows that CASM is currently the best performing ASM implementation available. Benchmark results show that the CASM compiler is 2 to 3 orders of magnitude faster than other ASM implementations. Furthermore, the presented optimization passes eliminate run-time costs which increases the execution speed of CASM generated programs by a factor 2 to 3 even further.
Keywords: abstract state machine; compiler
URI: https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-64768
http://hdl.handle.net/20.500.12708/7467
Library ID: AC11682972
Organisation: E185 - Institut für Computersprachen 
Publication Type: Thesis
Hochschulschrift
Appears in Collections:Thesis

Files in this item:


Page view(s)

23
checked on Nov 4, 2021

Download(s)

91
checked on Nov 4, 2021

Google ScholarTM

Check


Items in reposiTUm are protected by copyright, with all rights reserved, unless otherwise indicated.