شماره ركورد كنفرانس :
4726
عنوان مقاله :
پيمانهبندي نرمافزار با در نظر گرفتن ويژگيهاي ساختاري و غيرساختاري
پديدآورندگان :
سادات جلالي نفيسه دnafisejalali1989@yahoo.com دانشگاه تبريز , ايزدخواه حبيب izadkhah@tabrizu.ac.ir دانشگاه تبريز , لطفي شهريار shahriar_lotfi@tabrizu.ac.ir دانشگاه تبريز
كليدواژه :
الگوريتم تكاملي , گراف فراخواني , ويژگي معنايي , مهندسي معكوس , پيمانهبندي
عنوان كنفرانس :
چهارمين كنفرانس ملي محاسبات توزيعي و پردازش داده هاي بزرگ
چكيده فارسي :
پيمانهبندي به عنوان يكي از مراحل مهندسي معكوس براي فهم يك سيستم نرمافزاري استفاده ميشود. هدف از پيمانهبندي، تجزيه يك سيستم نرمافزاري از روي كد منبع به زيرسيستمهاي معنيدار و قابل فهم است. از آنجايي كه پيمانهبندي يك سيستم نرمافزاري جز مسائل np-hard است بنابراين كيفيت پيمانهبندي به دست آمده با استفاده از الگوريتمهاي تكاملي نسبت به الگوريتمهاي حريصانه بسيار منطقيتر است. از اين رو استفاده از الگوريتمهاي تكاملي نسبت به الگوريتمهاي حريصانه در اين زمينه منطقيتر است. تمام الگوريتمهاي تكاملي موجود در اين زمينه براي پيمانهبندي نرمافزار فقط ويژگيهاي ساختاري كه وابسته به نحو زبانهاي برنامهنويسي هستند را در نظر ميگيرند. با توجه به اين كه براي اكثر زبانهاي برنامهنويسي ابزاري براي استخراج گراف فراخواني وجود ندارد بنابراين امكان پيمانهبندي آنها وجود ندارد. براي غلبه بر اين مشكل، در اين مقاله ويژگيهاي نحوي و معنايي به طور همزمان و همچنين به طور مستقل در نظر گرفته شده است براي اين كار يك تابع هدف جديد ارائه شده است. براي پيمانهبندي سيستم نرمافزاري از روي ويژگيهاي نحوي و معنايي الگوريتم ژنتيك با كدگذاريBunch ، ژنتيك با كدگذاري DAGC اعمال شده است. نتايج آزمايش ما روي موزيلا فايرفاكس نشان داد كه استفاده از الگوريتم ژنتيك با كدگذاريBunch بهتر از ژنتيك با كدگذاري DAGC قادر به پيمانهبندي سيستم نرمافزاري است.