问题标签 [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.
comparison - 如何混淆 C++ 变量和函数
我正在尝试对抄袭进行一些算法比较。我发现了很多抄袭的文本比较。
但是在算法中它是非常不同的。假设某个算法使用了大量的变量、函数和用户定义的结构。如果有人从某人那里复制源代码,他至少会更改变量和函数名称。使用简单的文本比较算法,函数和变量字母的这种差异将被视为“差异”,从而使算法给出剽窃的“错误”。
我想要做的是“概括”(我不知道这是否正确)C++ 源代码中的所有变量、函数和用户定义的结构名称。所以变量将被命名为“a”、“b”,对于函数“... fa(...)”、“... fb(...)”也是如此。我在 PHP 中的字符串变量中有 c++ 源算法进行比较。
我知道应该分析许多其他事情以进行准确的源代码比较,但这对我来说已经足够了。
c++ - 如何创建 C++ 文件的抄袭检测器
嗨,我是一名学生,并且有一个项目“C++ 和 Java 文件中的抄袭检测器”,我遇到了麻烦
我希望(我希望)看到一个示例,该标题中的项目或该领域的文档(在实践部分)
c++ - 如何标记 C++ 源代码文件(转换为标记序列)?
可能重复:
如何创建 c++ 文件的抄袭检测器
一个简单的 lexer.cpp 以将一个简单的 c++ 文件转换为一系列标记
嗨,我有一个项目“C++ 文件的抄袭检测器”
并且需要知道如何将 c++ 文件转换为这样的标记序列:
进入那个:
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++
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;
javascript - 散列 Web 应用程序中的每一行文本
我有这样的需求,
我有一个网络应用程序,工作人员会更新内容,每个人都有自己的帐户。我们在工人中分组,我们将为每个组分配相同的任务。
说第 1 组将首先更新,并在门户中解释了这个概念现在所有其他组都可以自由查看内容,但我们期待其他组的其他一些不错的内容。所以其他人必须更新他们的内容。
我们想避免复制粘贴的事情,一件事是我们不想禁用复制粘贴,但我们打算做的是,监控复制粘贴的东西。就像有人从其他页面复制内容一样,我们应该知道内容是从哪里复制的,从哪一行/哪一页复制。如果我们能够抓住它,那么我们计划对该内容给予负面评价。
有没有办法对每一行进行散列,当复制操作完成时,将隐藏的散列值与内容一起存储,并将其映射到从哪里复制
还是有其他处理方式?
谢谢和问候,萨达南德。
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 只是文本),这将花费太多时间。
c++ - 在网上找到类似的源代码
我怀疑我的一个学生从 Internet 下载了他的解决方案,因为这是一项非常常见的基本任务。任务是在 C++ 中将排序序列合并为单个排序序列。我想找到抄袭的来源。(要明确一点:在组内比较解决方案很容易,这不是这里的任务。)
我的白日梦是我把源代码粘贴到一些textarea
,按“搜索”按钮,它会在互联网上显示类似的源代码。有没有这样的网站?
java - 需要根据词汇级别对单词进行分类的东西
我正在用 Java 做一个抄袭类型的项目,并且想以某种方式根据单词选择的强度给每个单词打分。有什么可以做到这一点或有什么方法可以做到这一点吗?
html - 这些跨度从何而来?
我们不情愿地使用黑板进行测试,几个学生的答案包含大量 HTML 格式。我可以想象在 Word 中写答案并复制/粘贴答案会增加格式。但我看到了这个跨度标签:<span class="goog_qs-tidbit goog_qs-tidbit-0">
几次。我认为它可能来自谷歌搜索,但无法在谷歌或他复制的网站上找到它。有谁知道谁使用这些跨度?
像这样玩数字侦探很有趣,但也很令人沮丧。所有学生注意——当你从互联网上复制/粘贴一些东西时,我知道。