Score: 0

Discovering Software Parallelization Points Using Deep Neural Networks

Published: September 5, 2025 | arXiv ID: 2509.16215v2

By: Izavan dos S. Correia, Henrique C. T. Santos, Tiago A. E. Ferreira

Potential Business Impact:

Finds code that runs faster on multiple processors.

Business Areas:
Machine Learning Artificial Intelligence, Data and Analytics, Software

This study proposes a deep learning-based approach for discovering loops in programming code according to their potential for parallelization. Two genetic algorithm-based code generators were developed to produce two distinct types of code: (i) independent loops, which are parallelizable, and (ii) ambiguous loops, whose dependencies are unclear, making them impossible to define if the loop is parallelizable or not. The generated code snippets were tokenized and preprocessed to ensure a robust dataset. Two deep learning models - a Deep Neural Network (DNN) and a Convolutional Neural Network (CNN) - were implemented to perform the classification. Based on 30 independent runs, a robust statistical analysis was employed to verify the expected performance of both models, DNN and CNN. The CNN showed a slightly higher mean performance, but the two models had a similar variability. Experiments with varying dataset sizes highlighted the importance of data diversity for model performance. These results demonstrate the feasibility of using deep learning to automate the identification of parallelizable structures in code, offering a promising tool for software optimization and performance improvement.

Country of Origin
🇧🇷 Brazil

Page Count
19 pages

Category
Computer Science:
Machine Learning (CS)