Труды Института системного программирования РАН (Oct 2018)

Applying Deep Learning to C# Call Sequence Synthesis

  • A. E. Chebykin,
  • I. A. Kirilenko

DOI
https://doi.org/10.15514/ISPRAS-2018-30(3)-5
Journal volume & issue
Vol. 30, no. 3
pp. 63 – 86

Abstract

Read online

Many common programming tasks, like connecting to a database, drawing an image, or reading from a file, are long implemented in various frameworks and are available via corresponding Application Programming Interfaces (APIs). However, to use them, a software engineer must first learn of their existence and then of the correct way to utilize them. Currently, the Internet seems to be the best and the most common way to gather such information. Recently, a deep-learning-based solution was proposed in the form of DeepAPI tool. Given English description of the desired functionality, sequence of Java function calls is generated. In this paper, we show the way to apply this approach to a different programming language (C# over Java) that has smaller open code base; we describe techniques used to achieve results close to the original, as well as techniques that failed to produce an impact. Finally, we release our dataset, code and trained model to facilitate further research.

Keywords