Presented By O’Reilly and Intel AI
Put AI to work
8-9 Oct 2018: Training
9-11 Oct 2018: Tutorials & Conference
London, UK

How machines learn to code: Machine learning on source code

Thomas Endres (TNG), Samuel Hopstock (TNG Technology Consulting)
13:45–14:25 Thursday, 11 October 2018
Implementing AI
Location: King's Suite - Sandringham

Who is this presentation for?

  • Developers and data scientists

Prerequisite knowledge

  • A basic understanding of machine learning techniques
  • Familiarity with the basic principles of domains such as NLP and image recognition

What you'll learn

  • Explore models for representing code as feature vectors, ways to encode information about code quality and other metrics as output vectors, machine learning techniques suitable for this problem, and methods for generating input and output data (natural and artificial)
  • Learn how to integrate this new approach into IDEs


Machine learning on source code is a new area of research in the field of artificial intelligence, which, unlike classical problems such as image segmentation, does not yet have established standard techniques. For instance there are standard methods for processing images that make machine learning algorithms pay attention to their two-dimensionality. However, there are currently no common techniques for encoding the semantic structure of source code. Therefore, you need new ways to mathematically represent the code of projects. This technology offers a variety of possible applications, for example, in the area of static code analysis or in the automatic selection of relevant test cases.

Thomas Endres and Samuel Hopstock share methods for transferring classic machine learning approaches to this new field of expertise. Along the way, Thomas and Samuel detail approaches for both automatic and manual training data generation and offer an overview of suitable models and machine learning frameworks for this challenge. They conclude by exploring the possibilities of using such models for the analysis of code.

Photo of Thomas Endres

Thomas Endres


Thomas Endres is a partner at TNG, where he works as an IT consultant. Besides his normal work for the company and the customers, he creates various prototypes, like a telepresence robotics system with which you can see reality through the eyes of a robot, or an augmented reality AI that shows the world from the perspective of an artist. He’s working on various applications in the fields of AR, VR, and AI and gesture control, putting them to use, for example, in autonomous or gesture-controlled drones. But he’s also involved in other open source projects written in Java, C#, and all kinds of JavaScript languages. Thomas studied IT at the TU Munich and is passionate about software development and all the other aspects of technology. As an Intel Software Innovator and Black Belt, he promotes new technologies like AI, AR, and VR and robotics around the world. For this he’s received, among others, a JavaOne Rockstar award.

Photo of Samuel Hopstock

Samuel Hopstock

TNG Technology Consulting

Samuel Hopstock is working toward his bachelor’s degree in computer science at the Technical University of Munich. He’s also a working student at TNG Technology Consulting in Unterföhring, where he is currently involved in the development of software in the field of machine learning with Python and Java. He is interested in any new technological developments, especially involving Android.