Titre : |
Deep learning for UML model classification, and the analysis of UML class and activity diagrams. |
Type de document : |
texte imprimé |
Auteurs : |
Meriem Mami, Auteur ; Imene Bensalah ; Abderrahim Lakehal, Directeur de thèse |
Editeur : |
Setif:UFA |
Année de publication : |
2024 |
Importance : |
1 vol (88 f .) |
Format : |
29 cm |
Langues : |
Anglais (eng) |
Catégories : |
Thèses & Mémoires:Informatique
|
Mots-clés : |
UML : Unified Modeling Language
CD : Class diagram
CNN : Convolutional
Neural Networks
DL : Deep learning
TL : Transfer Learning. |
Index. décimale : |
004 - Informatique |
Résumé : |
UML diagrams are crucial for visualizing and understanding the design and structure
of software systems. Accurately classifying and identifying UML components is essential to
maintain the quality and efficiency of software development processes.
This thesis discusses the application of CNNs in classifying UML diagrams. The thesis focuses
on utilizing DL techniques to accurately classify UML diagrams into different categories,
including UML and non-UML classes, while addressing multi-label and multi-classification challenges.
The dataset consists of 11 folders containing UML diagrams and non-UML images, presenting
a challenging classification task due to the complexity and variability of UML diagrams.
The study emphasizes the importance of data preprocessing, including image normalization and
augmentation, to enhance the model’s ability to generalize. Additionally, transfer learning techniques
are explored to leverage pre-trained models and improve classification performance, given
the limited size of the dataset. The performance of the CNN model is evaluated using standard
evaluation metrics, such as accuracy, precision, recall, and F1 score, to assess its effectiveness
in multi-label and multi-class classification of UML diagrams.
Furthermore, comparisons are made with existing techniques to highlight the advantages of
using CNNs for UML image classification with multi-label and multi-classification. The results
demonstrate the CNN model’s ability to achieve high classification accuracy, indicating its potential
for automating the classification of UML diagrams in real-world applications. This study
contributes to the field of AI in software engineering by demonstrating the effectiveness of deep
learning techniques for UML diagram classification with multi-labeling and multi-classification,
paving the way for future research in this area. |
Note de contenu : |
Sommaire
1 Introduction into UML modelling, and machine learning 12
1.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 UML definition: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 UML history: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 UML concept and components : . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.1 UML Diagrams : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.1.1 Structural diagrams in UML : . . . . . . . . . . . . . . . . . . . 15
1.4.1.2 Behavioral diagrams in UML : . . . . . . . . . . . . . . . . . . . 15
1.4.2 Relationships in UML: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.3 Class diagram in UML: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.4 Activity diagram in UML: . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Deep learning and Machine learning : . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1 Machine Learning : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1.1 Approaches in Machine Learning : . . . . . . . . . . . . . . . . 19
1.5.1.2 Machine Learning Process : . . . . . . . . . . . . . . . . . . . . 20
1.6 Concepts : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.0.1 Cross Validation : . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.0.2 Splitting the dataset : . . . . . . . . . . . . . . . . . . . . . . . 24
1.6.0.3 Overfitting and Underfitting : . . . . . . . . . . . . . . . . . . . 25
1.7 Deep Learning : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.8 Deep Learning Workflow: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.9 Optimization in deep learning: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.10 Regularization for Deep Learning: . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.10.1 Dropout: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.10.2 Batch Normalization: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.11 Deep Learning Models: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.11.1 Multi-layer Perceptron (MLP): . . . . . . . . . . . . . . . . . . . . . . . 31
1.11.2 Autoencoders (AE): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.11.3 Convolutional neural network (CNN): . . . . . . . . . . . . . . . . . . . . 32
1.11.3.1 General Model Of Convolutional neural network (CNN): . . . . 33
1.12 Machine Learning and Deep learning Applications : . . . . . . . . . . . . . . . . 37
1.13 Conclusions: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2 Machine learning and UML model Classification: literature review 41
2.1 Introduction : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2 The use of machine learning and deep learning in UML model classification: . . 43
2.3 the benefits of using machine learning and deep learning in uml model classification: 43
2.4 Advancements in ML, DL, and CNN Models in UML Classification : . . . . . . 44
2.4.1 Challenges : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5 Related work : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.6 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3 CNN for UML class classification: multi labelling and multiclassification 55
3.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2 Data preprocessing: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1 UML diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.2 Class diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.3 Activity diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3 Transfer learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.1 Pretrained Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.1.1 AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.1.2 AlexNet architecture . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.4 CNN model for UML class prediction: Multiclassification: . . . . . . . . . . . . . 62
3.4.1 Architecture: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5 CNN model for Class diagram component prediction: Multi-labelling . . . . . . 63
3.5.1 Architecture: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.5.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6 CNN model for Activity diagram component prediction: Multi-labelling . . . . 64
3.6.1 Architecture: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7 Model Evaluation Metrics: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7.1 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.2 Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.3 Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.4 F1-score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4 Experiments and results 68
4.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Implementation frameworks and tools: . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.2 Tensorflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.3 Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.4 Kaggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.5 pytorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.6 Google Colab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Datasets Description: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4 Classification : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.1 Transfer learning Results : . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.1.1 AlexNet: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.2 The CNN Results : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.2.1 CNN model for UML class prediction:Multiclassification . . . . 76
4.4.3 Detailed Analysis: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.3.1 Observations: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.3.2 Recommendations: . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.5 Models comparison : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.5.1 The CNN multilabeling Architecture Results : . . . . . . . . . . . . . . . 79
4.5.1.1 CNN model for Activity diagram component prediction: Multilabelling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.5.1.2 CNN model for Class diagram component prediction: Multilabelling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.6 Conclusion : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 |
Côte titre : |
MAI/0886 |
Deep learning for UML model classification, and the analysis of UML class and activity diagrams. [texte imprimé] / Meriem Mami, Auteur ; Imene Bensalah ; Abderrahim Lakehal, Directeur de thèse . - [S.l.] : Setif:UFA, 2024 . - 1 vol (88 f .) ; 29 cm. Langues : Anglais ( eng)
Catégories : |
Thèses & Mémoires:Informatique
|
Mots-clés : |
UML : Unified Modeling Language
CD : Class diagram
CNN : Convolutional
Neural Networks
DL : Deep learning
TL : Transfer Learning. |
Index. décimale : |
004 - Informatique |
Résumé : |
UML diagrams are crucial for visualizing and understanding the design and structure
of software systems. Accurately classifying and identifying UML components is essential to
maintain the quality and efficiency of software development processes.
This thesis discusses the application of CNNs in classifying UML diagrams. The thesis focuses
on utilizing DL techniques to accurately classify UML diagrams into different categories,
including UML and non-UML classes, while addressing multi-label and multi-classification challenges.
The dataset consists of 11 folders containing UML diagrams and non-UML images, presenting
a challenging classification task due to the complexity and variability of UML diagrams.
The study emphasizes the importance of data preprocessing, including image normalization and
augmentation, to enhance the model’s ability to generalize. Additionally, transfer learning techniques
are explored to leverage pre-trained models and improve classification performance, given
the limited size of the dataset. The performance of the CNN model is evaluated using standard
evaluation metrics, such as accuracy, precision, recall, and F1 score, to assess its effectiveness
in multi-label and multi-class classification of UML diagrams.
Furthermore, comparisons are made with existing techniques to highlight the advantages of
using CNNs for UML image classification with multi-label and multi-classification. The results
demonstrate the CNN model’s ability to achieve high classification accuracy, indicating its potential
for automating the classification of UML diagrams in real-world applications. This study
contributes to the field of AI in software engineering by demonstrating the effectiveness of deep
learning techniques for UML diagram classification with multi-labeling and multi-classification,
paving the way for future research in this area. |
Note de contenu : |
Sommaire
1 Introduction into UML modelling, and machine learning 12
1.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 UML definition: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 UML history: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 UML concept and components : . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.1 UML Diagrams : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.1.1 Structural diagrams in UML : . . . . . . . . . . . . . . . . . . . 15
1.4.1.2 Behavioral diagrams in UML : . . . . . . . . . . . . . . . . . . . 15
1.4.2 Relationships in UML: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.3 Class diagram in UML: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.4 Activity diagram in UML: . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Deep learning and Machine learning : . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1 Machine Learning : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1.1 Approaches in Machine Learning : . . . . . . . . . . . . . . . . 19
1.5.1.2 Machine Learning Process : . . . . . . . . . . . . . . . . . . . . 20
1.6 Concepts : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.0.1 Cross Validation : . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.0.2 Splitting the dataset : . . . . . . . . . . . . . . . . . . . . . . . 24
1.6.0.3 Overfitting and Underfitting : . . . . . . . . . . . . . . . . . . . 25
1.7 Deep Learning : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.8 Deep Learning Workflow: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.9 Optimization in deep learning: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.10 Regularization for Deep Learning: . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.10.1 Dropout: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.10.2 Batch Normalization: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.11 Deep Learning Models: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.11.1 Multi-layer Perceptron (MLP): . . . . . . . . . . . . . . . . . . . . . . . 31
1.11.2 Autoencoders (AE): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.11.3 Convolutional neural network (CNN): . . . . . . . . . . . . . . . . . . . . 32
1.11.3.1 General Model Of Convolutional neural network (CNN): . . . . 33
1.12 Machine Learning and Deep learning Applications : . . . . . . . . . . . . . . . . 37
1.13 Conclusions: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2 Machine learning and UML model Classification: literature review 41
2.1 Introduction : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2 The use of machine learning and deep learning in UML model classification: . . 43
2.3 the benefits of using machine learning and deep learning in uml model classification: 43
2.4 Advancements in ML, DL, and CNN Models in UML Classification : . . . . . . 44
2.4.1 Challenges : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5 Related work : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.6 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3 CNN for UML class classification: multi labelling and multiclassification 55
3.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2 Data preprocessing: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1 UML diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.2 Class diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.3 Activity diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3 Transfer learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.1 Pretrained Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.1.1 AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.1.2 AlexNet architecture . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.4 CNN model for UML class prediction: Multiclassification: . . . . . . . . . . . . . 62
3.4.1 Architecture: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5 CNN model for Class diagram component prediction: Multi-labelling . . . . . . 63
3.5.1 Architecture: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.5.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6 CNN model for Activity diagram component prediction: Multi-labelling . . . . 64
3.6.1 Architecture: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6.2 Training: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7 Model Evaluation Metrics: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7.1 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.2 Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.3 Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.4 F1-score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4 Experiments and results 68
4.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Implementation frameworks and tools: . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.2 Tensorflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.3 Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.4 Kaggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.5 pytorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.6 Google Colab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Datasets Description: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4 Classification : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.1 Transfer learning Results : . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.1.1 AlexNet: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.2 The CNN Results : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.2.1 CNN model for UML class prediction:Multiclassification . . . . 76
4.4.3 Detailed Analysis: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.3.1 Observations: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.3.2 Recommendations: . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.5 Models comparison : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.5.1 The CNN multilabeling Architecture Results : . . . . . . . . . . . . . . . 79
4.5.1.1 CNN model for Activity diagram component prediction: Multilabelling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.5.1.2 CNN model for Class diagram component prediction: Multilabelling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.6 Conclusion : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 |
Côte titre : |
MAI/0886 |
|