🤖 AI Summary
In warehouse-scale cross-language code migration, functional correctness verification incurs high costs and often relies on proxy execution or language interoperability. To address this, we propose TRAM: a framework that enables method-level, isolated functional verification without executing the target-language environment. TRAM employs RAG-enhanced, context-aware type mapping for precise cross-language signature alignment, coupled with automated mock object generation and lightweight simulation-based execution. It integrates API documentation retrieval, custom serialization/deserialization, and robust type resolution techniques. Evaluated on Java-to-Python migration, TRAM reduces verification overhead by 62% compared to baselines, improves translation accuracy by 14.3%, and achieves state-of-the-art performance.
📝 Abstract
Repository-level code translation aims to migrate entire repositories across programming languages while preserving functionality automatically. Despite advancements in repository-level code translation, validating the translations remains challenging. This paper proposes TRAM, which combines context-aware type resolution with mock-based in-isolation validation to achieve high-quality translations between programming languages. Prior to translation, TRAM retrieves API documentation and contextual code information for each variable type in the source language. It then prompts a large language model (LLM) with retrieved contextual information to resolve type mappings across languages with precise semantic interpretations. Using the automatically constructed type mapping, TRAM employs a custom serialization/deserialization workflow that automatically constructs equivalent mock objects in the target language. This enables each method fragment to be validated in isolation, without the high cost of using agents for translation validation, or the heavy manual effort required by existing approaches that rely on language interoperability. TRAM demonstrates state-of-the-art performance in Java-to-Python translation, underscoring the effectiveness of its integration of RAG-based type resolution with reliable in-isolation validation.