Disputation: Beatrice Åkerblom
Disputation
Datum: torsdag 20 mars 2025
Tid: 13.00 – 16.00
Plats: Sal Earth (entréplan i Nodhuset), Borgarfjordsgatan 12, Kista
Välkommen till en disputation på DSV! Beatrice Åkerblom har studerat hur vi med hjälp av statiska typer kan fånga in dynamiskt beteende i program.

20 mars 2025 presenterar Beatrice Åkerblom sin doktorsavhandling på Institutionen för data- och systemvetenskap (DSV) vid Stockholms universitet. Titeln är ”On Typability in Programming Languages”.
Doktorand: Beatrice Åkerblom
Opponent: Christoph Reichenbach, Lunds universitet
Huvudhandledare: Tony Lindgren, DSV
Handledare: Peter Idestam-Almquist, DSV, samt Tobias Wrigstad och Elias Castegren, Uppsala universitet
Ladda ner avhandlingen från Diva
Kontaktuppgifter till Beatrice Åkerblom
Disputationen genomförs i DSVs lokaler i Kista, med start klockan 13.00.
Hitta till DSV
Sammanfattning på engelska
This dissertation examines the relation between expressivity in programming languages and typability of programs.
For all data used in computer programs, it makes sense to perform a certain set of operations on it. The set of meaningful operations vary between different kinds of data, and this defines the type of the data. This means that all data used in computer programs has a type, but programs implemented using different languages treat information about types in different ways. The type information is accessible at different times throughout program implementation and execution.
In statically typed languages the type of all data is checked during compile time. This can provide programmers with valuable early detection of errors but can also lead to the rejection of programs that would actually run without any errors. In dynamically typed languages the approach is instead to defer checking if operations performed on some data is valid to run time. These checks are typically made at the the point in time when the operation is about to be performed. This allows an informed programmer to run programs that a static type system could not guarantee would be free from errors.
There is a trade-off between expressivity and e.g., early error detection and the possibility to use different kinds of optimisation techniques. This dissertation approaches the trade-off problem from several angles. We have examined existing programs to find out how code is written when there are no constraints from static types, both for the use of polymorphism in the dynamically typed language Python where there are no static typing at all, and access patterns used for arrays in the statically typed language Java. The latter has been used to evaluate the expressivity of array capabilities, a novel technique for statically preventing data races in parallel algorithms manipulating arrays.
Senast uppdaterad: 20 mars 2025
Sidansvarig: Institutionen för data- och systemvetenskap, DSV