Research

Peer-reviewed papers, theses, patents and books that use or cite jscpd, with how each one used it.

jscpd started as a JavaScript copy/paste detector in 2013 and has since become a measurement instrument in software engineering research: authors run it on their data and report its numbers, new detectors are benchmarked against it, tools embed it, and patents describe systems built on top of it. This page lists every work we have verified against its primary source. Last updated September 2026, 54 works.

RoleMeaningWorks
MethodologyThe authors ran jscpd on their own data and its numbers carry a result24
BaselineA new method is compared against jscpd as an established tool6
Integratedjscpd is a component of someone else's tool, pipeline or invention (five of these are patents)10
Reviewjscpd is the object of study2
MentionNamed in a tool list, footnote or reference table without being run12

Know of a paper that is missing? Open an issue with the reference.

Methodology: jscpd's numbers carry the result

Code Health Meter: A Quantitative and Graph-Theoretic Foundation for Automated Code Quality and Architecture Assessment Hela Ben Khalfallah · ACM Transactions on Software Engineering and Methodology 35(4), article 114, March 2026

This process is operationalized via the jscpd engine, which implements a scalable variant of the Rabin–Karp fingerprinting algorithm.

One of the six "code health" dimensions in the framework is computed by jscpd; its numbers on a 14,000-line codebase (57 clone clusters, 5,220 duplicated tokens, 7.4% duplication) form the experimental section. TOSEM is among the top three software engineering journals.

CIDR: A Large-Scale Industrial Source Code Dataset for Software Engineering Research Vladislav Savenkov · arXiv preprint, cs.SE, v2 August 2026

Duplication rate. The fraction of duplicated code detected by jscpd, a token-based copy-paste detector, over the repository's source files, excluding dependency directories and generated, minified, and lock-file content.

A dataset of 4,225 industrial repositories and 832 million lines of code in 75 languages. jscpd is the sole tool behind one of the nine catalogue metrics; the exact command, exclusion list and timeout are recorded in the appendix as a reproducibility requirement. The author writes that a naive unique-line count was rejected in favour of the token-based detector.

Quality Analysis of iOS Applications with Focus on Maintainability and Security Aspects Kristiina Rahkema, supervised by Dietmar Pfahl · PhD thesis, University of Tartu, 2023

Code duplication was detected using an external tool called jscpd.

Embedded in both tools developed in the thesis because no clone detector for Swift existed. Its results populate the DUPLICATES relation in a graph database and feed three code-smell queries; internal duplication turned out to be the most frequent smell across 273 open-source iOS apps.

CECoder: Fine-Grained Code Element Retrieval for Repository-Level Code Generation Yiming He, Jingzheng Wu, Xiang Ling, Tianyue Luo, Mutian Yang, Chen Zhao · IEEE ISSREW 2025

For each of the 117 repositories in DevEval, we compute the lines of code and the code duplication rate, which is measured using jscpd as the ratio of duplicated lines to total lines.

Characterizes a code-generation benchmark: repositories are grouped by duplication level and the method's generalization is checked per group.

Detekcija i analiza dupliciranog JavaScript koda upotrebom JSInspect alata Tamara Letić · Zbornik radova Fakulteta tehničkih nauka 34(6), 2019

Kako bi performanse alata JSInspect bile zaista evaluirane korišćen je još jedan alat za pronalaženje dupliciranog koda JSCPD, koji radi na potpuno drugačiji način.

The earliest publication found. jscpd and JSInspect were run on three real projects of up to 473 MB; jscpd processed all of them within Node's default 512 MB while JSInspect needed 4 GB, returned more precise results and is recommended for large projects.

Replication Package for Agentic Software Engineering Industrial Case Study Dong Liu, Zhongping Wu · Zenodo, companion to a paper submitted to Empirical Software Engineering, June 2026

Static-quality measures: lizard cyclomatic complexity and jscpd duplication.

An eight-day industrial build of a commercial SaaS system by seven parallel LLM agents; jscpd 5.0.6 measures the quality of the agent-written code, with the raw report and exact command in the archive.

Reproducible Artifacts for Skill-Aware Explainable Framework for Reliable Code Smell Detection in Human–AI Collaborative Programming Elham Horri Najaf Abadi, Shohreh Ajoudanian, Maryam Nooraei Abadeh, Elham Yaghoubi · Zenodo, July 2026

Stage 2 (Structural Ground Truth): Metric extraction (Pylint, Radon, JSCPD) and smell consensus modeling.

jscpd is the only source of the duplication feature in the ground-truth labelling; the raw report in the archive covers 1,853 files, 630 clones and 20.56% duplication.

LambdaNet: Probabilistic Type Inference using Graph Neural Networks Jiayi Wei, Maruth Goyal, Greg Durrett, Isil Dillig · ICLR 2020

We ran jscpd on our entire data set and found that only 2.7% of the code is duplicated. Furthermore, most of these duplicates are intra-project.

Used to prove there is no leakage between the training and test splits of a 300-project, 1.2-million-line TypeScript corpus. The most cited work on this list.

TypeT5: Seq2seq Type Inference using Static Analysis Jiayi Wei, Greg Durrett, Isil Dillig · ICLR 2023

We also run the popular code duplication tool jscpd on our test set to detect duplicated code blocks.

The same group three years later, the same role: about 4% duplicates in the test set.

A Large-Scale Empirical Study of AI-Generated Code in Real-World Repositories Tianhao Mao, Dongfang Zhao, Haixu Tang, Xiaofeng Wang, Hang Zhang · arXiv preprint, April 2026

jscpd is the duplication measure in the tool table of a large-scale study of AI-written code.

From Metrics to Improvement: A Lifecycle-Aware LLM Feedback Framework for Research Software Quality Nafis Tanveer Islam, Nafiseh Soveizi, Yutong Li, Zhiming Zhao · arXiv preprint, August 2026

After receiving the diagnostic report from the six tools we used (Pylint, Radon, JSCPD, Bandit, Gitleaks, and Howfairis), it applies the user-defined metric weights.

The sole tool behind the framework's Code Duplication metric.

Vergleich von Slack und Microsoft Teams Bots Laura Jurgeneit · Bachelor thesis, HAW Hamburg, January 2024

Um doppelte Codes zu finden, wird das Modul jscpd verwendet.

An ISO/IEC 25010 quality comparison; jscpd supplies the clone metric for maintainability across five summary tables.

AI-Assisted and Low-Code Development in Practice: A Case Study of SocialMize Mohammad Rafi Uddin · Master's thesis, University of Turku, June 2026

Code duplication was measured with jscpd 4.x at the default threshold (50 tokens / 5 lines).

1,032 files, 181,940 lines, 430 clones, 3.92% duplication on a production project without automated tests, where jscpd's number is the first of three quality proxies.

AI agentide juhtimine spetsifikatsioonide kaudu: nelja arendustsükli eksperiment Erik Vainumäe · Bachelor thesis, TalTech, 2026

Claude Code built the same application four times from scratch; jscpd is one of four automatic quality measures, weighted 10% in the grading criteria. Backend duplication fell from 6.55% to 1.71% between cycles.

Vexa: Automated Configuration-to-Code Generation for On-Demand State Management in Vue.js Applications Companion Proceedings of ‹Programming› 2026

In the version without Vexa, 778 lines of code (50.98% of the total lines of code) were identified as clones.

The framework's effect is measured with jscpd: the clone share fell from 50.98% to 10.58%.

Interleaving Software Craftsmanship Practices in Medical Device Agile Development Arpitha Badanahatti, Sapna Pillutla, Philips HealthTech · ACM ISEC 2020

An industrial report from medical-device development: jscpd found duplicates in product codebases, findings went into the backlog, and the drop in duplication is charted next to SonarQube, TSLint and CodeScene results.

Empirical Study on Code Smells in iOS Applications Kristiina Rahkema, Dietmar Pfahl · ACM/IEEE MOBILESoft 2020

Code duplication was detected using an external tool called jscpd.

Combining static analysis with deep learning for type inference and code editing Jiayi Wei · PhD thesis, UT Austin, 2023

The thesis behind LambdaNet and TypeT5; jscpd was run on the TypeScript corpus and on the Python sets to defend the validity of every type-inference accuracy metric.

A Benchmark of C++ Cluster-Computing Libraries: MASS C++, HPX, and PM2 Ahmed Bera Pay · Master's thesis, University of Washington, August 2026

Programmability is assessed through objective metrics collected by three tools: Lizard, JSCPD (code duplication detection), and CCCC.

jscpd's output is the Dup% column across all fifteen benchmark and runtime combinations, a use well outside the JavaScript world.

Visualisieren von 24h Daten des ActivPal Sensors Silvan Bollhalder, Quentin Weber · Student research project, OST Switzerland, December 2025

Code-Qualitätsprüfungen mittels ESLint und JSCPD.

jscpd sits in the third stage of the GitLab CI pipeline; "under 3% duplication" is reported as an achieved goal in the executive summary.

CITYSENT: Sentiment analysis of the Netherlands and Flanders Daan Goslinga, Raoul Kalisvaart, Adriaan Pardoel, Cathrine Paulsen, Sarah de Wolf · Bachelor project, TU Delft, June 2020

External audits by the Software Improvement Group flagged duplication but arrived weeks late; the team adopted jscpd as the tool they could run at any moment and used it to locate three copy-paste hotspots.

The Impact of AI Coding Assistants on Code Quality in Open-Source Software: An Empirical Mining Study Lukas Westholt · Seminar paper, Leipzig University, 2026

Duplication from jscpd (strict mode, 50-token minimum).

Fifteen quality metrics over 571 repositories, 272 of them with AI assistants adopted; jscpd covers the duplication metric.

Detection or Co-occurrence? A Controlled Validation of Structural Measures for LLM-Generated Code Kai Yi Ng · Working manuscript, 2026

Pylint reports a function exceeding a statement threshold, Ruff reports a loop that a comprehension would replace, jscpd reports a block appearing twice.

A benchmark of 1,300 clean/smelly Python pairs; a pair enters the duplicate_code class only when jscpd 5 confirms the clone.

oss-profanity: profanity, emoji, and OSS code quality Jakub Dubec · Citable software artifact, OpenCamp 2026, Bratislava

The only polyglot copy-paste detector in the study's stack, run in Docker over a cohort of 1,295 GH Archive repositories; duplication is one of five pre-registered metrics.

Baseline: new methods measured against jscpd

Scores in these papers are often low because jscpd is being compared on obfuscated or semantically altered code, which it is not built for; the point is its place in the reference set.

A Comparative Study of Multi-Language Code-Clone Detectors and a Hybrid Transformer-Based Semantic Approach Anh Duc Nguyen, Zsófia Erdei, Zoltán Alwaháb, Tibor Brunner · Master's thesis, ELTE, and Zenodo artifact, 2025

One of four baselines alongside Dolos, JPlag and PMD CPD, with a 50-combination parameter grid and a report parser in the artifact.

Distilling Benign Knowledge with Fine-Grained AST Fragments for Precise Real-World Web Shell Detection Mingzhe Gao, Ligeng Chen, Yiling He, Yuhang Chen, Lingyun Ying, Wang Yang · IEEE/ACM IWQoS 2025

One of four baselines next to phpcpd, NiCad and Tamer over 182,396 PHP samples.

Методи автоматизації оцінювання студентських робіт з веб-технології Daria Kleban · Master's thesis, Igor Sikorsky Kyiv Polytechnic Institute, 2025

Four clone detectors (jscpd, JSInspect, UniXcoder, CodeBERT) run on the author's own dataset of student work.

JSidentify: A Hybrid Framework for Detecting Plagiarism Among JavaScript Code in Online Mini Games Qun Xia et al., Tencent and Sun Yat-sen University · ICSE 2020, Software Engineering in Practice

One of five baselines for plagiarism detection in WeChat mini games, with a results table per obfuscation type.

JSidentify-V2: Leveraging Dynamic Memory Fingerprinting for Mini-Game Plagiarism Detection Zhihao Li et al., Tencent, CUHK, HKUST · arXiv preprint, August 2025

The follow-up five years later keeps jscpd in the baseline set, with results across eight obfuscation types.

Method and device for detecting similar code functions Liu Jianghong, ByteDance · Chinese patent application CN115729797A, filed 2021

Names jscpd as the representative prior art for complete clone detection; the claimed novelty starts from that baseline.

Reviews: jscpd as the object of study

Estudo empírico sobre duplicação de código em aplicações JavaScript Luís Felipe Leal de Faria · Bachelor thesis, UTFPR, Brazil, 2021

jscpd, JSInspect and Code Climate were run on two test projects; jscpd is declared the best of the three, the only one that found cross-file duplicates, with the clearest report.

Clone Detection Techniques for JavaScript and Language Independence: Review Danyah Alfageh, Hosam Alhakami, Abdullah Baz, Eisa Alanazi, Tahani Alsubait · IJACSA 11(4), 2020

Describes jscpd as Kucherenko's Rabin-Karp-based tool and notes that it matches JSInspect on small projects and does better on large ones.

Integrated: a component of someone else's system

GraphifyEvolution: A Modular Approach to Analysing Source Code Histories Kristiina Rahkema · IEEE/ACM MobileSoft 2021

Plugged in as the external duplicate analyser of a commit-history analysis tool, next to insider for vulnerabilities.

Quality Analysis of Mobile Applications with Focus on Security Kristiina Rahkema · Early Career Researchers Workshop, European Computer Science Summit 2021

A Performance-Engineered Reimplementation of the Bacula File Daemon Heitor Faria · Technical whitepaper, May 2026

A Rust rewrite with an AI assistant; jscpd is a mandatory CI gate next to cargo clippy and lizard, at a 5% threshold, because copy-paste sprawl across sixteen crates was named the main risk of mass generation.

ACR-QA: Automated Code Review and Quality Assurance System Ahmed Mahmoud Abbas · Bachelor thesis, King Salman International University, 2026

The only cross-language copy-paste detector among twelve orchestrated analysers.

Men&Mice Micetro Slack Integration: Final Report Einar Oddur Páll Rúnarsson, Kristján Ari Tómasson, Róbert Elís Villalobos · Bachelor project, Reykjavik University, 2021

GitHub Super-Linter in a Jenkins pipeline, with jscpd as its copy-paste check; passing the pipeline was part of the formal definition of done.

Patents

Five Chinese patents name jscpd in the description of the invention: industrial systems built on the tool and recorded in patent claims.

Method and device for generating components Hu Ao, Shi Tengfei, Beijing Miaozhen AI (formerly AdMaster) · Granted patent CN110221824B, filed 2019, granted March 2024

The only granted patent on the list. jscpd is the first mandatory step of the claimed process: it walks every component of a React project, exports HTML, PMD CPD XML and JSON reports, which are parsed to assemble a shared component from the duplicated code.

Method and device for scanning code repetition Wei Zhengang, Gao Baojun, Cai Xue, Ping An Life Insurance · Patent application CN116860640A, 2023

A webpack plugin built directly on jscpd: it scans Vue files on save in development mode and applies three rules to the JSON report.

Method and device for detecting front-end code performance Wan Miao, Ping An · Patent application CN115061917A, 2022

Documents a real operational workaround: on large repositories the Node.js process ran out of memory, so jscpd was moved to a separate process started with a 5 GB heap.

Method for detecting code duplication degree and related device Wang Xinyue, Agricultural Bank of China · Patent application CN121387699A, filed November 2025

A duplication check wired into pre-commit and pre-receive hooks; Vue components go straight to the jscpd npm package, with the report switched to JSON to build a custom HTML view.

Course recommendation method based on code assessment Ping Gaoming · Patent application CN113761444A, 2021

Student code is scored on five dimensions; duplication is measured with jscpd, and the Rabin-Karp scheme is carried into the dependent claims.

Mentions

A Retrospective on Developing Code Clone Detector CCFinder and Its Impact Toshihiro Kamiya, Shinji Kusumoto, Katsuro Inoue · IEEE Transactions on Software Engineering 51(3), 2025

The creators of CCFinder, on how clone research reached practice, name jscpd as the engine of the Duplicated Code extension for Visual Studio Code, alongside PMD, SonarQube, Axivion Suite and Visual Studio Enterprise.

Looks Good to Me: Constructive Code Reviews Adrienne Braganza · Manning, 2024

Listed in the appendix of recommended tools under copy-paste detection.

GitHub Actions Cookbook Michael Kaufmann · Packt, April 2024

A Super-Linter workflow in the book configures the jscpd check.

Software engineering textbook Hideto Ogawa · Open Japanese textbook, February 2026

The technical-debt chapter gives exactly one command for the duplication metric, jscpd --min-lines 5 src/, with a 5% threshold.

Exploring Dependency Related Breakages in the NPM Ecosystem Shaquille Pearson, Mahmoud Alfadel, Shane McIntosh · University of Waterloo, 2024

Here the jscpd repository is a study subject: one of 24 popular npm projects, with 280 package.json commits and 49 reproduced builds.

A fine-grained taxonomy of code review feedback in TypeScript projects Nicole Davila, Ingrid Nunes, Igor Wiese · Empirical Software Engineering 30(2), January 2025

Cited in a footnote as the ready-made tool for automatic duplication detection, one of the issue categories found in 569 review threads.

Creating a Metric to Measure Software Flexibility in Object-Oriented Programming Thomas Butler · PhD thesis, University of Northampton, 2021

One row in a survey table of about 56 static analysers for PHP.

Implementação de testes automatizados de interface de usuário em sistema web frontend em Angular usando Cypress Fabiana Campos Serra dos Santos · IFRN, Brazil, 2026

52 Claude Code Skills & Hooks You Should Know Jake Morrison · BGB Learn, 2026

Recommends wiring jscpd into a PostToolUse hook and failing the build above a duplication threshold.

TRACE: AI-Assisted Assessment of Collaborative Projects in Computer Science Education Songmei Yu, Andrew Zagula · arXiv preprint and IMSCI 2025

Mixing Linters with GUIs: A Color Palette Design Probe Andrew McNutt, Maureen C. Stone, Jeffrey Heer · arXiv preprint, July 2024

Semantic architectures for domain-specific programming AI agents Muhammad Ishaq, Muhammad Sarmad, Muhammad Asim, Korhan Cengiz, Nikola Ivković · Scientific Reports, May 2026

How to cite jscpd

The repository ships a CITATION.cff, so GitHub's "Cite this repository" button produces BibTeX and APA entries. The BibTeX form:

@software{jscpd,
  title   = {jscpd: copy/paste detector for programming source code},
  author  = {Kucherenko, Andrey},
  year    = {2026},
  license = {MIT},
  url     = {https://github.com/kucherenko/jscpd},
}

How this list was compiled

Candidates came from full-text indexes (OpenAlex, Semantic Scholar, Europe PMC, Google Scholar), a full pass over arXiv's computer-science papers, university repositories, patent databases and publisher catalogues. Every entry was opened at its primary source and checked for three things: that the tool named is jscpd, that the quoted sentence is verbatim, and that the stated role matches what the authors did. Works whose source could not be retrieved are not listed. Searches used the exact string "jscpd"; misspellings, package-URL-only references and the 2013–2018 window were not covered, so the list is a floor, not a ceiling.