A graph mining approach for detecting design patterns in object-oriented design models
dc.contributor.advisor | Akal, Fuat | |
dc.contributor.author | Oruç, Murat | |
dc.date.accessioned | 2020-12-30T06:35:13Z | |
dc.date.available | 2020-12-30T06:35:13Z | |
dc.date.submitted | 2016 | |
dc.date.issued | 2018-08-06 | |
dc.identifier.uri | https://acikbilim.yok.gov.tr/handle/20.500.12812/474808 | |
dc.description.abstract | Nesne-tabanlı tasarım kalıpları gerçek-dünya uygulamalarında sıklıkla kullanılmaktadır. Tasarım kalıpları yazılım geliştiricilerin karşılaştıkları tekrar eden problemlere ortak çözümler olduğu için, yazılım geliştiricilere tasarımın kolayca uygulanmasını sağlar. Tasarım kalıpları ayrıca kaynak kodun kalitesi ve kodun yeniden kullanılabilirliğini gösterir. Bu yüzden, tasarım kalıplarını tespit etme yazılım projesinin tasarımını ve niyetini anlamada önem arz etmektedir. Bu tez, tasarım örüntülerini tespit eden bir çizge madenciliği yaklaşımını sunmaktadır. Tespit işlemi yaklaşımı, kaynak kodun model çizgesinin uzayında, izomorfik alt-çizge arama metodu aracılığıyla tasarım desenleri girdilerinin alt-çizgelerini aramaya dayalıdır. Tez kapsamında, tasarım örüntülerini tespit etmek için 'DesPaD' (Tasarım Deseni Detektörü) aracı geliştirilmiştir. İzomorfik aramayı uygulamak için açık-kaynak kodlu alt-çizge madenciliği aracı olan Subdue adlı referans kullanılmıştır. `Applied Java Patterns` kitabıyla beraber gelen 23 GoF tasarım deseni örnekleri tespit edilmiş, ayrıca yapılan deneylerde JUnit 3.8, JUnit 4.1 ve Java AWT açık-kaynak yazılımlarında bazı cesaretlendirici sonuçlar elde edilmiştir. | |
dc.description.abstract | Object-oriented design patterns are frequently used in real-world applications. As design patterns are the common solutions for recurring problems which software developers confronted with, they help developers to implement the design easily. Design patterns also demonstrate the code reusability and strengthen the quality of the source code. Therefore, detection of design patterns is essential for comprehension of the intent and design of a software project. This thesis presents a graph-mining approach for detecting design patterns. The approach of detection process is based on searching sub-graphs of input design patterns in the space of model graph of the source code by isomorphic sub-graph search method. Within the scope of this thesis, 'DesPaD' (Design Pattern Detector) tool is developed for detecting design patterns. To implement the isomorphic search, open-source sub-graph mining tool, Subdue is used. The examples of 23 GoF design patterns in the book of `Applied Java Patterns` are detected and some promising results in JUnit 3.8, JUnit 4.1 and Java AWT open-source packages are obtained. | en_US |
dc.language | English | |
dc.language.iso | en | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.rights | Attribution 4.0 United States | tr_TR |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | |
dc.subject | Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol | tr_TR |
dc.subject | Computer Engineering and Computer Science and Control | en_US |
dc.title | A graph mining approach for detecting design patterns in object-oriented design models | |
dc.title.alternative | Nesne-tabanlı yazılım modellerinde benzer tasarım yapılarını tespit eden çizge madenciliği yöntemi | |
dc.type | masterThesis | |
dc.date.updated | 2018-08-06 | |
dc.contributor.department | Bilgisayar Mühendisliği Anabilim Dalı | |
dc.identifier.yokid | 10107241 | |
dc.publisher.institute | Fen Bilimleri Enstitüsü | |
dc.publisher.university | HACETTEPE ÜNİVERSİTESİ | |
dc.identifier.thesisid | 430926 | |
dc.description.pages | 105 | |
dc.publisher.discipline | Diğer |