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