Modern scientific research relies on processing large amounts of data using programs that perform hundreds or thousands of operations in parallel. To make it easier to write these programs, scientists use tools called compilers that automatically translate ordinary, one-operation-at-a-time (“sequential”) programs into massively parallel ones. But these translations may be unreliable: Parallel programs are hard to understand and may suffer from unpredictable interactions. In addition, cutting-edge research in the field is leveraging large language models (LLMs) to generate parallel output, and these models come without any guarantees of correctness. This project aims to improve the reliability and the performance of parallelizing compilers by automatically checking that translated code has exactly the same functionality as the original code. This will involve precise modeling of the behavior of both sequential and parallel programs, developing a tool that can compare sequential and parallel programs, and mathematically proving that the tool’s output is always reliable. If a translation passes the check, the translated parallel code is guaranteed to behave in the same way as the sequential code. This project will improve the correctness of parallel programs across many fields of experimental science, increasing the pace of scientific advancement and reducing the harm from incorrect conclusions based on computational errors. The project will also support the training of the next generation of compiler writers and researchers, who will build more efficient and reliable tools for future scientific computing.<br/><br/>As scientific researchers gain access to more powerful computers and larger amounts of data, they become increasingly reliant on correct and efficient parallel computing. Bugs in parallel code can lead to incorrect computations and misleading models -- and waste time, electricity, and money needed to run large-scale computations. The project will involve testing on a real-world LLM-based parallelizing compiler, to show that the tool can guarantee the correctness of its translations, as well as produce hints that help the translator produce more correct and efficient code.<br/><br/>This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.