hmCodeTrans: Human-Machine Interactive Code Translation

Jiaqi Liu, Fengming Zhang, Xin Zhang, Zhiwen Yu, Liang Wang, Yao Zhang, Bin Guo

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

Code translation, i.e., translating one kind of code language to another, plays an important role in scenarios such as application modernization and multi-language versions of applications on different platforms. Even the most advanced machine-based code translation methods can not guarantee an error-free result. Therefore, the participance of software engineer is necessary. Considering both accuracy and efficiency, it is suggested to work in a human-machine collaborative way. However, in many realistic scenarios, human and machine collaborate ineffectively - model translates first and then human makes further editing, without any interaction. To solve this problem, we propose hmCodeTrans, a novel method that achieves code translation in an interactive human-machine collaborative way. It can (1) save the human effort by introducing two novel human-machine collaboration patterns: prefix-based and segment-based ones, which feed the software engineer's sequential or scattered editing back to model and thus enabling the model to make a better retranslation; (2) reduce the response time based on two proposed modules: attention cache module that avoids duplicate prefix inference with cached attention information, and suffix splicing module that reduces invalid suffix inference by splicing a predefined suffix. The experiments are conducted on two real datasets. Results show that compared with the baselines, our approach can effectively save the human effort and reduce the response time. Last but not least, a user study involving five real software engineers is given, which validates that the proposed approach owns the lowest human effort and shows the users' satisfaction towards the approach.

Original languageEnglish
Pages (from-to)1163-1181
Number of pages19
JournalIEEE Transactions on Software Engineering
Volume50
Issue number5
DOIs
StatePublished - 1 May 2024

Keywords

  • Code translation
  • human-machine collaboration
  • interactive translation

Fingerprint

Dive into the research topics of 'hmCodeTrans: Human-Machine Interactive Code Translation'. Together they form a unique fingerprint.

Cite this