ABDULAZIZ ALKHALID2022-05-182022-05-184185https://drepo.sdl.edu.sa/handle/20.500.14154/2789عندما يتم تحسين، تعديل أو تكييف البرمجيات لملائمة المتطلبات الجديدة، يزداد تعقيد الكود البرمجي أكثر فأكثر. وهكذا فإن جودة البرمجيات تتناقص. إن إعادة الهيكلة تعيد تشكيل الكود البرمجي بصورة أكثر تبسيطاً أو فعاليةً و بأسلوب منهجي لتحسين بنيته الداخلية وبدون تغير وظيفته الخارجية. لقد استقصينا إعادة الهيكلة باستخدام تقنيات تمييز النموذج لموازنة التماسك والتجميع. إن إسهام هذه الرسالة هو تطبيق تقينات العنقدة على مستوى التابع و الصف والحزمة. بإلاضافة لما سبق، قدمت هذه الرسالة خوارزمية عنقدة تدعى Adaptive K-Nearest Neighbor (A-KNN) .لقد تم اختبار هذه الخوارزمية على المستويات الثلاثة وتمت مقارنتها مع الخوارزميات Single Linkage، Complete Linkage و Weighted Pair-Group Method using Arithmetic averages . لقد أظهرت A-KNN تفوقها على تقنيات العنقدة التقليدية من حيث الأداء و تعقيد الحسابات. لقد قيمت النتائج بالمقارنة مع الأعمال المنشورة (عند توفرها) أو بالتفحص عند عدم توفر عمل منشور.enSOFTWARE REFACTORING USING PATTERN RECOGNITION TECHNIQUESThesis