دانلود مقاله ISI انگلیسی شماره 62860
ترجمه فارسی عنوان مقاله

یک روش استخراج گراف برای تشخیص ساختارهای یکسان طراحی در مدل های طراحی شی گرا

عنوان انگلیسی
A graph mining approach for detecting identical design structures in object-oriented design models
کد مقاله سال انتشار تعداد صفحات مقاله انگلیسی
62860 2014 20 صفحه PDF
منبع

Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)

Journal : Science of Computer Programming, Volume 95, Part 4, 1 December 2014, Pages 406–425

ترجمه کلمات کلیدی
مدل طراحی نرم افزار، سازه های طراحی یکسان موزیک های نرم افزاری، استخراج الگو، معدن گراف
کلمات کلیدی انگلیسی
Software design models; Identical design structures; Software motifs; Pattern extraction; Graph mining
ترجمه چکیده
رویکرد شی گرا روش محبوب ترین نرم افزار طراحی برای بیست و پنج سال گذشته بوده است. چند طرح طراحی و اصول برای بهبود کیفیت طراحی سیستم های نرم افزاری شی گرا تعریف شده است. علاوه بر این، طراحان می توانند از نقاط طراحی منحصر به فرد استفاده کنند که برای دامنه های خاص برنامه طراحی شده اند. یکی دیگر از تکنیک های معمول استفاده شده است که در هنگام ایجاد ماژول های جدید، برخی از قطعات نرم افزار را شبیه سازی می کند. بنابراین، برنامه های شی گرا می توانند شامل بسیاری از ساختارهای طراحی یکسان باشند. این کار یک معیار مبتنی بر معادلات زیر را برای تشخیص ساختارهای طراحی یکسان در سیستم های شی گرا ارائه می دهد. با شناسایی و تجزیه و تحلیل این ساختارها می توانیم اطلاعات مفیدی در مورد طراحی بدست آوریم، از قبیل الگوهای طراحی معمولا استفاده شده، اغلب نقایص طراحی، الگوهای خاص دامنه و کلون های طراحی مجدد، که می تواند به توسعه دهندگان کمک کند تا دانش خود را در مورد نرم افزار بهبود بخشد معماری. علاوه بر این، بخش های مشکوک ساختارهای مکرر یکسان طراحی مناسب فرصت های بازسازی هستند، زیرا آنها بر چندین قسمت از معماری تاثیر می گذارند. آزمایش با چندین پروژه باز و صنعتی نشان می دهد که ما می توانیم بسیاری از ساختارهای طراحی یکسان را در یک پروژه (درون پروژه) و بین پروژه های مختلف (بین پروژه) پیدا کنیم. ما متوجه می شویم که اغلب ساختارهای مشابهی که شناسایی شده اند، اجرای طرح های طراحی مشترک هستند؛ با این حال، ما همچنین تشخیص انواع ضد الگوهای، الگوهای خاص دامنه، قطعات طراحی مجدد و سطح کلون طراحی سطح.

چکیده انگلیسی

The object-oriented approach has been the most popular software design methodology for the past twenty-five years. Several design patterns and principles are defined to improve the design quality of object-oriented software systems. In addition, designers can use unique design motifs that are designed for the specific application domains. Another commonly used technique is cloning and modifying some parts of the software while creating new modules. Therefore, object-oriented programs can include many identical design structures. This work proposes a sub-graph mining-based approach for detecting identical design structures in object-oriented systems. By identifying and analyzing these structures, we can obtain useful information about the design, such as commonly-used design patterns, most frequent design defects, domain-specific patterns, and reused design clones, which could help developers to improve their knowledge about the software architecture. Furthermore, problematic parts of frequent identical design structures are appropriate refactoring opportunities because they affect multiple areas of the architecture. Experiments with several open-source and industrial projects show that we can successfully find many identical design structures within a project (intra-project) and between different projects (inter-project). We observe that usually most of the detected identical structures are an implementation of common design patterns; however, we also detect various anti-patterns, domain-specific patterns, reused design parts and design-level clones.