Table of Contents
Fetching ...

Automatic Identification of Parallelizable Loops Using Transformer-Based Source Code Representations

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

Abstract

Automatic parallelization remains a challenging problem in software engineering, particularly in identifying code regions where loops can be safely executed in parallel on modern multi-core architectures. Traditional static analysis techniques, such as dependence analysis and polyhedral models, often struggle with irregular or dynamically structured code. In this work, we propose a Transformer-based approach to classify the parallelization potential of source code, focusing on distinguishing independent (parallelizable) loops from undefined ones. We adopt DistilBERT to process source code sequences using subword tokenization, enabling the model to capture contextual syntactic and semantic patterns without handcrafted features. The approach is evaluated on a balanced dataset combining synthetically generated loops and manually annotated real-world code, using 10-fold cross-validation and multiple performance metrics. Results show consistently high performance, with mean accuracy above 99\% and low false positive rates, demonstrating robustness and reliability. Compared to prior token-based methods, the proposed approach simplifies preprocessing while improving generalization and maintaining computational efficiency. These findings highlight the potential of lightweight Transformer models for practical identification of parallelization opportunities at the loop level.

Automatic Identification of Parallelizable Loops Using Transformer-Based Source Code Representations

Abstract

Automatic parallelization remains a challenging problem in software engineering, particularly in identifying code regions where loops can be safely executed in parallel on modern multi-core architectures. Traditional static analysis techniques, such as dependence analysis and polyhedral models, often struggle with irregular or dynamically structured code. In this work, we propose a Transformer-based approach to classify the parallelization potential of source code, focusing on distinguishing independent (parallelizable) loops from undefined ones. We adopt DistilBERT to process source code sequences using subword tokenization, enabling the model to capture contextual syntactic and semantic patterns without handcrafted features. The approach is evaluated on a balanced dataset combining synthetically generated loops and manually annotated real-world code, using 10-fold cross-validation and multiple performance metrics. Results show consistently high performance, with mean accuracy above 99\% and low false positive rates, demonstrating robustness and reliability. Compared to prior token-based methods, the proposed approach simplifies preprocessing while improving generalization and maintaining computational efficiency. These findings highlight the potential of lightweight Transformer models for practical identification of parallelization opportunities at the loop level.

Paper Structure

This paper contains 32 sections, 12 figures, 10 tables.

Figures (12)

  • Figure 1: Workflow of the proposed methodology.
  • Figure 2: Boxplot of training, validation, and test accuracies for the 10 cross-validation folds.
  • Figure 3: Histograms of training, validation, and test accuracies for the 10 folds.
  • Figure 4: Boxplots of precision, recall, and F1-Score metrics across the 10 cross-validation folds.
  • Figure 5: Histograms of precision, recall, and F1-Score metrics across the 10 cross-validation folds.
  • ...and 7 more figures