Skip to content

Commit b6893c8

Browse files
New release
1 parent 7a42a7e commit b6893c8

3 files changed

Lines changed: 55 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@ All notable changes to this project are documented here. The format is based on
44
[Keep a Changelog](https://keepachangelog.com/) and the project aims to follow
55
[Semantic Versioning](https://semver.org/).
66

7+
## [Unreleased]
8+
9+
### Added
10+
- `featfuse cite [--software]` command printing canonical BibTeX (single source
11+
of truth in `featfuse.citation`).
12+
- Auto-generated `REPORT.md` now ends with a "How to cite" BibTeX block, and
13+
generated LaTeX tables carry a citation comment header — every artifact copied
14+
into a paper travels with its reference.
15+
- README: benchmark-positioning table, FAQ, expanded Citation section (including
16+
the journal-published follow-up, doi:10.1142/S0218194025500160).
17+
- `docs/citation_playbook.md` — external discoverability checklist (Zenodo DOI,
18+
Papers with Code, GitHub topics, …).
19+
- `CITATION.cff`: arXiv DOI (10.48550/arXiv.2408.08903).
20+
721
## [0.2.0] — Research infrastructure release
822

923
Turns the single-paper script into a reusable, extensible benchmark platform.

CITATION.cff

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ preferred-citation:
3030
year: 2024
3131
journal: "arXiv preprint"
3232
url: "https://arxiv.org/abs/2408.08903"
33+
doi: "10.48550/arXiv.2408.08903"
3334
identifiers:
35+
- type: doi
36+
value: "10.48550/arXiv.2408.08903"
37+
description: "arXiv DOI"
3438
- type: other
3539
value: "arXiv:2408.08903"
3640
description: "arXiv identifier"

README.md

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
1111
[![Python 3.8+](https://img.shields.io/badge/Python-3.8%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/)
1212
[![Paper](https://img.shields.io/badge/arXiv-2408.08903-b31b1b.svg)](https://arxiv.org/abs/2408.08903)
13+
[![Cite](https://img.shields.io/badge/Cite-BibTeX-blue.svg)](#citation)
14+
15+
**Using FeatFuse in a paper?**[Citation](#citation), or run `featfuse cite`.
1316

1417
</div>
1518

@@ -49,6 +52,17 @@ Engineered features are fused with the transformer's pooled embedding before cla
4952

5053
Whether a given feature + fusion combination helps is an **empirical question** — so FeatFuse answers it with ablations, feature-importance analysis, and significance testing instead of claims.
5154

55+
## How is this different from existing benchmarks?
56+
57+
| | CodeXGLUE / GLUE-style suites | Clone datasets (BigCloneBench, POJ-104, IR-Plag) | **FeatFuse** |
58+
|---|---|---|---|
59+
| Unit of comparison | model vs. model | dataset only | **feature + fusion + model combination** |
60+
| Question answered | which pretrained model is best? | is this pair a clone? | **does *this engineered signal* help *this encoder*, and is the gain significant?** |
61+
| Statistical testing | rarely reported | n/a | built-in (bootstrap CIs, McNemar, paired bootstrap) |
62+
| Ablations / importance | manual | n/a | one flag (`--ablate`, `importance`) |
63+
64+
FeatFuse is complementary: it *consumes* clone datasets and *wraps* pretrained encoders, isolating the contribution of engineered features — a question the model-centric suites don't ask. If your paper reports a feature-augmented code model, FeatFuse gives you the baseline, the significance test, and the LaTeX table.
65+
5266
---
5367

5468
## Quickstart (CPU, no GPU, no downloads)
@@ -152,9 +166,25 @@ Threshold metrics (accuracy, balanced accuracy, precision, recall, F1, MCC), ran
152166

153167
---
154168

169+
## FAQ
170+
171+
**Does hand-crafted feature engineering still matter in the era of large code models?**
172+
That's exactly the question FeatFuse is built to answer empirically, per feature and per encoder, with significance tests. The paper's result — a cheap execution-derived signal lifting GraphCodeBERT from 0.96 to 0.99 F1 on IR-Plag — suggests the answer is not trivially "no".
173+
174+
**Do I need a GPU?**
175+
No. The `smoke` and `classical_features_irplag` configs run on any CPU in seconds. GPUs are only needed to reproduce the neural fine-tuning results.
176+
177+
**Which models can I plug in?**
178+
Any HuggingFace encoder. GraphCodeBERT, CodeBERT and UniXcoder work out of the box; CodeT5, StarCoder, Qwen-Coder and DeepSeek-Coder follow the same one-line registration pattern.
179+
180+
**Can I use FeatFuse for plagiarism detection / clone detection in my own dataset?**
181+
Yes — register a dataset loader (see [docs/adding_a_model.md](docs/adding_a_model.md) for the pattern) and every feature, fusion strategy and metric applies unchanged.
182+
183+
---
184+
155185
## Citation
156186

157-
If you use FeatFuse or this benchmark, please cite the paper:
187+
If FeatFuse or its benchmark results contribute to your research, please cite the paper (or run **`featfuse cite`** — every generated `REPORT.md` and LaTeX table also carries the reference):
158188

159189
```bibtex
160190
@article{martinezgil2024graphcodebert,
@@ -166,7 +196,12 @@ If you use FeatFuse or this benchmark, please cite the paper:
166196
}
167197
```
168198

169-
A machine-readable [`CITATION.cff`](CITATION.cff) is included (GitHub shows a "Cite this repository" button). A related follow-up on interpretability is *Augmenting the Interpretability of GraphCodeBERT for Code Similarity Tasks* ([arXiv:2410.05275](https://arxiv.org/abs/2410.05275)).
199+
To reference the software platform itself (in addition to the paper), `featfuse cite --software` prints a second entry. A machine-readable [`CITATION.cff`](CITATION.cff) is included, so GitHub's "Cite this repository" button works out of the box.
200+
201+
**Related work by the author**
202+
203+
- *Augmenting the Interpretability of GraphCodeBERT for Code Similarity Tasks*, Int. J. of Software Engineering and Knowledge Engineering, 2025. [doi:10.1142/S0218194025500160](https://doi.org/10.1142/S0218194025500160) · [arXiv:2410.05275](https://arxiv.org/abs/2410.05275)
204+
- *Source code clone detection via an ensemble of unsupervised similarity measures*[jorge-martinez-gil/ensemble-codesim](https://github.com/jorge-martinez-gil/ensemble-codesim)
170205

171206
## License
172207

0 commit comments

Comments
 (0)