Qamrun Nahar

Big Brother Compiler

This report is the final report of building a tool that detects cheating between any two Java programs. The inputs are two or more Java programs. The output is an overall percentage of similarity based on the two programs’ similarities: lexically, structurally, and location. In addition, the user sets the similarity threshold. That is, if the overall similarity of the two programs is equal to the similarity threshold or higher, then the similarity file is generated for the two compared programs. The program is written in Java. There are four software modules. They are Lexical, Structure, Location, and User Interface. Two programs will be compared at a time. The Lexical module compares two programs lexically. The Structure module compares two programs structurally. The Location module compares two programs’ location of objects. Using the User Interface module, the user enters two or more programs. The outputs of the two or more compared programs are given to the user by the User Interface module.