Volltext-Downloads (blau) und Frontdoor-Views (grau)

Entwicklung eines Compilation-Managers für einen statischen Typchecker für die Programmiersprache Erlang

  • Die Komplexität von Softwareprojekten hat in den letzten Jahren stetig zugenommen. Um den gleichzeitig steigenden Anforderungen an die Codequalität gerecht zu werden, setzen auch ursprünglich dynamisch typisierte Programmiersprachen zuhnemend auf statische Typisierung. Dies kann in Form von externen Werkzeugen geschehen, die zusätzlich zum eigentlichen Compiler den Code auf TypsicherheitDie Komplexität von Softwareprojekten hat in den letzten Jahren stetig zugenommen. Um den gleichzeitig steigenden Anforderungen an die Codequalität gerecht zu werden, setzen auch ursprünglich dynamisch typisierte Programmiersprachen zuhnemend auf statische Typisierung. Dies kann in Form von externen Werkzeugen geschehen, die zusätzlich zum eigentlichen Compiler den Code auf Typsicherheit überprüfen, oder alternativ durch Erweiterung der Compiler selbst, um die Unterstützung für statische Typisierung direkt in der Sprache zu verankern. Ziel des etylizer-Projekts ist es, für die Programmiersprache Erlang zunächst ein solches externes Tool bereitzustellen und langfristig Teil der Compiler-Toolchain zu werden.In dieser Arbeit wird der Typchecker um die Fähigkeit erweitert, Erlang-Projekte vollständig zu verifizieren. Dafür wird zunächst die interne Symboltabelle erweitert, die etylizer nutzt, um Verweise auf Funktionen und Typen aus anderen Modulen aufzulösen. Die Implementierung der Symboltabelle wird so angepasst,dass sie zur Laufzeit um alle für das aktuell geprüfte Modul benötigten Symbole erweitert wird. Um die Laufzeit im Rahmen zu halten, wird ein Algorithmus entwickelt, der die Abhängigkeiten zwischen den Source-Code Dateien des Erlang-Projekts erkennt und anhand dieser entscheidet, welche Dateien sich seit dem letzten Durchlauf geändert haben und deshalb erneut überprüft werden müssen.show moreshow less
  • The complexity of software projects has increased steadily in recent years. In order to meet the simultaneously increasing demands on code quality, even programming languages that were originally dynamically typed are increasingly relying on static typing. This can take the form of external tools that check the code for type safety in addition to the actual compiler, or alternatively by extendingThe complexity of software projects has increased steadily in recent years. In order to meet the simultaneously increasing demands on code quality, even programming languages that were originally dynamically typed are increasingly relying on static typing. This can take the form of external tools that check the code for type safety in addition to the actual compiler, or alternatively by extending the compilers themselves to embed support for static typing directly in the language. The goal of the etylizer project is to provide such an external tool for the Erlang programming language and to become part of the compiler toolchain in the long run.In this work, the type checker is extended by the ability to verify entire Erlang projects. For this purpose,the symbol table, which etylizer uses internally to resolve references to functions and types from other modules,will be extended. The implementation of the symbol table is adapted in such a way that it is extended at runtime by all symbols needed for the currently tested module. To keep the runtime within limits, an algorithm is developed that recognizes the dependencies between the source code files of the Erlang project and uses them to decide which files have changed since the last run and therefore need to be checked again.show moreshow less

Download full text files

  • Masterthesis_Roesch_Markus.pdf
    deu

Export metadata

Additional Services

Search Google Scholar

Statistics

frontdoor_oas
Metadaten
Document Type:Bachelor Thesis
Zitierlink: https://opus.hs-offenburg.de/7360
Bibliografische Angaben
Title (German):Entwicklung eines Compilation-Managers für einen statischen Typchecker für die Programmiersprache Erlang
Title Additional (English):Development of a Compilation Manger for a Static Type Checker for the Erlang Programming Language
Author:Markus Rösch
Advisor:Stefan Wehr, Albert Schimpf
Year of Publication:2023
Granting Institution:Hochschule Offenburg
Page Number:v, 32
Language:German
Inhaltliche Informationen
Institutes:Fakultät Elektrotechnik, Medizintechnik und Informatik (EMI) (ab 04/2019)
Institutes:Abschlussarbeiten / Bachelor-Studiengänge / AI
DDC classes:000 Allgemeines, Informatik, Informationswissenschaft / 000 Allgemeines, Wissenschaft / 004 Informatik
GND Keyword:Compiler
Tag:Erlang; Etylizer
Formale Angaben
Open Access: Closed 
Licence (German):License LogoCreative Commons - CC BY-NC - Namensnennung - Nicht kommerziell 4.0 International