On the Learnability of Programming Language Semantics

Dan R. Ghica, Khulood Alyahya

Research output: Chapter in Book/Report/Conference proceedingConference contribution

172 Downloads (Pure)

Abstract

Game semantics is a powerful method of semantic analysis for programming languages. It gives mathematically accurate models (“fully abstract”) for a wide variety of programming languages. Game semantic models are combinatorial characterisations of all possible interactions between a term and its syntactic context. Because such interactions can be concretely represented as sets of sequences, it is possible to ask whether they can be learned from examples. Concretely, we are using long short-term memory neural nets (LSTM), a technique which proved effective in learning natural languages for automatic translation and text synthesis, to learn game-semantic models of sequential and concurrent versions of Idealised Algol (IA), which are algorithmically complex yet can be concisely described. We will measure how accurate the learned models are as a function of the degree of the term and the number of free variables involved. Finally, we will show how to use the learned model to perform latent semantic analysis between concurrent and sequential Idealised Algol.
Original languageEnglish
Title of host publicationProceedings 10th Interaction and Concurrency Experience (ICE 2017)
EditorsMassimo Bartoletti, Laura Bocchi, Ludovic Henrio, Sophia Knight
PublisherOpen Publishing Association
Pages57-75
DOIs
Publication statusPublished - 29 Nov 2017
Event10th Interaction and Concurrency Experience (ICE 2017) - Neuchatel, Switzerland
Duration: 22 Jun 201722 Jun 2017

Publication series

NameElectronic Proceedings in Theoretical Computer Science
PublisherOpen Publishing Association
Volume261
ISSN (Electronic)2075-2180

Conference

Conference10th Interaction and Concurrency Experience (ICE 2017)
Country/TerritorySwitzerland
CityNeuchatel
Period22/06/1722/06/17

Fingerprint

Dive into the research topics of 'On the Learnability of Programming Language Semantics'. Together they form a unique fingerprint.

Cite this