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 |