پیمانه بندی نرم افزار با در نظر گرفتن ویژگی های ساختاری و غیرساختاری

Publish Year: 1397
نوع سند: مقاله کنفرانسی
زبان: Persian
View: 920

This Paper With 10 Page And PDF Format Ready To Download

  • Certificate
  • من نویسنده این مقاله هستم

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

لینک ثابت به این Paper:

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

DCBDP04_017

تاریخ نمایه سازی: 24 شهریور 1397

Abstract:

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

Authors

نفیسه سادات جلالی

گروه علوم کامپیوتر، دانشکده علوم ریاضی، دانشگاه تبریز، تبریز، ایران

حبیب ایزدخواه

گروه علوم کامپیوتر، دانشکده علوم ریاضی، دانشگاه تبریز، تبریز، ایران

شهریار لطفی

گروه علوم کامپیوتر، دانشکده علوم ریاضی، دانشگاه تبریز، تبریز، ایران