NiCad Clone Detector

可扩展、灵活的克隆代码检测工具
授权协议 未知
开发语言
所属分类 程序开发、 其他开发相关
软件类型 开源软件
地区 不详
投 递 者 太叔天宇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

NiCad Clone Detector 是一个灵活的基于 TXL 的混合语言敏感/文本比较软件克隆检测系统,基于 Chanchal 关于 NiCad 混合克隆检测方法的博士论文,由 James R. Cordy 和 Chanchal K. Roy 实现。


NiCad Clone Detector 是一个可扩展、灵活的克隆检测工具,旨在通过可以轻松嵌入 IDE 和其它环境中的易于使用的命令行工具实现 NiCad 混合克隆检测方法。它将要检查克隆的源目录或指定要执行的规范化和过滤的配置文件作为输入,并提供 XML 格式的输出结果以便于分析和 HTML 表单以便于浏览。


NiCad 支持一系列语言,包括 C、Java、Python 和 C#,并提供一系列规范化、过滤和抽象。它旨在使用基于组件的插件架构轻松扩展,它可扩展到非常大的系统,并已被用于各种分析,甚至可以直接分析整个 FreeBSD 系统的所有 47 个版本(6000 万行)。

  • Clone准备: 1.       拷贝文件:最好用tar否则一些快捷方式就变成文件了,官方建议用cp –RH,我用过cp –rpf这些都不可以拷贝快捷方式,用tar的时候也要小心,小心把source给覆盖了。 2.       在数据库control文件变化的时候一定要preclone一下,否则clone的时候建control文件会失败或者有部分文件建不进去。 3.       保险起见,检查$

  • https://www.quora.com/What-does-%E2%80%9Cclass-agnostic%E2%80%9D-in-most-of-the-object-detection-papers-mean For a class-aware detector, if you feed it an image, it will return a set of bounding boxes

  • ProjectDescription Visual Leak Detector is a free, robust, open-source memory leak detectionsystem for Visual C++. It's pretty easy to use. After installing it, you just need to tell Visual C++where t

  •  什么是影子clone? 下面的例子包含三个类UnCloneA,CloneB,CloneMain。CloneB类包含了一个UnCloneA的实例和一个int类型变量,并且重载clone()方法。CloneMain类初始化UnCloneA类的一个实例b1,然后调用clone()方法生成了一个b1的拷贝b2。最后考察一下b1和b2的输出:   package clone; class UnCloneA

  • java“指针”       Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能 通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度 clone,认识它们的区别、优点及缺点。         看到这个标题,是不是有点困惑:

  • 1. cloneable clone() 是 Object 的 protected 方法,它不是 public,一个类不显式去重写 clone(),其它类就不能直接去调用该类实例的 clone() 方法。 2. 浅拷贝 拷贝对象和原始对象的引用类型引用同一个对象。 public class ShallowCloneExample implements Cloneable { privat

  • /// <summary> /// 克隆图元到块表记录 /// </summary> /// <param name="objId">id数组</param> /// <param name="btr">块表记录,系统/某个块内</param> /// <returns></returns> publi

  • For a class-aware detector, if you feed it an image, it will return a set of bounding boxes, each box associated with the class of the object inside (i.e. dog, cat, car). It means that by the time the

 相关资料
  • 为了在处理JavaScript对象时通过另一个对象继承一个对象的属性,我经常看到使用,其目的是创建一个具有另一个对象属性的对象,然后对其进行扩展。 为什么我们不能只使用与扩展对象更相关的 ? 请告诉我这两者之间的区别,以及为什么我们不能而不是这是一个昂贵的操作。

  • 我想制作一份扩展的副本,作为我自己扩展的基础。我如何克隆一个TYPO3扩展,以同样的行为开始我自己的扩展。我必须更改哪些文件和参数?

  • 我已经使用了< code >扩展的和< code >灵活的小部件,它们看起来工作起来是一样的。 扩展和灵活有什么区别?

  • 我正在开发基于Twitter Bootstrap的日期选择器,它使用https://github.com/eternicode/bootstrap-datepicker中的日期选择器。 我想要扩展做一些事情,比如允许用户选择2个日期,并在更改时更新以后的日历 选择出发日期 返回日期:禁用所有在出发日期之前的日期选择,以便返回日期始终位于出发日期之前。 目前正在使用以下功能,但它只工作一次... 我

  • 众所周知,是无法修复的(有关更多信息,请参见本问题中的讨论)。 关于替代方案和“我如何做得对”的最后一个问题已经有几年的历史了: null 类将实现的某种接口:. 深度复制。如果的istance引用的实例,则应引用新的. 复制到指定的目标:. 多态复制:如果扩展,则应将的所有属性从复制到。 当然,我可以自己实现所有这些,但是有标准接口不是很合理吗?还是我漏掉了什么? 我的上下文的一点背景。我经常使

  • 第一步: 进入Github克隆界面 如果我们想使用Github上的开源项目,可以使用Android Studio直接下载项目代码。 操作步骤: 第1步: 进入Github克隆界面 三个路径: 欢迎界面: Check out project from Version Control —> Github 菜单栏: File —> New —> Project from Version Control

  • 在较老一代的版本控制系统里,checkout是获取文件的标准操作。你将获得一组特定保 存状态的文件。 在Git和其他分布式版本控制系统里,克隆是标准的操作。通过创建整个仓库的克隆来获得文件。或者说,你实际上把整个中心服务器做了个镜像。凡是主仓库上能做的事, 你都能做。 封闭源码 闭源项目须避免执行touch命令,并确保你从未创建`git-daemon-export-ok`文件。资源 库不再可以通过

  • 我有一个类,它用所有必需的读写方法实现Parcelable接口。这些是我的可打包对象的重要方法... 我的活动包含listview,而arrayadapter包含我的parcelable对象的arraylist。当点击列表项时,我将特定的可解析对象传递给DetailActivity,我可以毫无问题地读取可解析对象...直到现在一切都是完美的…大问题从这里开始..当我更改该对象的任何属性(写入)时,