System for improved parallelization of program code, - in which, starting from source code which is present both in a serial variant and in a parallel variant, code blocks (BS, BP) which provide functionally identical results but each come from the two different variants (QCS, QCP) are identified, - in which both variants are each transferred to a language-independent, abstract syntactic form and the abstracted functionally identical blocks (ABS1, ABP1) are stored together in a respective pattern in a semantic pattern database, - in which a manual classification according to categories (MK1..MKi) selected by experts or an automatic classification based on mapping to these categories (MK1..MKi) selected by experts, as determined by means of machine learning, is carried out for a respective pattern, - in which a respective new code block (BSu) to be investigated is then likewise transferred to the abstract syntactic form (AST, ABSu) and is compared with the abstracted serial data blocks (ABS1..ABSn) of all patterns (M1..Mn) in the semantic pattern database, and a category (AKu) best matching the new code block (BSu) is automatically selected in this manner from the categories (MK1..MKi) selected by experts, - in which graph comparison is used to select a best matching pattern (Mx) in such a manner that the serial code (BSx) of the pattern (Mx) is closest to the code (BSu) to be parallelized in the sense of a graph distance, - in which the structural elements of both graphs are then aligned, and a graph transformation is created for the graph (DGSx) of the best matching pattern (Mx) and its parallel version (GPx), and - in which the resulting graph transformation is applied to the graph (GSu) being investigated, and a matching parallel version (GPu) is generated thereby. - in which, starting from source code which is present both in a serial variant and in a parallel variant, code blocks (BS, BP) which provide functionally identical results but each come from the two different variants (QCS, QCP) are identified, - in which both variants are each transferred to a language-independent, abstract syntactic form and the abstracted functionally identical blocks (ABS1, ABP1) are stored together in a respective pattern in a semantic pattern database, - in which a manual classification according to categories (MK1..MKi) selected by experts or an automatic classification based on mapping to these categories (MK1..MKi) selected by experts, as determined by means of machine learning, is carried out for a respective pattern, - in which a respective new code block (BSu) to be investigated is then likewise transferred to the abstract syntactic form (AST, ABSu) and is compared with the abstracted serial data blocks (ABS1..ABSn) of all patterns (M1..Mn) in the semantic pattern database, and a category (AKu) best matching the new code block (BSu) is automatically selected in this manner from the categories (MK1..MKi) selected by experts, - in which graph comparison is used to select a best matching pattern (Mx) in such a manner that the serial code (BSx) of the pattern (Mx) is closest to the code (BSu) to be parallelized in the sense of a graph distance, - in which the structural elements of both graphs are then aligned, and a graph transformation is created for the graph (DGSx) of the best matching pattern (Mx) and its parallel version (GPx), and - in which the resulting graph transformation is applied to the graph (GSu) being investigated, and a matching parallel version (GPu) is generated thereby.