From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 99C65BC37 for ; Thu, 3 Sep 2009 03:57:12 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjUDAA+/nkqCcUBTaGdsb2JhbACTfoc+DQUGCgcTwCeEGwU X-IronPort-AV: E=Sophos;i="4.44,321,1249250400"; d="scan'208";a="32110687" Received: from sigma957.cis.mcmaster.ca ([130.113.64.83]) by mail2-smtp-roc.national.inria.fr with ESMTP; 03 Sep 2009 03:57:11 +0200 Received: from Gorash7.UTS.McMaster.CA (Gorash7.UTS.mcmaster.ca [130.113.196.61]) by sigma957.cis.mcmaster.ca (8.13.7/8.13.7) with ESMTP id n831v0r5013652 for ; Wed, 2 Sep 2009 21:57:10 -0400 (EDT) Received: from cgpsrv2.cis.mcmaster.ca (univmail.CIS.McMaster.CA [130.113.64.46]) by Gorash7.UTS.McMaster.CA (8.13.7/8.13.7) with ESMTP id n831upmV020028 for ; Wed, 2 Sep 2009 21:56:51 -0400 Received: from [99.235.230.129] (account carette@univmail.cis.mcmaster.ca HELO [192.168.1.102]) by cgpsrv2.cis.mcmaster.ca (CommuniGate Pro SMTP 5.2.12) with ESMTPSA id 267535781 for caml-list@inria.fr; Wed, 02 Sep 2009 21:56:51 -0400 Message-ID: <4A9F2264.7000909@mcmaster.ca> Date: Wed, 02 Sep 2009 21:56:52 -0400 From: Jacques Carette User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: caml-list@inria.fr Subject: Re: [Caml-list] Ocaml clone detector References: <20090903111944.6479d156.mle+ocaml@mega-nerd.com> In-Reply-To: <20090903111944.6479d156.mle+ocaml@mega-nerd.com> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-PMX-Version-Mac: 5.5.5.374460, Antispam-Engine: 2.7.1.369594, Antispam-Data: 2009.9.3.14524 X-PerlMx-Spam: Gauge=X, Probability=10%, Report=' TO_IN_SUBJECT 0.5, BODY_SIZE_1000_LESS 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_400_499 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, TO_NO_NAME 0, __BOUNCE_CHALLENGE_SUBJ 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MOZILLA_MSGID 0, __SANE_MSGID 0, __USER_AGENT 0' X-Spam: no; 0.00; ocaml:01 abstraction:01 wrote:01 caml-list:01 mcmaster:02 seems:03 jacques:03 jacques:03 languages:03 erik:04 clone:06 clone:06 code':89 maybe:10 duplicated:11 Erik de Castro Lopo wrote: > Maybe it would help if you explained what a "clone detector" > is. > A "clone" is software-engineering speak for "duplicated code". Exactly what qualifies as 'duplicated code' and how to efficiently find such (without too many false positives nor false negatives) is still fairly active research. This is a huge issue in languages without decent abstraction features, and less so otherwise (or so it seems). Jacques