Basics for use
The use of machine learning is being researched and successfully applied in many areas to answer complex questions, for example in facial recognition or text analysis. There is also a strong need for the use of AI methods in IT itself, such as the evaluation or error analysis of software, which currently requires a lot of manual work. However, ML algorithms usually work on input data of a fixed structure and size. Software source code, on the other hand, is hierarchically structured and of variable length.
In a master’s thesis in collaboration with itestra GmbH and the Technical University of Munich, a method was developed to transform source code into vectors so that it can be used as input for ML algorithms. To do this, a transformation is first carried out in graph form and then an alignment is performed, which in turn uses a supervised learning approach.
The method was tested as part of a larger research project to evaluate software quality.
- Source code must be transformed in order to be analyzed by machine learning algorithms.
- This work shows an approach that makes it possible to use ML algorithms for the analysis of software.
Read more?
VECTORIZING SOFTWARE FOR MACHINE LEARNING
Christian Feiler
MASTER THESIS, INSTITUTE OF COMPUTER SCIENCE, TECHNICAL UNIVERSITY OF MUNICH, IN COOPERATION WITH ITESTRA GMBH, 2019