• شماره ركورد
    13052
  • شماره راهنما(اين فيلد مربوط به كارشناس ميباشد لطفا آن را خالي بگذاريد)
    13052
  • پديد آورنده

    مجتبي وحيدي‌اصل

  • عنوان
    كشف خطاهاي معنايي پنهان نرم‌افزار با استفاده از روش‌هاي آماري
  • مقطع تحصيلي
    دكتري
  • رشته تحصيلي
    كامپيوتر - نرم‌افزار
  • سال تحصيل
    فروردين ماه 1393
  • تاريخ دفاع
    فروردين ماه 1393
  • استاد راهنما
    دكتر سعيد پارسا
  • استاد مشاور
    دكتر بهروز مينايي
  • چكيده
    چكيده هدف از اين رساله، ارايه راه‌كاري جديد به هدف مكان‌يابي خطاهاي معنايي پنهان نرم‌افزار مي‌باشد. به اين منظور، اطلاعات اجرايي يك برنامه در اجراهاي موفق و ناموفق جمع‌آوري شده و با تحليل اين اطلاعات با استفاده از روش‌هاي آماري پيشنهادي، محل خطا در كد برنامه شناسايي مي‌شود. به دليل تنوع بسيار وسيع خطاهاي معنايي پنهان، رساله پيشنهادي از يك رويكرد پلكاني، پيروي مي‌كند. به اين منظور، پس از شناسايي و دسته‌بندي خطاهاي موجود در نرم‌افزارها، در پله اول، سه راه‌كار آماري جديد به نامهاي NN-Graph، Stat-Slice و Hierarchy-Debug پيشنهاد شده است كه هريك قادر به كشف دسته خاصي از خطاهاي معنايي نرم‌افزار هستند. در پله دوم رساله، راه‌كار آماري جديدي به نام TCG-Net براي توليد موارد آزمون به هدف افزايش پوشش مسيرهاي اوليه برنامه، پيشنهاد شده است. به اين منظور، ساختار گراف جريان كنترلي برنامه به يك شبكه‌ احتمالاتي نگاشت شده و با انجام استنتاجهاي احتمالي، پارامترهاي ورودي‌ براي پيمايش مسيرهاي مختلف در اين گراف، توليد مي‌شوند. در پله سوم، دو راه‌كار جديد به نام‌هاي CERM-fl و GCERM-fl با بهره‌گيري از قابليت‌هاي سه راه‌كار قبلي پيشنهاد شده‌اند كه علاوه بر يافتن خطاهايي كه راه‌كارهاي پيشين قادر به كشف آنها بودند، انواع ديگري از خطاها را نيز مكان‌يابي مي‌كنند. براي پياده‌سازي راه‌كار CERM-fl، يك روش رگرسيوني جديد ابداع و پيشنهاد شده است كه قادر است همزمان با ايجاد مدل خطي، زنجيره‌هاي عِلّي-معلولي جملات برنامه را در قالب متغيرهاي پيشگو نگهداري كرده و به عنوان حوزه خطا، به برنامه‌نويس گزارش كند. در روش جديد، ساختار ايستاي برنامه مدنظر قرار گرفته و در نتيجه، مدلي كوركورانه و صِرفاً مبتني بر داده‌هاي اجرايي برنامه، توليد نمي‌شود. روش جديد، همچنين نواحي خطاخيز برنامه را در ساخت مدل، مدنظر قرار داده و قادر به يافتن همزمان چندين خطا در برنامه، با دقت بالا مي‌باشد. موارد آزمون توليد شده توسط TCG-Net، به راه‌كار CERM-fl داده مي‌شوند و در رويكردي تكراري، خطاهاي بيشتري در برنامه مكان‌يابي مي‌شوند. آزمايش‌هاي متنوع و گسترده‌اي برروي مجموعه برنامه‌هاي محك استاندارد انجام شده‌اند و نتايج ارزيابي‌ها، كارايي راه‌كارهاي پيشنهادي را در حوزه مكان‌يابي خطاهاي معنايي پنهان نرم‌افزار آشكار مي‌سازند. واژه‌هاي كليدي: خطاهاي معنايي، مكان‌يابي خطا، توليد خودكار داده‌هاي آزمون، روش‌هاي آماري، رگرسيون.