如何比较相似的代码库?

2024-02-23

我们有几个基于相同代码库构建的 C++ 项目。它们之间有很多相似之处和共同的代码,但它们是独立开发的;来源未以任何方式共享。即使底层代码没有改变,并且个别行将被调整、更改和替换,类和文件也将被重命名。

我希望能够比较不同的代码库并找出有多少代码仍然相同。它可以是相当高的水平——相同的代码的百分比就可以了。我还需要能够自动化这个过程。

有没有一种工具可以在代码库上运行并获得某种报告/评估常见程度?


我对这类事情没有太多经验,但这让我回想起我的学生时代,当时我们的大学会通过一个程序运行每个人的代码来寻找作弊者。这让我看到了以下链接:

源代码相似度检测 http://www.ics.heacademy.ac.uk/resources/assessment/plagiarism/detectiontools_sourcecode.html

它列出了一些应该满足您的需求的开源和商业软件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何比较相似的代码库? 的相关文章

随机推荐

  • 谷歌地图 API v3 的服务器端集群

    我目前正在开发一种谷歌地图概述小部件 它将位置显示为地图上的标记 标记的数量从数百个到数千个 10000 个以上 不等 现在我正在使用谷歌地图的 MarkerClusterer v3 1 0和谷歌地图 javascript api v3 高
  • 如何给JTextField添加背景图片?

    我知道如何向 JPanel 添加背景图像 创建扩展 JPanel 的 ImagePanel 类并重载它的 PaintComponent 方法 但是 JTextField 的这个技巧无法正常工作 显示图像 但不显示文本 那么 如何正确地向 J
  • Multiprocessing.pool 具有多个 args 和 kwargs 的函数

    我想使用 mutliprocessing pool 方法并行计算 问题是我想在计算中使用的函数提供了两个参数和可选的 kwargs 第一个参数是数据帧 第二个参数是 str 任何 kwargs 是字典 对于我尝试执行的所有计算 我想要使用的
  • 如何在 swift 中导入 JSQMessagesViewController?

    我正在使用 xcode 6 3 swift 1 2 并使用 cocoapods 安装 JSQMessagesViewController 库 这是我的 pod 文件 pod JSQMessagesViewController 和我的桥接文件
  • HttpListener:请求的地址在此上下文中无效

    当创建一个HttpListener对象使用 var server new HttpListener server Prefixes Add http 8080 server Start 一切正常 但是 当我使用 var server new
  • 对齐 2 个矩阵以实现最大重叠

    那么下面是一道面试题 Given two N2 matrices with entries being 0 or 1 How can we find out the number of maximum overlapping 1 s pos
  • 用户因“记住我”而注销

    我似乎无法理解 Identity 2 0 和 cookies 的工作方式 ASP NET MVC 5 我想要的是 如果用户登录并选中 记住我 复选框 我不希望他永远退出 但是发生的情况是 用户在一定时间跨度后退出 如果用户在时间跨度之前关闭
  • 致命错误:未捕获的 CurlException:26:创建表单数据失败抛出

    我收到以下错误 Fatal error Uncaught CurlException 26 failed creating formpost data thrown in home u801961841 public html inc li
  • JQuery 可排序列表和固定/锁定项目

    是否可以锁定 JQuery 可排序列表中的列表项 使这些项保留在列表中的特定位置 例如 考虑这个带有锁定项目的伪列表 item A item B locked item C locked item D item E item F item
  • 是否可以在 PlantUML 中对参与者进行分组?

    我想要一个围绕几个参与者的盒子 表明他们是一个实体的一部分 如何在 PlantUML 中做到这一点 您可以将参与者 装箱 如 plantuml 网站上所示 摘录如下 startuml box Internal Service LightBl
  • 无法使用 VS 2010 启动 SOS.dll

    我正在尝试启动SOS dll from Visual Studio 2010 旗舰版 我收到以下错误 命令期间出错 IDebugClient 要求未实现的接口 命令期间出错 异常 c0000005 发生在 1BC4EF9E 我还为该项目启用
  • 我在 IE 中遇到语法错误,但在 Chrome 中却没有

    所以我有这段代码 一个函数 可以在 Google Chrome Fire Fox 中运行 但不能在 IE 中运行 如果我评论这一行 一切都会运行良好 除了该行至关重要 我有一个名为 ReadCookie 的函数 它基本上只是将 cookie
  • jqgrid:拖放多行

    如何使用 jqgrid 拖放多行 即我可以拖动多于一行吗 我怎么知道这在 jqGrid 中是不可能的 jQuery UI 的可排序功能是否支持它 请参阅http jqueryui com demos sortable http jquery
  • Html:

    标记的正确顺序是什么?

    根据标准 以下哪一项 如果有的话 是正确的 a href p Link Description p a p a href Link Description a p 我知道它们的功能相同 但这是一个最佳实践 标准问题 这也适用于 ul ol
  • C中通过套接字发送文件

    我在学校接到一个任务 用C语言 针对Linux 编写一个FTP程序 我很快就可以使用所有基本功能 ls cd 但是我在文件传输部分遇到了麻烦 我使用 sendfile 通过套接字发送文件 如下所示 int fd open temp O RD
  • postgres hstore同时存在和不存在[重复]

    这个问题在这里已经有答案了 我在远程服务器上设置了 Rails 应用程序并创建了 hstore 扩展 sudo u postgres psql CREATE EXTENSION hstore 然后 我部署了应用程序的迭代 该迭代在 post
  • 如何使用 postgresql 验证 Rails 中的重叠时间

    我有一个Event model具有start at时间和end at我的日程应用程序中的时间 我想在保存之前验证重叠时间 我创建了我的 Rails 应用程序Cloud9 我的视图图像如下 Day1 07 00 07 20 event1 10
  • JMESpath 表达式,用于按属性过滤对象并返回设置了此属性的对象名称列表

    是否可以编写 JMESPath 表达式来返回设置了特定子属性值的对象名称列表 在下面的示例中 我想获取所有主机名的列表 其中文件存在 stat 存在设置为 true 我的目标是使用 Ansible hostvars 结构来获取存在特定文件的
  • 相当于 .NET 中的 Windows 错误代码

    Microsoft 为 Windows 提供了一系列标准化错误代码 http msdn microsoft com en us library ms681381 VS 85 aspx 当适用时 我发现它们可以在我自己的应用程序中参考 而不是
  • 如何比较相似的代码库?

    我们有几个基于相同代码库构建的 C 项目 它们之间有很多相似之处和共同的代码 但它们是独立开发的 来源未以任何方式共享 即使底层代码没有改变 并且个别行将被调整 更改和替换 类和文件也将被重命名 我希望能够比较不同的代码库并找出有多少代码仍