ClassEval-T: Evaluating Large Language Models in Class-Level Code Translation

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Xue, Pengyu, Wu, Linhao, Yang, Zhen, Wang, Chengyi, Li, Xiang, Zhang, Yuxiang, Li, Jia, Jin, Ruikai, Pei, Yifei, Shen, Zhaoyan, Lyu, Xiran, Keung, Jacky Wai
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866915239250886656
author Xue, Pengyu
Wu, Linhao
Yang, Zhen
Wang, Chengyi
Li, Xiang
Zhang, Yuxiang
Li, Jia
Jin, Ruikai
Pei, Yifei
Shen, Zhaoyan
Lyu, Xiran
Keung, Jacky Wai
author_facet Xue, Pengyu
Wu, Linhao
Yang, Zhen
Wang, Chengyi
Li, Xiang
Zhang, Yuxiang
Li, Jia
Jin, Ruikai
Pei, Yifei
Shen, Zhaoyan
Lyu, Xiran
Keung, Jacky Wai
contents In recent years, Large Language Models (LLMs) have dramatically advanced the performance of automated code translation, making their computational accuracy score reach up to over 80% on many previous benchmarks. However, most code samples in these benchmarks are short, standalone, statement/method-level, and algorithmic, which is not aligned with practical coding tasks. Therefore, it is still unknown the actual capability of LLMs in translating code samples written for daily development. To achieve this, we construct a class-level code translation benchmark, ClassEval-T, and make the first attempt to extensively assess recent LLMs' performance on class-level code translation. ClassEval-T is extended from ClassEval, a well-known class-level Python code generation benchmark consisting of multiple practical coding topics, such as database operation and game design, and diverse contextual dependencies (e.g., fields, methods, and libraries). It cost us 360 person-hours to accomplish the manual migration to Java and C++ with complete code samples and associated test suites. Subsequently, we design three translation strategies (i.e., holistic, min-dependency, and standalone) for class-level code translations and evaluate eight recent LLMs of commercial, general, and code kinds in diverse families and sizes on ClassEval-T. Experimental results demonstrate a remarkable performance drop compared with the most widely studied method-level code translation benchmark, and obvious discrepancies among LLMs appear, showing the effectiveness of ClassEval-T in measuring recent LLMs. Afterwards, we further discuss the usage scenarios for diverse translation strategies and LLMs' ability to dependency awareness when translating class samples. Finally, 1,243 failure cases made by the best-performing LLM under test are analyzed and categorized in this paper for practical guidance and future enlightenment.
format Preprint
id arxiv_https___arxiv_org_abs_2411_06145
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle ClassEval-T: Evaluating Large Language Models in Class-Level Code Translation
Xue, Pengyu
Wu, Linhao
Yang, Zhen
Wang, Chengyi
Li, Xiang
Zhang, Yuxiang
Li, Jia
Jin, Ruikai
Pei, Yifei
Shen, Zhaoyan
Lyu, Xiran
Keung, Jacky Wai
Software Engineering
In recent years, Large Language Models (LLMs) have dramatically advanced the performance of automated code translation, making their computational accuracy score reach up to over 80% on many previous benchmarks. However, most code samples in these benchmarks are short, standalone, statement/method-level, and algorithmic, which is not aligned with practical coding tasks. Therefore, it is still unknown the actual capability of LLMs in translating code samples written for daily development. To achieve this, we construct a class-level code translation benchmark, ClassEval-T, and make the first attempt to extensively assess recent LLMs' performance on class-level code translation. ClassEval-T is extended from ClassEval, a well-known class-level Python code generation benchmark consisting of multiple practical coding topics, such as database operation and game design, and diverse contextual dependencies (e.g., fields, methods, and libraries). It cost us 360 person-hours to accomplish the manual migration to Java and C++ with complete code samples and associated test suites. Subsequently, we design three translation strategies (i.e., holistic, min-dependency, and standalone) for class-level code translations and evaluate eight recent LLMs of commercial, general, and code kinds in diverse families and sizes on ClassEval-T. Experimental results demonstrate a remarkable performance drop compared with the most widely studied method-level code translation benchmark, and obvious discrepancies among LLMs appear, showing the effectiveness of ClassEval-T in measuring recent LLMs. Afterwards, we further discuss the usage scenarios for diverse translation strategies and LLMs' ability to dependency awareness when translating class samples. Finally, 1,243 failure cases made by the best-performing LLM under test are analyzed and categorized in this paper for practical guidance and future enlightenment.
title ClassEval-T: Evaluating Large Language Models in Class-Level Code Translation
topic Software Engineering
url https://arxiv.org/abs/2411.06145