CloneForge: Type-IV Clone Generation Pipeline (implementation and dataset)
收藏Zenodo2026-03-25 更新2026-05-26 收录
下载链接:
https://zenodo.org/doi/10.5281/zenodo.18747786
下载链接
链接失效反馈官方服务:
资源简介:
CloneForge: Type-IV Clone Generation Pipeline
A hybrid pipeline for generating Type-IV (semantic) code clones using Large Language Models (LLMs) and deterministic validation.
The README.md inside CloneForge.zip contains all the details for each step, including examples, configuration, and workflow.
Overview
CloneForge is a fully automated pipeline designed to generate behaviorally equivalent but syntactically diverse implementations of programs (Type-IV clones).
Unlike naive LLM-based generation, CloneForge enforces:
Semantic correctness via test execution
Syntactic diversity via CodeBLEU filtering
Non-redundancy via clustering
This makes it suitable for:
Training ML-based clone detectors
Benchmark creation
Program transformation studies
Pipeline Architecture
The pipeline consists of six main stages:
Normalization → Generation → Syntactic Filtering → Testing → Repairing → Clustering
Each stage is modular and can be executed independently.
Detailed Pipeline
The pipeline is organized into six steps. Each step is documented in detail in the README.md file:
Step 1: NormalizationStandardizes input data into a unified format, extracting code, tests, metadata, and generating AST representations.
Step 2: Clone GenerationGenerates diverse candidate implementations using configurable LLM prompting strategies and refactorings.
Step 3: Syntactic FilteringRemoves clones that are too similar to the original using a CodeBLEU-based similarity threshold.
Step 4: Semantic TestingExecutes unit tests to ensure behavioral equivalence between generated clones and the original implementation.
Step 5: Repairing Clone CandidatesAttempts to fix partially correct clones using LLM-based re-prompting and test feedback.
Step 6: Representative SelectionApplies clustering to select a diverse, non-redundant subset of valid clones.
Usage
Provide an input dataset with at least a set of test cases.
Specify at least one LLM to be prompted.
Set syntactic and semantic thresholds.
Choose prompt configurations.
The pipeline is implemented in Python and is fully automated.
提供机构:
Zenodo创建时间:
2026-03-25



