1. A computer implemented method comprising: accessing, from a memory, a trained probabilistic model of natural source code written in a programming language, the probabilistic model arranged to take into account source code analysis output of an analyzer operable with the programming language; operating the analyzer to obtain source code analysis of at least part of a sequence of source code elements; and at a processor, calculating from the probabilistic model and the source code analysis, one or more predictions of elements of the sequence of source code elements.