Dissertation/ Thesis

Static checking of concurrent programs in Elixir using session types

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Static checking of concurrent programs in Elixir using session types
Συγγραφείς: Tabone, Gerard (2022)
Στοιχεία εκδότη: University of Malta
Faculty of Information and Communication Technology
Έτος έκδοσης: 2022
Συλλογή: University of Malta: OAR@UM / L-Università ta' Malta
Θεματικοί όροι: Elixir (Computer program language), Parallel programming (Computer science)
Περιγραφή: M.Sc.(Melit.) ; Message-passing concurrency is becoming increasingly popular, and is prevalently used in several programming languages, such as Go, Scala, Rust and Elixir. In message-passing concurrency, processes interact with each other by exchanging messages. If these messages are sent incorrectly, certain behavioural issues, such as communication mismatches and deadlocks, may arise. We employ session types, which are a form of behavioural types, to detect these kinds of communication errors at compile-time, in the context of the Elixir language. More concretely, session types are protocols used to define the whole message-based interaction between processes, by dictating the order and type of messages that can be sent and received. We use these protocols to annotate public functions in Elixir modules to formalise their expected behaviour in terms of the messages sent and received when executing the body of said functions. Then, we design a (session) type system that uses these protocols to statically analyse and determine whether the functions observe the session type specification. This type system is validated from a formal perspective, by showing that it follows the session fidelity property. Moreover, the type system is validated empirically, by being implemented as a tool, which automates typechecking for Elixir modules. ; N/A
Τύπος εγγράφου: master thesis
Γλώσσα: English
Relation: Tabone, G. (2022). Static checking of concurrent programs in Elixir using session types (Master's dissertation).; https://www.um.edu.mt/library/oar/handle/123456789/141263
Διαθεσιμότητα: https://www.um.edu.mt/library/oar/handle/123456789/141263
Rights: info:eu-repo/semantics/openAccess ; The copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder.
Αριθμός Καταχώρησης: edsbas.B848A9A7
Βάση Δεδομένων: BASE
Περιγραφή
Η περιγραφή δεν είναι διαθέσιμη