On the Learnability of Programming Language Semantics

Dan R. Ghica
(University of Birmingham)
Khulood Alyahya
(University of Exeter)

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.

In Massimo Bartoletti, Laura Bocchi, Ludovic Henrio and Sophia Knight: Proceedings 10th Interaction and Concurrency Experience (ICE 2017), Neuchâtel, Switzerland, 21-22nd June 2017, Electronic Proceedings in Theoretical Computer Science 261, pp. 57–75.
Published: 29th November 2017.

ArXived at: http://dx.doi.org/10.4204/EPTCS.261.7 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org