问题标签 [plagiarism-detection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1382 浏览

comparison - 如何混淆 C++ 变量和函数

我正在尝试对抄袭进行一些算法比较。我发现了很多抄袭的文本比较。

但是在算法中它是非常不同的。假设某个算法使用了大量的变量、函数和用户定义的结构。如果有人从某人那里复制源代码,他至少会更改变量和函数名称。使用简单的文本比较算法,函数和变量字母的这种差异将被视为“差异”,从而使算法给出剽窃的“错误”。

我想要做的是“概括”(我不知道这是否正确)C++ 源代码中的所有变量、函数和用户定义的结构名称。所以变量将被命名为“a”、“b”,对于函数“... fa(...)”、“... fb(...)”也是如此。我在 PHP 中的字符串变量中有 c++ 源算法进行比较。

我知道应该分析许多其他事情以进行准确的源代码比较,但这对我来说已经足够了。

0 投票
1 回答
1978 浏览

c++ - 如何创建 C++ 文件的抄袭检测器

嗨,我是一名学生,并且有一个项目“C++ 和 Java 文件中的抄袭检测器”,我遇到了麻烦

我希望(我希望)看到一个示例,该标题中的项目或该领域的文档(在实践部分)

0 投票
1 回答
3065 浏览

c++ - 如何标记 C++ 源代码文件(转换为标记序列)?

可能重复:
如何创建 c++ 文件的抄袭检测器
一个简单的 lexer.cpp 以将一个简单的 c++ 文件转换为一系列标记

嗨,我有一个项目“C++ 文件的抄袭检测器”

并且需要知道如何将 c++ 文件转换为这样的标记序列:

进入那个:

0 投票
1 回答
32828 浏览

plagiarism-detection - 如何检查源代码作业是否存在抄袭?

我如何判断两个源代码(独立于它们的语言 C、Java、Lisp ......)有强烈的迹象表明它们可能是互相抄袭的?

背景:我将举办我的第一次计算机语言研讨会。我们为主要的编程语言准备了一些小练习,例如 C/C++、Python、Java……以及 OCaml、Haskell……给学生一些实用的介绍(也包括编程范式)。我们估计有大​​约 300 名学生每人有超过 50 个编程任务。所以一个人不能检查所有的作业。

我想用于自然语言(论文、论文、书籍章节等)的反抄袭技术不适用于源代码,对吧?由于所需的接口,这些编程任务的解决方案也将具有固有的相似性。

我做了一些搜索,发现:MOSS在:Checking for code plagiarism with JavaScript and Variable renaming for plagiarism detection for C/C++

0 投票
6 回答
37388 浏览

c++ - 相似代码检测器

我正在寻找一种可以比较源代码的相似性的工具。

我们现在有一个非常琐碎的系统,它有大量的误报,而真正的正则很容易被埋没。

我的要求是:

  • 相当少量的误报
  • 良好的检测率(是的,这些是相互矛盾的)
  • 理想情况下,输出比单个值更复杂
  • 可用于 C (C99) 和 C++(C++03 和最佳 C++11)
  • 仍然保持
  • 可用于比较两个源文件
  • 可在非交互模式下使用

编辑:

为避免混淆,以下两个代码片段是相同的,应该这样检测:

for (int i = 0; i < 10; i++) { bla; }

int i; while (i < 10) { bla; i++; }

和这里一样:

int x = 10; y = x + 5;

int a = 10; y = a + 5;

0 投票
0 回答
84 浏览

javascript - 散列 Web 应用程序中的每一行文本

我有这样的需求,

我有一个网络应用程序,工作人员会更新内容,每个人都有自己的帐户。我们在工人中分组,我们将为每个组分配相同的任务。

说第 1 组将首先更新,并在门户中解释了这个概念现在所有其他组都可以自由查看内容,但我们期待其他组的其他一些不错的内容。所以其他人必须更新他们的内容。

我们想避免复制粘贴的事情,一件事是我们不想禁用复制粘贴,但我们打算做的是,监控复制粘贴的东西。就像有人从其他页面复制内容一样,我们应该知道内容是从哪里复制的,从哪一行/哪一页复制。如果我们能够抓住它,那么我们计划对该内容给予负面评价。

有没有办法对每一行进行散列,当复制操作完成时,将隐藏的散列值与内容一起存储,并将其映射到从哪里复制

还是有其他处理方式?

谢谢和问候,萨达南德。

0 投票
1 回答
5278 浏览

c++ - 抄袭检测-风选算法-指纹冲突

我在大文本文件中编写剽窃检测应用程序。在阅读了很多关于它的文章后,我决定使用Winnowing 算法(使用 Karp-Rabin 滚动哈希函数),但我遇到了一些问题。

数据:

我有两个简单的文本文件——第一个更大,第二个只是第一个的一个段落。

使用的算法:

这是我用来从所有哈希中选择我的指纹的算法。

接下来,为了检测两个文件中是否有相同的文本,我只需比较两个文本的指纹以检查我们是否有匹配项。因此,为了检测抄袭,算法必须采用在文本中完全相同的位置开始的哈希,例如:

Text1: A do run |t^his my check your.

文本 2:我的 bla lol |t^his my dasd 鸡。

为了获得正确的哈希值,它具有相同的值(这也意味着我们有相同的文本),算法应该从我用“|”指向的地方获取指纹 或“^”(我假设我们需要 5 个字符来计算哈希,没有空格)。它不能从 '|' 中获取哈希值 在文本 1 中和文本 2 中的 '^' 因为这两个哈希值不同并且不会检测到抄袭。

问题:

要检测这一段是否是从文本编号 1 复制的,我必须在两个文本的某个位置有两个相同的指纹。问题是算法选择不适合彼此的指纹,我的意思是他们只是错过了,即使在更大的文本中也是如此。

问题:

你有什么想法我可以改进这个算法(这实际上降低了羚牛指纹的正确算法),它会更有可能发现抄袭?

我的想法:

我考虑过运行 winnow 函数几次,对于不同的窗口大小(这将导致采用不同的哈希值),但对于该程序必须在其上工作的大文本(如 2MB 只是文本),这将花费太多时间。

0 投票
1 回答
505 浏览

c++ - 在网上找到类似的源代码

我怀疑我的一个学生从 Internet 下载了他的解决方案,因为这是一项非常常见的基本任务。任务是在 C++ 中将排序序列合并为单个排序序列。我想找到抄袭的来源。(要明确一点:在组内比较解决方案很容易,这不是这里的任务。)

我的白日梦是我把源代码粘贴到一些textarea,按“搜索”按钮,它会在互联网上显示类似的源代码。有没有这样的网站?

0 投票
2 回答
44 浏览

java - 需要根据词汇级别对单词进行分类的东西

我正在用 Java 做一个抄袭类型的项目,并且想以某种方式根据单词选择的强度给每个单词打分。有什么可以做到这一点或有什么方法可以做到这一点吗?

0 投票
1 回答
347 浏览

html - 这些跨度从何而来?

我们不情愿地使用黑板进行测试,几个学生的答案包含大量 HTML 格式。我可以想象在 Word 中写答案并复制/粘贴答案会增加格式。但我看到了这个跨度标签:<span class="goog_qs-tidbit goog_qs-tidbit-0">几次。我认为它可能来自谷歌搜索,但无法在谷歌或他复制的网站上找到它。有谁知道谁使用这些跨度?

像这样玩数字侦探很有趣,但也很令人沮丧。所有学生注意——当你从互联网上复制/粘贴一些东西时,我知道。