دانلود پایان نامه اجرای برنامه و شیوهی اجرا

عملگرهای مختلف “DifferentOperators” : جهشهای ایجاد شده در این روش حاصل از ترکیب دو عملگر متفاوت است.
Widget not in any sidebars

روش آخر به اول “LastToFirst”: جهشها براساس ترکیب عملگر جهش اول با عملگر جهش آخر در لیست عملگرهای جهشهای انتخابی اعمال میشوند.
سپس تاثیر حاصل از ترکیب جهشهای برابر و نابرابر نشان میدهد که در جدول(2-6) آورده شده است
جدول(‏26): تاثیر حاصل ترکیب جهش های برابر و نابرابر با یکدیگر
جهش برابر
جهش برابر
جهش برابر
جهش برابر
جهش غیر برابر
جهش غیر برابر
جهش غیر برابر
جهش برابر
جهش غیر برابر
جهش غیر برابر
جهش غیر برابر
جهش غیر برابر(به احتمال زیاد)
Mike Papadakis [21] سه استراتژی موجود برای ترکیب جهشهای سطح اول که مطرح شد را بررسی میکند و به تاثیر آن پنج استراتژی دیگر معرفی میکند که عبارتند از:”First2Last”، “SameNode”، “SU_F2Last”، “SU_DiffOp”و “DiffOp” سپس نشان میدهد جهشهای سطح بالاتر اگر با استراتژی مناسبی ترکیب شوند میتوانند 80 تا 90 درصد جهش برابر کمتری تولید کنند. از طرف دیگر موارد تست مورد نیاز نیز به نسبت جهش قوی به مقدار قابل توجهای کاهش میابد.
تکنیکهای کاهش هزینه در زمان اجرای برنامه
یکی ازروشهای دیگر صرفه جویی درهزینه وزمان تست جهش استفاده ازتکنیکهای بهینه سازی فرآیند اجرای تست است که به طور کلی به دو دستهی شیوهی اجرای کد جهش یافته و تکنیکهای مربوط به کامپایلرها و مفسرها تقسیم میشوند.
شیوهی اجرای کد جهش یافته
به طور کلی کد جهش یافته را به سه صورت میتوان اجرا کرد که در اصلاح به آن، جهش قوی، جهش ضعیف و جهش محکم میگویند :
جهش قوی: این روش برای اولین بار توسط R. A. DeMillo [4] مطرح شد. دو برنامه (جهش یافته و نیافته) به طور مجزا در این روش اجرا میشوند و خروجی حاصل از اجرای آنها تنها پس از اجرای کامل خطوط هر دو برنامه (جهت مشاهدهی تغییر) با یکدیگر مقایسه خواهد شد که این روش از نظر هزینه به صرفه نیست.
جهش ضعیف: در روش اجرای ضعیف جهش فرض میشود که برنامه از یک مجموعهی n مؤلفه مانند تشکیل شده است که در هر مؤلفه میتوانیم به طور مجزا جهش ایجاد کرده وآنرا با نشان میدهیم سپس برای از بین بردن جهشهای برای مولفهی جهش یافته، دادههای تست مناسب تولید میکنیم و خروجی حاصل از اجرای همان مؤلفه را با خروجیهای مولفهی نظیر در برنامه اصلی، مقایسه میکنیم در صورت مشاهدهی تغییر، جهش از میان رفته است. مولفههای هر برنامه را به پنج دستهی منبع متغییرها، متغییرهای تخصیص یافته، عبارت محاسباتی، عبارت ارتباطی و عبارت منطقی تقسیم میشود. A. J. Offutt [22] این ایده را گسترش داده و چهار متغییر برحسب نقطه از کد که خروجی برنامهی جهش یافتهی آن با خروجی برنامهی اصلی مقایسه میشود تعیین میگردد این چهار متغییر عبارتند از:
(Expression-weak/1)EX-weak/1: نقطهی پایان اجرا و مقایسه خروجی در عبارتهای داخلی کد برنامه بعد از اولین اجرا و پیرامون عبارت جهش یافته در برنامه است.