000 10747namaa22004451i 4500
003 OSt
005 20250223033431.0
008 250211s2024 |||a|||f m||| 000 0 eng d
040 _aEG-GICUC
_beng
_cEG-GICUC
_dEG-GICUC
_erda
041 0 _aeng
_beng
_bara
049 _aDeposit
082 0 4 _a005.16
092 _a005.16
_221
097 _aPh.D
099 _aCai01.20.03.Ph.D.2024.Am.C
100 0 _aAmr Mansour Mohsen,
_epreparation.
245 1 2 _aA configurable framework for automatic software maintenance /
_cby Amr Mansour Mohsen ; Supervised Prof. Khaled Tawfik Wassif, Prof. Hesham Ahmed Hassan, Prof. Ramadan Moawad Ahmed, Prof. Soha Hassan Mahmoud.
246 1 5 _aإطار تركيبي لصيانة البرمجيات آليا /
264 0 _c2024.
300 _a122 leaves :
_billustrations ; إي
_c30 cm. +
_eCD.
336 _atext
_2rda content
337 _aUnmediated
_2rdamedia
338 _avolume
_2rdacarrier
502 _aThesis (Ph.D)-Cairo University, 2024.
504 _aBibliography: pages 110-119.
520 _aBug localization or debugging in software is a crucial aspect of the software maintenance process. Bug localization in software development refers to the process of identifying, analyzing, and fixing defects or bugs in a program through direct examination of the source code. The automation of bug localization process can significantly reduce the time involved in this localization process. Although, recent work has methods have been employed in for the automatic bug localization, these methods often face constraints regarding generality, time and accuracy. Current approaches methods suffers from some limitations;: (1) ability of localizing bugs with different types of software's according to their available software artifacts like bug reports, source code and test cases, (2) ability of dealing with different types of software. (3) The considerable high time consumed to localize bugs, and (4) low accuracy of some existing approaches. The thesis of this dissertationAccording to the work in this thesis, introduces a configurable framework has been introduced that can be assembled and reassembled to support different types of software artifacts and languages. In addition to enhance the accuracy and time for the bug localization problem. This framework comprises three main components;: raw data preparation, package classification, and source code recommendation. The primary inputs for our the proposed framework are the bug report and the source code from previous versions of the targeted system. The bug report contains diverse information, including the summary, description, stack traces, and fixed source code files. The package classification component is dedicated to identifying the package containing which contains the source code to be modified, serving as an initial step to reduce the time required for locating the source code file. We leverage Bidirectional Encoder Representations from Transformers (BERT), a sentence embedding technique, to enhance the package classification and source code recommendation components. We evaluated our framework through different experiments including different software and different software artifacts. Experimental results demonstrate that our approach framework exceeds some of existing approaches according to TOP-N and Mean Reciprocal Rank (MRR) evaluation metrics.
520 _aالمساهمة الرئيسية للرسالة هي تعزيز عملية إيجاد الأخطاء التي تحدث في البرمجيات ، وهي مهمة هامة في صيانة البرمجيات. يتم تحسين إيجاد الأخطاء وفقًا لجانبين رئيسيين مهمين وهما الوقت والدقة، حيث تعاني بعض الأعمال المستكشفة السابقة في هذا الصدد. يتم تطبيق مثال تطبيقي لعرض كيفية عمل تقنيات أخرى وعرض بعض القيود التي قد تواجهها. بالإضافة إلى الأدوات البرمجية التي تستخدم والتي لا تستخدم. وعلاوة على ذلك، بعض التقنيات لا تجيب على بعض الأسئلة مثل ماذا لو كان المشروع واحدًا ولم يكن هناك تقارير عن الأخطاء في الماضي. مشكلة أخرى تم مناقشتها هي أن بعض تقنيات استرجاع المعلومات تستخدم مقاييس التشابه بين نصوص تقارير الأخطاء الجديدة وجميع ملفات البرنامج، مما يستغرق وقتًا كبيرًا لتطبيق التشابه. ظهرت مشكلة أخرى هي السياق القائم على مصطلحات المشروع التي قد تؤثر على دقة تحديد الأخطاء. بالإضافة إلى ذلك، فإن عناصر تقرير الأخطاء مثل ملخص الأخطاء والوصف، بالإضافة إلى المعلومات الخاصة بالموعد المقدر التي يتم استخراجها من تقرير الأخطاء، تحتاج إلى معالجة خاصة. لذلك، يتم تطبيق إطار قابل للتكوين لتعزيز عملية تحديد الأخطاء المصممة وفقًا للتصميم الروتيني المكون من ثلاثة مكونات رئيسية وهي: • تحضير البيانات الأولية • تصنيف الحزمة • توصية بملفات البرنامج التي فيها الأخطاء وفقًا للتصميم الروتيني، المتخصص الرئيسي الذي سيستدعي جميع مكونات إطار بأكملها. سيتصل متخصص الصيانة التصحيحي بخطة تحديد الأخطاء التي ستستدعي بدورها متخصص إعداد البيانات الأولية. سيتم استدعاء متخصص إعداد البيانات الأولية بعد ذلك لتجميع ومعالجة وإعداد البيانات للمعالجة التالية من قبل المتخصصين والخطط والمهام الأخرى. سيتم استدعاء ثلاثة متخصصين من قبل خطة إعداد البيانات وهم: • متخصص تقارير الأخطاء والإعداد: دور هذا المتخصص هو استدعاء متخصصين فرعيين آخرين مثل استخراج تقارير الأخطاء والإعداد والذي يتكون من خطة استخراج تقارير الأخطاء التي تهدف إلى استخراج تقارير الأخطاء من نظام تتبع الأخطاء. وعلاوة على ذلك، ستقوم خطة إعداد تقارير الأخطاء باستدعاء مهمة استخراج البيانات المهيكلة التي تحصل على معلومات البيانات المهيكلة الفرعية من تقرير الأخطاء. بعد ذلك، سيتم استدعاء متخصص البيانات غير المهيكلة للحصول على النص الطبيعي والأثر النصي والبرنامج من وصف الأخطاء إذا كانت متاحة. • استخراج وإعداد البرنامج: سيقوم هذا المتخصص بإستدعاء خطة استخراج البرنامج التي تستدعي بدورها خطة استخراج البرنامج. سيتم استخراج ملفات البرنامج لمشروع البرمجيات من نظام إدارة البرنامج. بعد ذلك،سيقوم خطة إعداد البرنامج بإستدعاء المتخصص وفقًا للغة المشروع البرمجي. سيقوم مستخرج عناصر البرنامج بالحصول على أسماء الفئات والطرق والمتغيرات والتعليقات ووضعها في شكل منظم. سيتولى المتخصص في معالجة النص والمزج المسؤولية عن مزيد من معالجة النص ودمج تقارير الأخطاء القديمة إذا كانت متاحة وملفات البرنامج. سيتم استدعاء المتخصص التالي هو متخصص تصنيف البرنامج الذي يستدعي أحد الخطةين وفقًا لإدخال تقرير الأخطاء. إذا احتوى تقرير الأخطاء على أثر النص، سيتم استدعاء خطة أثر النص، وإلا سيتم استدعاء تصنيف الحزمة. يكمن دور خطة أثر النص في استدعاء مهمتين، المهمة الأولى هي تحليل أثر النص وتهدف إلى استخراج أسماء ملفات البرنامج من أثر النص للمعالجة المستقبلية. المهمة التالية هي مهمة جمع الملفات التي تهدف إلى جمع الملفات المهيكلة المعدة من شفرات المصدر وملفات البرنامج المعالجة في الماضي للمعالجة المستقبلية. سيتم استدعاء خطة تصنيف الحزمة لتدريب مصنف BERT باستخدام تقارير أخطاء سابقة مختلفة إذا كانت متاحة وملفات البرنامج مع تسميتها بالحزمة الموصى بها. الهدف الرئيسي لهذه الخطة هو تقليل الوقت وتحسين دقة تحديد الأخطاء عن طريق توصية الحزمة الناتجة عن البرنامج. بغض النظر عما إذا كان سيتم استدعاء خطة تصنيف الحزمة أو خطة أثر النص، سيتم استدعاء متخصص ترتيب ملفات البرنامج المعيوبة. يكمن دور متخصص ترتيب ملفات البرنامج المعيوبة في الحصول على أقرب ملفات البرنامج التي تحتوي على الخطأ بعد الحصول على قوائم قصيرة من ملفات البرنامج للبحث فيها والتي تنتج إما عن خطة أثر النص أو خطة تصنيف الحزمة
530 _aIssues also as CD.
546 _aText in English and abstract in Arabic & English.
650 7 _aSoftware maintenance
_2qrmak
653 0 _aSoftware Engineering
_aBug Localization
_aNatural language Processing
_aBERT
700 0 _aKhaled Tawfik Wassif
_ethesis advisor.
700 0 _aHesham Ahmed Hassan
_ethesis advisor.
700 0 _aRamadan Moawad Ahmed
_ethesis advisor.
700 0 _aSoha Hassan Mahmoud
_ethesis advisor.
900 _b01-01-2024
_cKhaled Tawfik Wassif
_cHesham Ahmed Hassan
_cRamadan Moawad Ahmed
_cSoha Hassan Mahmoud
_UCairo University
_FFaculty of Computers and Artificial Intelligence
_DDepartment of Computer Science
905 _aShimaa
942 _2ddc
_cTH
_e21
_n0
999 _c170790