XMLClone is a Software Clone detection system for Microsoft Dynamics NAV.

The architecture consists of three (mostly) independent modules:

    • C/AL parser including normalizer and unparser (discussed here)
    • XMLStore for DAG-ifying the ASTs (Plan-X)
    • Tree traversal and node classification (Plan-X)

How to implement for your own language:

    • Construct parser and XML unparser for the AST
      • Preferably with normalization for literals, variables, ect.
    • Download XMLStore from the Plan-X homepage. There exists several versions. The Document Value Model (by Bøgebjerg and Tejlgaard) was used in XMLClone, but could be replaced
    • Download the Plagiarism Detection tool (Found here) or implement your own DAG traversal.

The XMLClone tool was presented at the International Workshop on Software Clones in Zürich, Switzerland.

Stay tuned for more!