true
true
متن سئو شماره ۲۶

با بکارگیری تحلیل ایستا می‌توان خطاهای را در مرحله توسعه نرم‌افزار هنگامی که برطرف کردن آنها کم‌هزینه‌تر است، تشخیص داد. زمانی می‌توان گفت این روش‌ها از لحاظ تئوری کامل هستند که بتوانند تمام رفتارهای ممکن برای برنامه را در نظر بگیرند. اما مسأله‌ اینجاست که بسیاری از رفتارهای ممکن برای برنامه غیر عملی هستند و در زمان اجرا اتفاق نمی‌افتند. بنابراین این روش‌ها فقط می‌توانند محدوده خاصی از خطاها را تشخیص دهند. بعنوان مثال این روش‌ها قادر هستند متغیرهایی که تعریف نشده‌اند اما مورد استفاده قرار گرفته‌اند و یا متغیرهایی که تعریف شده‌اند اما استفاده نشده‌اند را تشخیص دهند.

گذشته از توانایی این روش‌ها در کشف خطاها، از آنجایی که این روش‌ها نمی‌توانند مقدارهای زمان اجرای برنامه را مشاهده‌کنند، ممکن است بخش زیادی از خطاهای زمان اجرا کشف نشوند. همچنین در این روش‌ها امکان رتبه‌بندی خطاها بر حسب میزان اهمیت آنها وجود ندارد.  

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

کارهای انجام شده در این زمینه نشان می‌دهد که با ترکیب تکنیک‌های ایستا و پویا، می‌توان نقص‌های روش‌های تحلیل ایستا را برطرف کرد و کارایی روش‌های تحلیل پویا را بالا برد. روش‌های پویا به تنهایی کامل نیستند اما دقیق‌تر از تکنیک‌های ایستا هستند.

در این فصل مفاهیم بنیادی مرتبط با مقوله اشکال‌زدایی را مورد بررسی قرار دادیم. همانگونه که شرح داده شد این مفاهیم را می توان به دو دسته تقسیم کرد، یک دست مفاهیمی بودند که تقریباً در تمام پروژه‌هایی که در زمینه تست نرم افزار هستند مخاطب با آنها سروکار دارد. و دسته دیگر مفاهیمی بودند که در راهکار پیشنهادی استفاده شده‌اند. با توجه به بررسی‌های انجام شده مشخص شد که هر چند استفاده از روش‌های ایستا برای برطرف کردن خطاهای موجود در نرم‌افزار در مرحله توسعه نرم‌افزار کم هزینه است، اما از آن جایی‌که این روش‌ها قادر نیستند تمام رفتارهای ممکن برنامه را در نظر بگیرند، نسبت به روش‌های تحلیل پویا دارای اهمیت کمتری هستند. با بیان مفاهیم مرتبط با مقوله اشکال‌زدایی نرم‌افزار، در فصل بعدی به شرح کامل مسأله و کارهای مرتبط انجام شده می‌پردازیم. 

true
تهران،خ شهران،خ کوهسار،خ شهدای کن،کوی سادات،پلاک 11،واحد 5
021-44300483 basepapaer.ir[at]gmail.com
سلام! به فروشگاه اینترنتی "دانلود مقاله | ترجمه مقاله"خوش آمدید