Abstract: This paper concerns machine learning approaches for software engineering, in particular for discovering hidden knowledge from data by learning latent vector representations of source code, and incorporating it to evolutionary algorithms evolving computer programs by improving their crossover operators. It focuses on Grammatical Evolution, as an example of an evolutionary algorithm aiming at constructing a computer program, and code2vec, as a technique of discovering an efficient latent vector code representation. We propose a code2vec-based crossover operator that outperformed the regular one in computational experiments with a number of benchmark computer programs.
Loading