Please use this identifier to cite or link to this item: http://dspace.lib.uom.gr/handle/2159/13894
Author: Χαϊκάλης, Θεόδωρος
Title: Εντοπισμός μεθόδων με αλληλεπιδρώντα slices σε αντικειμενοστρεφή συστήματα και επίλυση μέσω αναδομήσεων-Υλοποίηση στο eclipse
Date Issued: 2009
Department: Πρόγραμμα Μεταπτυχιακών Σπουδών Ειδίκευσης στην Εφαρμοσμένη Πληροφορική
Supervisor: Χατζηγεωργίου, Αλέξανδρος
Abstract: Η παρούσα εργασία εντάσσεται στο γενικό πλαίσιο συντήρησης αντικειμενοστρεφών συστημάτων με αυτοματοποιημένες μεθόδους. Πραγματεύεται τον αυτόματο εντοπισμό ενός συγκεκριμένου προβλήματος σχεδίασης (bad smell) σε προγράμματα γραμμένα στη γλώσσα προγραμματισμού Java και επίσης την διόρθωση του προβλήματος με εφαρμογή αναδόμησης (refactoring) με αυτόματο τρόπο. Για τον σκοπό αυτό προστέθηκε επιπλέον λειτουργικότητα σε ένα plug-in για το ολοκληρωμένο περιβάλλον ανάπτυξης λογισμικού Eclipse που έχει το όνομα Jdeodorant. Το πρόβλημα σχεδίασης που εντοπίζεται λέγεται Complex Method και αφορά μεθόδους των οποίων οι τοπικές μεταβλητές μπλέκονται μεταξύ τους σε πράξεις και υπολογισμούς έτσι ώστε είναι αδύνατη η εφαρμογή πιο απλών αναδομήσεων όπως η Extract Method. Η αναδόμηση που εφαρμόζεται με σκοπό την εξάλειψη της κακής οσμής ονομάζεται Replace Method with Method Object. Παράλληλα μελετήθηκαν μεθοδολογίες βελτίωσης της συνεκτικότητας των μεθόδων με χρήση Slice-based μετρικών και clustering με τη μέθοδο του Spectral Graph Partitioning.
In the object-oriented design paradigm, the methods that a class consists of should be designed in order to carry out one single task. But many times during the phase of development and due to pressing time limits the design of many methods deteriorates and bad smells in code are emerging. Those bad smells include Long Methods and Complex Methods. In the first case the problem is solved by using the Extract Method Refactoring, but for the second case the Extract Method Refactoring is inapplicable. This is because methods with this bad smell have local variables that are rampant and use one another in a complex way. This is the case where Replace Method with Method Object refactoring comes to solve the problem. It transforms the complex method into a class and method’s local variables into fields. By this procedure the Extract Method is applicable again. This thesis investigates methods for automatic identification of Complex Method bad smells in Java code and elimination of those smells by automatic application of the Replace Method with Method Object refactoring. It also investigates methodologies for method cohesion improvements by using clustering techniques such as Spectral Graph Partitioning. All this functionality was brought into effect by the improvement of an already-existed plug-in for Eclipse named Jdeodorant.
Keywords: Object-oriented design
Bad smells
Reactoring
Complex method
Αντικειμενοστρεφής σχεδίαση
Κακές οσμές
Αναδομήσεις
Περίπλοκη μέθοδος
Information: Διπλωματική εργασία--Πανεπιστήμιο Μακεδονίας, Θεσσαλονίκη, 2009.
Appears in Collections:ΠΜΣ Εφαρμοσμένης Πληροφορικής (M)

Files in This Item:
File Description SizeFormat 
Haikalis_Msc2009.pdfΚυρίως άρθρο2.88 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons