عنوان
ترميم خطا در سيستم هاي نرم افزاري با استفاده از الگوها
نويسنده اصلي
مريم عالي زاده اروانق
مقطع تحصيلي
كاشناسي ارشد
چكيده
يكي از پرهزينهترين فرايندهاي توسعه نرمافزار، اشكالزدايي خطاهاي برنامه است. فنون ترميم خودكار نرمافزار بهمنظور تصحيح خطاها و آسيبپذيريهاي نرمافزار نياز به ارايه روشهايي دارند كه بتوانند با كمك آنها وصلههايي را بهطور خودكار براي برنامه خطادار توليد نمايند. از سويي ديگر رويكردهاي ترميم خودكار برنامهها اغلب بهعنوان يك مسئله جستجو درنظر گرفته ميشود كه فضاي جستجو شامل تمام وصلههاي محتمل است و هدف شناسايي وصلههاي صحيح از اين فضاي جستجو است. مسئله چالشبرانگيزي كه وجود دارد بزرگ بودن فضاي جستجو است، بهعبارتيديگر فضاي جستجو شامل حجم زيادي از وصلههاي موجه اما نادرست است. افزون بر اين، بررسيها نشان ميدهد كه بسياري از وصلههاي توليد شده كه از شباهت كد استفاده ميكنند به دليل آنكه كد منبع، احتمال تغيير مربوط به تصحيح خطا را مشخص نميكند ممكن است وصلههاي نادرست و نامفهومي توليد نمايد. علاوه براين روشهاي مبتني بر الگو نيز بهدليل محدود بودن تعداد الگوها نميتوانند تمام حالتهاي مختلف خطا را پوشش دهند. با اينحال الگوها و شباهت كد اطلاعات مكملي فراهم ميكنند. درواقع الگوها باعث تخمين احتمال وصلهها و محدودسازي فضاي جستجو ميشوند و شباهت كد نيز به درك ساختار داخلي قطعه كدي بايد ترميم شود كمك ميكند تا درنهايت وصلههايي كه مناسب با ساختار كد هستند انتخاب شود.
در اين پژوهش از تركيب دو منبع دادهاي الگوها و شباهت كد براي پيشبرد بهتر ترميم خودكار نرمافزار استفاده شده است. رويكرد موردنظر ما يك فضاي جستجو انتزاعي را از وصلههاي موجود كاوش ميكند و با ديفرانسيل قطعه كدهاي مشابه يك فضاي جستجوي واقعي نيز بهدست ميآورد. سپس اشتراك اين دو فضا، مورد جستجو قرار ميگيرد. چارچوب پيادهسازي شده بر روي مجموعه داده Defects4j ارزيابي شده است. نتايج اين ارزيابي نشان ميدهد كه روش پيشنهادي اين پژوهش در توليد وصلههاي صحيح، بهمراتب وصلههاي با كيفيتتر و دقيقتري توليد ميكند. چارچوب ارايهشده توانسته است 33 خطا را با موفقيت تصحيح نمايد و همجنين توانسته است چندين وصله توليد كند كه توسط روشهاي ديگر ترميم توليد نشده بود. در مجموع روش پيشنهادي 22 وصله نادرست نيز توليد كرده است و در كل دقتي برابر با 60% دارد كه در مقايسه با بسياري از روشها از دقت بالاتري برخوردار است. اين موضوع بدان معناست كه درصورت جمعآوري دادهها و اطلاعات ارزشمندتر ميتوان اكتشافات بهتري براي انتخاب و فيلترسازي زودهنگام وصلهها بهكاربرد.
واژههاي كليدي:ترميم خودكار برنامه – الگوها – شباهت كد .
شماره ركورد
195990
دانشگاه
دانشگاه علم و صنعت ايران
رشته تحصيلي
مهندسي كامپيوتر - نرم افزار
استاد راهنما
دكتر سعيد پارسا