شماره ركورد
21427
شماره راهنما(اين فيلد مربوط به كارشناس ميباشد لطفا آن را خالي بگذاريد)
21427
پديد آورنده
نازنين بياتي چالشتري
عنوان
ارائه يك راهكار مبتني بر جهش در راستاي بهبود فرآيند مكانيابي خطا
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
كامپيوتر
سال تحصيل
1398
تاريخ دفاع
1398/06/26
استاد راهنما
دكتر سعيد پارسا
دانشكده
كامپيوتر
چكيده
يافتن محل خطا در برنامهها به عنوان يكي از كارهاي مهم و د شوار در فرآيند ا شكالزدايي نرمافزار شناخته
ميشود. از همين رو، راهكارهاي متعددي جهت خودكار سازي و بهبود اين فرآيند ارائه شده ا ست. روشهاي
مكانيابي خطا مبتني بر جهش يكي از به روز ترين روشهايي است كه با اجراي جهشهاي مختلفي از برنامه
سعي به يافتن محل خطا ميكند. اين د سته از روشها در كنار دقّت بالا در يافتن محل خطا به دليل اجراي
نسخخخخههاي مختلف جهش هزينه اجراي بالايي را به همراه دارند. روشهاي متعددي در راسخخختاي كاهش
هزينههاي اجرا روشهاي مكانيابي خطا مبتني بر جهش ارائه شدهاند اما در بيشتر مواقع سبب كاهش دقّت
در تعيين محل خطا ميشوند.
در اين پايان نامه روشخخخي با هدف كاهش هزينههاي اجراي روشهاي مكانيابي خطا مبتني بر جهش در
عين حفظ يا بهبود دقّت مكانيابي خطا ارائه شخخده اسخخت. در صخخورتي كه بتوان جملههايي از برنامه كه در
تعيين محل خطا اثرگذاري كمتري دارند را شناسايي و سپس حذف نمود، با مجموعه كوچكتري از جملهها
و به تبع آن تعداد ن سخههاي جهش كمتري مواجه خواهيم بود. هرچه تعداد ن سخههاي جهش كمتري توليد
شخخود، كاهش بيشتري در زمان اجراي فرآيند مكانيابي خطا حاصخخل ميگردد. در روش ارائه شخخده در اين
پاياننامه، تنها جملههاي موجود در برش پويا اجراي خطادار برنامه مورد بررسي قرار ميگيرند. جملههايي كه
در برش پويا حضور داشته باشند، به صورت مستقيم در اجراي برنامه با داده آزمون مشخص تاثير دارند. پس
از اجراي نسخههاي جهش توليد شده بر اساس جملههاي موجود در برش برنامه، امتياز مظنون به خطايي هر
جمله محاسخخخبه ميگردد. در روش پيشخخخنهادي ميزان مظنون به خطايي جملههاي برنامه بر اسخخخاس معيار
بينظمي نسخههاي جهش آنها سنجيده ميشود. معيار ارائه شده بر اساس نتيجه اجراي نسخههاي جهش
هر جمله از برنامه امتياز مظنون به خطايي آن خط برنامه را تعيين مينمايد. در نهايت يك ليست مرتب شده
بر اساس امتياز مظنون به خطايي جملههاي برنامه بدست ميآيد.
روش ارائه شخخده، طي مجموعهاي از آزمونها مورد آزمايش قرار گرفت. از نظر تعداد نسخخخههاي جهش و
زمان لازم جهت مكانيابي خطا با روش پايه مكانيابي خطا مبتني بر جهش مقايسخخخه شخخخد. همچنين دقّت
مكانيابي خطا آن را با سخخه روش مطرح اين حوزه مقايسخخه نموديم. با توجه به نتايج حاصخخل شخخاهد افزايش
نسبي دقّت مكانيابي خطا، به طور ميانگين 14.2% ، و همچنين كاهش زمان اجراي فرآيند مكانيابي خطا، به
طور ميانگين 24.3% ، بوديم. در نهايت ن شان داده شد كه معيار مظنون به خطايي ارائه شده، كمترين سربار
اجرايي را به فرآيند مكانيابي خطا اعمال ميكند.
تاريخ ورود اطلاعات
1398/09/22
عنوان به انگليسي
A mutation-based approach for improving fault localization process
تاريخ بهره برداري
9/17/2019 12:00:00 AM
دانشجوي وارد كننده اطلاعات
نازنين بياتي چالشتري
چكيده به لاتين
Fault localization is recognized as one of the most important and difficult tasks in the software debugging process. Therefore, several methods have been proposed to automate and improve this process. Mutation-based fault localization methods are one of the states of the art methods that try to find the location of the fault by executing various mutations of the program. These methods, along with high accuracy in locating the fault due to different versions of the mutation, resulting in high execution cost. Numerous methods have been proposed to reduce their execution costs, but in most cases they have reduced accuracy in locating the fault.
The method presented in this thesis aims to reduce the execution cost of mutation-based fault localization methods while maintaining or improving their accuracy of fault localization. If we can identify and then delete program statements that are less effective in locating the fault, we will have a smaller set of statements and consequently fewer versions of the mutants. The lower the number of mutants, the greater the reduction in the time the fault localization method is needed. The method presented in this thesis, SMBFL, only examines the statements in the dynamic slice of the program under test. The statements that present in the dynamic slice have a direct effect on the execution of the program with the specified test case. After executing mutants generated based on the statements in the program slice, the suspicious score calculated for each statement. In the SMBFL method, the suspicious score of program statements is measured based on the entropy of their mutants. The proposed formula, MuEn, determines the suspicious score based on the result of executing mutants of each statement of the program. Finally, a ranked list is obtained based on the suspicious score of program statements.
The proposed method, SMBFL, was evaluated during a series of tests. The number of generated mutants and the time needed to locate the fault were compared with the original MBFL. We also compared the accuracy of fault localization with the three methods proposed in this area. The results showed a relative increase in the accuracy of fault localization, by an average of 14.2%, and a decrease in the execution time of the fault localization process, by an average of 24.3%. Finally, it was shown that the MuEn formula applies the least execution overhead to the fault localization process.
كليدواژه هاي فارسي
نقطه
كليدواژه هاي لاتين
كاما