ALGORITHM AND SOFTWARE IMPLEMENTATION OF MODELS FOR PROGRAM CODE COMPARISON ON THE EXAMPLE OF C-LIKE PROGRAMMING LANGUAGES - Koshovyi, R. V.; Kirei, K. O. (Automatizácia tehnologičeskih i biznes-processov, 2024)
This scientific work introduces an innovative algorithm and its software implementation for addressing the issue of detecting code similarities and identifying instances of code borrowings in software solutions. This development, pre sented in both finished and abstract forms, has the potential to revolutionize the way educators and institutions approach evaluating the creative solutions of student-programmers. The algorithm is designed to automate checks on software solutions submitted by students for various programming challenges, competitions, and Olympiads. The tool provides an effective means of detecting code similarities and flagging potential instances of plagiarism, allowing instructors to ensure that the submissions are original and the result of conscientious efforts. The work presents two examples of creative tasks that require careful evaluation for code similarity, providing concrete illustrations of how the algorithm works in practice. The algorithm itself is described in detail, and parts of the software code implementation in C# programming language are provided, enabling interested parties to explore the tool's technical workings. The results of testing and analysis of the algorithm are presented, with the work highlighting the potential of the tool to automate time-consuming and resource-intensive evaluations of software solutions. Visualizations of the test results provide clear and concise insights into the efficacy of the algorithm, enabling educators to assess the originality of the solutions with ease. Overall, the work is an invaluable contribution to the field of software development, providing educators with an innovative tool for ensuring the originality of software solutions submitted by students. With the growing need for transparency and academic integrity in higher education, this development has significant potential to transform the way institutions approach software solution evaluations, empowering students to pursue creative problem-solving with confidence. All of this can be achived by this algorithm being implemented in the future in bigger application as it`s main or side feature.