Source-to-source code translation automatically translates a program from one programming language to another. The existing research on code translation evaluates the effectiveness of their approaches by using either syntactic similarities (e.g., BLEU score), or test execution results. The former does not consider semantics, the latter considers semantics but falls short on the problem of insufficient data and tests. In this paper, we propose (utation-ased Code ranslation nalysis), a novel application of mutation analysis for code translation assessment. We also introduce (utation-based ranslation core), a measure to compute the level of trustworthiness of a translator. If a mutant of an input program shows different test execution results from its translated version, the mutant is killed and a translation bug is revealed. Fewer killed mutants indicate better code translation. MBTA is novel in the sense that mutants are compared to their translated counterparts, and not to their original program's translation. We conduct a proof-of-concept case study with 612 Java-Python program pairs and 75,082 mutants on the code translators TransCoder and j2py to evaluate the feasibility of MBTA. The results reveal that TransCoder and j2py fail to translate 70.44% and 70.64% of the mutants, respectively, i.e., more than two-thirds of all mutants are incorrectly translated by these translators. By analysing the MTS results more closely, we were able to reveal translation bugs not captured by the conventional comparison between the original and translated programs.

Download full-text PDF

Source
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC10700200PMC
http://dx.doi.org/10.1007/s10664-023-10385-wDOI Listing

Publication Analysis

Top Keywords

code translation
20
mutation analysis
8
translation
8
test execution
8
transcoder j2py
8
code
7
mutants
5
analysis evaluating
4
evaluating code
4
translation source-to-source
4

Similar Publications

Want AI Summaries of new PubMed Abstracts delivered to your In-box?

Enter search terms and have AI summaries delivered each week - change queries or unsubscribe any time!