Kato - A Plagiarism Detection Tool for DLV


Kato is a plagiarism detection tool for DLV-programs. It was developed to detect similar programs in collections of student-assignment solutions from logic programming courses at the Vienna University of Technology. Kato provides four different tests for calculating similarity values between two files: two string-based tests, one attribute-based test, and one structure test. Each of them yields a similarity value between 0 (no similarity) and 1 (perfect match). Currently, the tool is realised for DLV programs but it is designed to handle further ASP solver dialects as well.


Kato, entirely developed in Java (version 6.0), is available as Java archive. Since Kato is used for plagiarism detection in current lectures, we can provide the entire Kato Java archive only for researchers and lecturers on request.



Depending on the number of files to test, the size of the files, and the applied tests, Kato may need more memory than the Java VM normally provides. Otherwise, 'OutOfMemoryErrors' may appear. If this happens, the memory for the Java VM can be increased by starting Kato with the Java parameters ``-Xmx512M -Xss64M'', where Xmx is the maximum available heap size (512MB) and Xss sets the thread stack size (64MB).

Launching Kato

java -jar kato.jar


java -Xmx512M -Xss64M -jar kato.jar


Kato is a plagiarism detection tool for finding similar pairs of programs stemming from student-assignment solutions and thus can perform pairwise similarity tests on rather large collections of programs. Currently, Kato can handle the following covering strategies of plagiarists:

Following a hybrid approach, Kato performs four kinds of comparison tests to find suspected copies. Each test yields a similarity value between 0 (no similarity) and 1 (perfect match).

The system was entirely developed in Java (version 6.0) and provides a graphical user interface for controlling test runs, where a test run is a series of pairwise program comparisons on collections of programs or single program pairs. The user can modify the applied tests and configure how the system displays results. The results of a test run can be saved in a file or exported into a database---currently, only MySQL databases are supported, however.Test results are displayed in a table where each line gives the results of various pairwise program comparisons. For results of single tests, Kato provides more detailed views with details regarding the computed similarities.


E-mail to: {oetsch,puehrer,schwengerer,tompits} "at" kr.tuwien.ac.at

Last update: 09.02.2010