  This paper aims to evaluate GitHub Copilot's generated code quality based on
the LeetCode problem set using a custom automated framework. We evaluate the
results of Copilot for 4 programming languages: Java, C++, Python3 and Rust. We
aim to evaluate Copilot's reliability in the code generation stage, the
correctness of the generated code and its dependency on the programming
language, problem's difficulty level and problem's topic. In addition to that,
we evaluate code's time and memory efficiency and compare it to the average
human results. In total, we generate solutions for 1760 problems for each
programming language and evaluate all the Copilot's suggestions for each
problem, resulting in over 50000 submissions to LeetCode spread over a 2-month
period. We found that Copilot successfully solved most of the problems.
However, Copilot was rather more successful in generating code in Java and C++
than in Python3 and Rust. Moreover, in case of Python3 Copilot proved to be
rather unreliable in the code generation phase. We also discovered that
Copilot's top-ranked suggestions are not always the best. In addition, we
analysed how the topic of the problem impacts the correctness rate. Finally,
based on statistics information from LeetCode, we can conclude that Copilot
generates more efficient code than an average human.
