Proceedings of ISP RAS


Searching for missing library function calls using machine learning

Yakimov I.A. (IKIT SFU, Krasnoyarsk, Russia)
Kuznetsov A.S. (IKIT SFU, Krasnoyarsk, Russia)

Abstract

Software development is a complex and error-prone process. In order to reduce the complexity of software development, third-party libraries are being created. Examples of source codes for popular libraries are available in the literature and online resources. In this paper, we present a hypothesis that most of these examples contain repetitive patterns. Moreover, these patterns can be used to construct models capable of predicting the presence (or absence) of missing calls of certain library functions using machine learning. To confirm this hypothesis, a system was implemented that implements the described functional. Experimental studies confirm the hypothesis. The accuracy of the results reaches 80% with a top-4 accuracy. It can be concluded that this system, with further development, can find industrial application.

Keywords

OpenGL; software quality; recommender systems; machine learning; neural networks

Edition

Proceedings of the Institute for System Programming, vol. 29, issue 6, 2017, pp. 117-134.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2017-29(6)-6

Full text of the paper in pdf (in Russian) Back to the contents of the volume