HMPT: a human–machine cooperative program translation method

Xin Zhang, Zhiwen Yu, Jiaqi Liu, Hui Wang, Liang Wang, Bin Guo

科研成果: 期刊稿件文章同行评审

摘要

Program translation aims to translate one kind of programming language to another, e.g., from Python to Java. Due to the inefficiency of translation rules construction with pure human effort (software engineer) and the low quality of machine translation results with pure machine effort, it is suggested to implement program translation in a human–machine cooperative way. However, existing human–machine program translation methods fail to utilize the human’s ability effectively, which require human to post-edit the results (i.e., statically modified directly on the model generated code). To solve this problem, we propose HMPT (Human-Machine Program Translation), a novel method that achieves program translation based on human–machine cooperation. It can (1) reduce the human effort by introducing a prefix-based interactive protocol that feeds the human’s edit into the model as the prefix and regenerates better output code, and (2) reduce the interactive response time resulted by excessive program length in the regeneration process from two aspects: avoiding duplicate prefix generation with cache attention information, as well as reducing invalid suffix generation by splicing the suffix of the results. The experiments are conducted on two real datasets. Results show compared to the baselines, our method reduces the human effort up to 73.5% at the token level and reduces the response time up to 76.1%.

源语言英语
文章编号27
期刊Automated Software Engineering
30
2
DOI
出版状态已出版 - 11月 2023

指纹

探究 'HMPT: a human–machine cooperative program translation method' 的科研主题。它们共同构成独一无二的指纹。

引用此