استفاده از الگوریتم بهینه سازی رقابت استعماری جهت بهبود آرایه های پوششی در تست نرم افزار

سال انتشار: 1398
نوع سند: مقاله کنفرانسی
زبان: فارسی
مشاهده: 397

فایل این مقاله در 15 صفحه با فرمت PDF قابل دریافت می باشد

استخراج به نرم افزارهای پژوهشی:

لینک ثابت به این مقاله:

شناسه ملی سند علمی:

ECME06_004

تاریخ نمایه سازی: 21 فروردین 1399

چکیده مقاله:

همه روزه نرم افزارهای جدیدی تولید شده و به بازار عرضه می شوند. آزمون نرم افزار، به عنوان یکی از فازهای مهم و پرهزینه در چرخه تولید سیستم های نرم افزاری، همواره مورد توجه طراحان آن بوده است. در این مرحله، تولیدکنندگان نرم افزار می کوشند تا با انتقال ورودی های مختلف به نرم افزار از کیفیت واعتبار آن اطمینان حاصل کنند. تحلیل مسیرهای برنامه و تست نرم افزار یکی ازمهم ترین مراحل ایجاد نرم افزار است واز طرفی با توجه به گستردگی برنامه های نرم افزاری حاضر، استفاده ازتحلیل دستی عملا غیر ممکن است از این رو راه کارهای مختلفی برای تحلیل و بررسی مسیرهای مختلف برنامه نرم افزاری ارائه شده است تا بتوان مسیرهای مختلف را بررسی نمود. ولی راه کارهای گذشته دارای سربار پردازشی بالا و همچنین دقت پایین در بررسی تمامی مسیرهای برنامه هستند و قادر نیستند تا تقریبا تمامی مسیرهای برنامه را پوشش دهند. در این مقاله، روش پیشنهادی ارائه شده، قابلیت تحلیل ایستا و پویای برنامه ها، به زبان C را دارد. راه کار پیشنهادی، با دریافت کد برنامه و کاوش کد اسمبلی آن، بلاک های اولیه برنامه را شناسایی کرده و براساس آن ها گراف جریان گراف جریان کنترلی برنامه را می سازد. برای استخراج مسیرهای گراف جریان کنترلی پیش پردازش شده، از یک ساختار ذخیره سازی درختی و الگوریتم تغییر یافته جستجوی عمقی استفاده می شود. استفاده از این ساختار درختی موجب مقیاس پذیری بالای راه کار پیشنهادی می شود. در راه کار پیشنهادی برای تولید موارد آزمون، از شبکه بیزین به همراه الگوریتم رقابت استعمای استفاده شده است. همچنین در جهت مدل سازی وابستگی های احتمالی شرطی میان بلاک های اولیه برنامه از یک طرف و وابستگی احتمال گذرهای میان بلاک های اولیه و پارامترهای ورودی برنامه استفاده شده است. مجموعه ازمایش های انجام شده بر روی تعدادی برنامه استاندارد، دقت و کارآمدی راه کار پیشنهادی را آشکار می سازد.

نویسندگان

بهرام عادلیان

کارشناسی ارشد مهندسی نرم افزار