SIR Engine detects when two functions implement identical logic — regardless of language, variable names, or formatting. A Java function and a Python function that do the same thing produce the same hash.
Strip variable names. Strip formatting. Hash what's left. Two functions with matching hashes are structurally identical — no matter what language they're written in.
int findMax(int[] arr) { int max = arr[0]; for (int n : arr) { if (n > max) max = n; } return max; }
def get_largest(items): biggest = items[0] for n in items: if n > biggest: biggest = n return biggest
sir scan ./src from any terminal. Strict mode exits with code 1 for CI/CD pipeline integration.Everything you need for open-source and personal projects.
sir scan ./srcAutomatic duplicate detection on every pull request in private repositories.
For teams and enterprises that need the full platform with business-grade support.
Free to try. No account required.
Upgrade for private repo CI/CD.
SIR_LICENSE_KEY.github/workflows/sir-scan.yml
and paste in the workflow from
here.
SIR_STRICT: "true"
to block merges until all duplicates are resolved.