#### Контекст
Код перевод (code translation) — это процесс преобразования исходного кода из одного языка программирования (PL) в другой. Он широко используется для портирования программ, обновления старых кодов и адаптации исходного кода к новым средствам разработки. Гарантия функциональной эквивалентности перевода и исправление ошибок, если они возникают, является критически важной задачей в этой области. Несмотря на некоторые усилия в развитии автоматизированных систем для проверки эквивалентности и исправления кода, существуют значительные проблемы, связанные с нехваткой гибкости, высоким техническим затратам и недостаточной общностью. Эти проблемы порождают ложные срабатывания или недостаточно заметные исправления, что в итоге приводит к недостаточному качеству перевода. Эти проблемы мотивируют развитие универсальных, платформонезависимых и автоматизированных систем для проверки и исправления переводов кода.
#### Метод
"MatchFixAgent" — это новая гибридная система, основанная на больших языковых моделях (LLM), предназначенная для решения проблем функциональной эквивалентности и исправления ошибок в переводе кода. Основой системы является многоагентная архитектура, где каждый агент отвечает за отдельную субзадачу. Агент **Equivalence Validation Agent** выполняет подробный семантический анализ исходного кода и его перевода, предоставляя результаты для **Test Agent**, который генерирует и выполняет тесты для проверки эквивалентности. Если тесты завершаются неудачно, то **Repair Agent** пытается исправить ошибку в переводе, используя техники машинного обучения. Наконец, **Verdict Agent** синтезирует все результаты и принимает решение об эквивалентности. Эта система работает в платформонезависимой форме, позволяя работать с любыми парами языков программирования.
#### Результаты
Мы проверили MatchFixAgent на датасете, состоящем из 2,219 переводов из 6 пар языков программирования, собранных из 24 репозиториев GitHub с общим объемом более 900,000 строк кода. Мы сравнили нашу систему с четырьмя текущими методами проверки и исправления переводов. Результаты показали, что MatchFixAgent дает окончательные вердикты на 99.2% всех переводов, согласующиеся с результатами предыдущих методов на 72.8% случаев. Более интересно, когда результаты MatchFixAgent отличаются от ожиданий, 60.7% из них оказываются верными. Кроме того, мы показали, что MatchFixAgent может исправить 50.6% неэквивалентных переводов, в то время как предыдущие методы делали это только в 18.5% случаев. Это показывает, что наш подход значительно более эффективен и универсален.
#### Значимость
MatchFixAgent может применяться во многих областях, где