source_code_plagiarism_detector
所属分类:自动编程
开发工具:Turing
文件大小:34475KB
下载次数:0
上传日期:2018-08-20 06:47:17
上 传 者:
sh-1993
说明: 具有抽象语法树比较和图卷积网络的C++源代码抄袭检测器
(Plagiarism detector for C C++ source code with Abstract Syntax Tree Comparsion and also Graph Convolutional Networks)
文件列表:
LICENSE (1377, 2018-08-20)
ast_comparator (0, 2018-08-20)
ast_comparator\.Makefile (158, 2018-08-20)
ast_comparator\apted.jar (35917, 2018-08-20)
ast_comparator\bin (0, 2018-08-20)
ast_comparator\bin\comparator (14376, 2018-08-20)
ast_comparator\bin\score_to_graph (23072, 2018-08-20)
ast_comparator\bin\scorer (18104, 2018-08-20)
ast_comparator\bin\tu_eater (54888, 2018-08-20)
ast_comparator\brk_tree (0, 2018-08-20)
ast_comparator\brk_tree\0_tsh.c.001t.tu.builtin_cmd.tree (431, 2018-08-20)
ast_comparator\brk_tree\0_tsh.c.001t.tu.do_bgfg.tree (1443, 2018-08-20)
ast_comparator\brk_tree\0_tsh.c.001t.tu.eval.tree (992, 2018-08-20)
ast_comparator\brk_tree\0_tsh.c.001t.tu.sigchld_handler.tree (541, 2018-08-20)
ast_comparator\brk_tree\0_tsh.c.001t.tu.sigint_handler.tree (221, 2018-08-20)
ast_comparator\brk_tree\0_tsh.c.001t.tu.sigtstp_handler.tree (231, 2018-08-20)
ast_comparator\brk_tree\0_tsh.c.001t.tu.waitfg.tree (141, 2018-08-20)
ast_comparator\brk_tree\10_tsh.c.001t.tu.builtin_cmd.tree (481, 2018-08-20)
ast_comparator\brk_tree\10_tsh.c.001t.tu.do_bgfg.tree (1267, 2018-08-20)
ast_comparator\brk_tree\10_tsh.c.001t.tu.eval.tree (811, 2018-08-20)
ast_comparator\brk_tree\10_tsh.c.001t.tu.sigchld_handler.tree (771, 2018-08-20)
ast_comparator\brk_tree\10_tsh.c.001t.tu.sigint_handler.tree (121, 2018-08-20)
ast_comparator\brk_tree\10_tsh.c.001t.tu.sigtstp_handler.tree (121, 2018-08-20)
ast_comparator\brk_tree\10_tsh.c.001t.tu.waitfg.tree (171, 2018-08-20)
ast_comparator\brk_tree\11_tsh.c.001t.tu.builtin_cmd.tree (431, 2018-08-20)
ast_comparator\brk_tree\11_tsh.c.001t.tu.do_bgfg.tree (1850, 2018-08-20)
ast_comparator\brk_tree\11_tsh.c.001t.tu.eval.tree (1421, 2018-08-20)
ast_comparator\brk_tree\11_tsh.c.001t.tu.sigchld_handler.tree (751, 2018-08-20)
ast_comparator\brk_tree\11_tsh.c.001t.tu.sigint_handler.tree (91, 2018-08-20)
ast_comparator\brk_tree\11_tsh.c.001t.tu.sigtstp_handler.tree (91, 2018-08-20)
ast_comparator\brk_tree\11_tsh.c.001t.tu.waitfg.tree (171, 2018-08-20)
ast_comparator\brk_tree\12_tsh.c.001t.tu.builtin_cmd.tree (401, 2018-08-20)
ast_comparator\brk_tree\12_tsh.c.001t.tu.do_bgfg.tree (1586, 2018-08-20)
ast_comparator\brk_tree\12_tsh.c.001t.tu.eval.tree (791, 2018-08-20)
ast_comparator\brk_tree\12_tsh.c.001t.tu.sigchld_handler.tree (721, 2018-08-20)
ast_comparator\brk_tree\12_tsh.c.001t.tu.sigint_handler.tree (111, 2018-08-20)
ast_comparator\brk_tree\12_tsh.c.001t.tu.sigtstp_handler.tree (111, 2018-08-20)
ast_comparator\brk_tree\12_tsh.c.001t.tu.waitfg.tree (141, 2018-08-20)
... ...
## SNU Source Code Plagiarism Detector
Overview
---
The basic idea of the detector is
Source Code --> IR From GCC --> AST --> Caculate Tree Edit Distance --> Judge whether it's plagiarism or not
Graghviz for python3 is required.
Use shelllab
---
```
cd ast_comparator
bash start.sh
```
Check graphviz/plagiarism.pdf. It might take 10~20 minutes.
Use other data
---
Comparision requires `*.tu` file generated by GCC.
You are supposed to compile the program with `-fdump-translation-unit -fno-builtin -ffreestanding` and place the `*.tu` file under `test/tu`
Then, please put all `*.tu` files under test/tu/
Also, modify test/scope.conf with scopes you would prefer to focus. Please refer to test/scope.conf.example for a good alignment.
```bash
# Make sure *.tu under test/tu
# Scope added with name of test/scope.conf and formatted similar to test/scope.conf.example
cd ast_comparator
bash start.sh
```
LICENSE
---
```
/// 2018/01/22 Gao Zhiyuan created
///
/// Copyright (c) Computer Systems and Platforms Laboratory, SNU
/// All rights reserved.
///
/// Redistribution and use in source and binary forms, with or without modifi-
/// cation, are permitted provided that the following conditions are met:
///
/// - Redistributions of source code must retain the above copyright notice,
/// this list of conditions and the following disclaimer.
/// - Redistributions in binary form must reproduce the above copyright notice,
/// this list of conditions and the following disclaimer in the documentation
/// and/or other materials provided with the distribution.
///
/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
/// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
/// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
/// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
/// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSE-
/// QUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
/// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
/// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
/// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
/// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
/// DAMAGE.
```
近期下载者:
相关文件:
收藏者: