Font Size: a A A

Research And Implementation Of Assembly Program Online Judge System And Code Plagiarism Detection

Posted on:2018-04-19Degree:MasterType:Thesis
Country:ChinaCandidate:Y Y LeiFull Text:PDF
GTID:2348330518496274Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Assembly language is a basic programming course, teachers can follow up students' mastery of this course through code review manually during its teaching process. However, this approach increased the teachers'teaching burden greatly, besides the students can not get results timely. In addition,there is always a serious plagiarism phenomenon between students' assembly program homework. Therefore, this paper has researched and implemented the assembly program online judge system with anti-plagiarism function.After investigating the development status of online judge system at home and abroad, according to their characteristics, this paper implements the assembly program online judge system by basing on the realization of ACM competition system in Huazhong University of Science and Technology and using the development environment LAMP (Linux +Apache + Mysql + PHP). The system is divided into ordinary users and administrator users according to users' functions. Ordinary users are mainly for students, who use it to do programming exercises, participate in competitions and view rankings. Administrator users are mainly for teachers,who use it to manage problems, hold competitions and do re-judgments. In this paper, the system's analysis and concrete implementation of these functions are expounded in detail, besides the key technologies' realization such as the server sandbox and processes management are highlighted. At present, the system has achieved these basic functions.After investigating the development status of code similarity detection technology at home and abroad, this paper starts researching the similarity detection methods and compares commonly used string matching algorithms,then achieves the assembly program anti-plagiarism function by basing on the implementation of an open source similarity detection tool. The similarity detection process is divided into pre-processing and string matching. In this paper, the principle of similarity detection algorithm is expounded in detail,besides the lexical analyzer technology used in pre-processing is highlighted.Combined with assembly language's characteristics, a lexical analyzer is designed to meet the needs. The string matching algorithm is optimized by using hash table. Multiple sets of program tests prove that this function can detect simple code plagiarism ways such as variable name modification and exchange of statements' order. The assembly program online judge system integrates the anti-plagiarism function. Once the user submits the code, the code similarity is detected and the plagiarism result is returned.
Keywords/Search Tags:online judge system, code similarity detection, sandbox model, lexical analyzer, SIM algorithm
PDF Full Text Request
Related items