“…Static analysis is intended to assess the program code without executing it [2,26], which means it is achievable even if the code's compilation fails . Static analysis is mainly based on similarity of the code with the model code , in addition to some measurable criteria such as the total number of variables, statements, expressions, etc., and symbolic execution [48,51], which is used consequently to assess the correctness, efficiency , plagiarism [37,51], keywords matching, diagram analysis , and quality of the code . Correctness means that the code is syntactically correct, which can be easily checked through a compiler or interpreter .…”