Skip to main navigation Skip to search Skip to main content

HMPT: a human–machine cooperative program translation method

  • Northwestern Polytechnical University Xian

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

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%.

Original languageEnglish
Article number27
JournalAutomated Software Engineering
Volume30
Issue number2
DOIs
StatePublished - Nov 2023

Keywords

  • Human–machine cooperation
  • Interactive machine learning
  • Neural machine translation
  • Program translation
  • Transformer

Fingerprint

Dive into the research topics of 'HMPT: a human–machine cooperative program translation method'. Together they form a unique fingerprint.

Cite this