Print Email Facebook Twitter Composable Type System Specification using Heterogeneous Scope Graphs Title Composable Type System Specification using Heterogeneous Scope Graphs Author Zwaan, Aron (TU Delft Electrical Engineering, Mathematics and Computer Science) Contributor Visser, E. (mentor) Poulsen, C.B. (graduation committee) Finavaro Aniche, M. (graduation committee) Mosses, P.D. (graduation committee) Cockx, J.G.H. (graduation committee) Degree granting institution Delft University of Technology Programme Computer Science Date 2021-01-27 Abstract Static Analysis is of indispensable value for the robustness of software systems and the efficiency of developers. Moreover, many modern-day software systems are composed of interacting subsystems written in different programming languages. However, in most cases no static validation of these interactions is applied. In this thesis, we identify the Cross-Language Static Semantics Problem, which is defined as "How to provide a formal and executable specification of the static semantics of interactions between parts of a software system written in different languages?" We investigate current solutions to this problem, and propose criteria to which an all-encompassing solution to this problem must adhere. After that, we present a design pattern for the Statix meta-DSL for static semantics specification that allows to model loosely coupled, composable type system specifications. This pattern entails that the semantic concepts of a particular domain are encoded in an interface specification library, which is integrated in the type system of concrete languages. This allows controlled but automated composition of type systems. We show that, under some well-formedness criteria, the system provides correct results. A runtime, executing composed specifications, is implemented using PIE pipelines for partial incrementality, and integrated in the command-line interface and Eclipse IDE platforms, using the Spoofax 3 Framework. This allows using multi-language analysis in concrete projects. The design pattern, and the accompanying runtime are validated using two case studies. These case studies show that the approach is effective, even in a case where there is an impedance mismatch in the data models of the involved languages. Subject StatixMulti-languageType checkingName bindingScope graphSpoofax To reference this document use: http://resolver.tudelft.nl/uuid:68b7291c-0f81-4a70-89bb-37624f8615bd Part of collection Student theses Document type master thesis Rights © 2021 Aron Zwaan Files PDF composable_type_systems_final.pdf 2.17 MB Close viewer /islandora/object/uuid:68b7291c-0f81-4a70-89bb-37624f8615bd/datastream/OBJ/view