@eagleoutice/flowr - v2.17.4
    Preparing search index...
    • The basic algorithm of Baxter et al., "Clone Detection Using Abstract Syntax Trees" (ICSM 1998): subtrees of at least massThreshold nodes are bucketed by their shape (ignoring the lexemes of leaves) and compared within their bucket. Buckets are processed by decreasing mass, so a pair is skipped if a member lies within a member of a pair accepted before (the paper removes such pairs afterwards). Roots of files and pairs of a subtree with its ancestor are skipped.

      Parameters

      Returns {
          comparisons: number;
          pairs: { a: SubtreeRef; b: SubtreeRef; similarity: number }[];
          subtrees: number;
      }

      const { pairs } = baxterClones(index.files.map(f => cloneTree(f, index.perspective)), { massThreshold: 30, similarityThreshold: 0.9 });