Perplexity-based detectors are the most robust to unknown AI code generators, but they are less accurate and slower than supervised detectors, working best on C/C++ and large code snippets.
Using Document Similarity Methods to create Parallel Datasets for Code Translation
1 Pith paper cite this work. Polarity classification is still indexing.
abstract
Translating source code from one programming language to another is a critical, time-consuming task in modernizing legacy applications and codebases. Recent work in this space has drawn inspiration from the software naturalness hypothesis by applying natural language processing techniques towards automating the code translation task. However, due to the paucity of parallel data in this domain, supervised techniques have only been applied to a limited set of popular programming languages. To bypass this limitation, unsupervised neural machine translation techniques have been proposed to learn code translation using only monolingual corpora. In this work, we propose to use document similarity methods to create noisy parallel datasets of code, thus enabling supervised techniques to be applied for automated code translation without having to rely on the availability or expensive curation of parallel code datasets. We explore the noise tolerance of models trained on such automatically-created datasets and show that these models perform comparably to models trained on ground truth for reasonable levels of noise. Finally, we exhibit the practical utility of the proposed method by creating parallel datasets for languages beyond the ones explored in prior work, thus expanding the set of programming languages for automated code translation.
fields
cs.SE 1years
2024 1verdicts
CONDITIONAL 1representative citing papers
citing papers explorer
-
One Size Does Not Fit All: Investigating Efficacy of Perplexity in Detecting LLM-Generated Code
Perplexity-based detectors are the most robust to unknown AI code generators, but they are less accurate and slower than supervised detectors, working best on C/C++ and large code snippets.