Latent semantic analysis of game models using LSTMs

Research output: Contribution to journalArticle

Authors

Colleges, School and Institutes

External organisations

  • King Saud University, Riyadh, KSA
  • University of Exeter

Abstract

We are proposing a method for identifying whether the observed behaviour of a function at an interface is consistent with the typical behaviour of a particular programming language. This is a challenging problem with significant potential applications such as in security (intrusion detection) or compiler optimisation (profiling). To represent behaviour we use game semantics, a powerful method of semantic analysis for programming languages. It gives mathematically accurate models ('fully abstract') for a wide variety of programming languages. Gamesemantic 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 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.

Details

Original languageEnglish
JournalJournal of Logical and Algebraic Methods in Programming
Publication statusAccepted/In press - 8 Apr 2019

Keywords

  • programming language semantics, game semantics, recurrent neural networks, machine learning