Enhancing Translation Validation of Compiler Transformations with Large Language Models

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Wang, Yanzhao, Xie, Fei
Formato: Preprint
Publicado: 2024
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866911768721227776
author Wang, Yanzhao
Xie, Fei
author_facet Wang, Yanzhao
Xie, Fei
contents This paper presents a framework that integrates Large Language Models (LLMs) into translation validation, targeting LLVM compiler transformations where formal verification tools fall short. Our framework first utilizes existing formal verification tools for translation validation. In this work, we use Alive2, a well-known tool in LLVM compiler verification, as an example. When formal verification tools are unable to confirm a transformation's soundness, our framework employs fine-tuned LLMs for prediction. It then applies fuzzing to transformations predicted as potentially unsound by the LLMs due to return values or memory inconsistencies, aiming to find counterexamples. In cases where transformations are unsound for other reasons or sound, or if no counterexamples emerge, the framework directly reports these outcomes without further fuzzing. This methodology has shown effectiveness in complex application such as deep-learning accelerator designs, where traditional formal verification tools struggle.
format Preprint
id arxiv_https___arxiv_org_abs_2401_16797
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Enhancing Translation Validation of Compiler Transformations with Large Language Models
Wang, Yanzhao
Xie, Fei
Programming Languages
Software Engineering
This paper presents a framework that integrates Large Language Models (LLMs) into translation validation, targeting LLVM compiler transformations where formal verification tools fall short. Our framework first utilizes existing formal verification tools for translation validation. In this work, we use Alive2, a well-known tool in LLVM compiler verification, as an example. When formal verification tools are unable to confirm a transformation's soundness, our framework employs fine-tuned LLMs for prediction. It then applies fuzzing to transformations predicted as potentially unsound by the LLMs due to return values or memory inconsistencies, aiming to find counterexamples. In cases where transformations are unsound for other reasons or sound, or if no counterexamples emerge, the framework directly reports these outcomes without further fuzzing. This methodology has shown effectiveness in complex application such as deep-learning accelerator designs, where traditional formal verification tools struggle.
title Enhancing Translation Validation of Compiler Transformations with Large Language Models
topic Programming Languages
Software Engineering
url https://arxiv.org/abs/2401.16797