Please use this identifier to cite or link to this item: https://olympias.lib.uoi.gr/jspui/handle/123456789/28966
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΖέρβα, Μαρίαel
dc.date.accessioned2018-02-26T11:12:21Z-
dc.date.available2018-02-26T11:12:21Z-
dc.identifier.urihttps://olympias.lib.uoi.gr/jspui/handle/123456789/28966-
dc.identifier.urihttp://dx.doi.org/10.26268/heal.uoi.2561-
dc.rightsDefault License-
dc.subjectDatabasesen
dc.subjectDatabase schema evolutionen
dc.subjectPhase extractionen
dc.subjectΒάσεις δεδομένωνel
dc.subjectΕξέλιξη σχήματος βάσεων δεδομένωνel
dc.subjectΕξαγωγή φάσεωνel
dc.titleExtraction and classification of phases in schema evolution historiesen
dc.titleΕξαγωγή και κατηγοριοποίηση φάσεων στην ιστορία της εξέλιξης σχημάτων βάσεων δεδομένωνel
heal.typemasterThesis-
heal.type.enMaster thesisen
heal.type.elΜεταπτυχιακή εργασίαel
heal.classificationDatabasesen
heal.dateAvailable2018-02-26T11:13:21Z-
heal.languageen-
heal.accessfree-
heal.recordProviderΠανεπιστήμιο Ιωαννίνων. Σχολή Θετικών Επιστημών. Τμήμα Μηχανικών Η/Υ & Πληροφορικήςel
heal.publicationDate2018-
heal.bibliographicCitationΒιβλιογραφία : σ. 103-104el
heal.abstractSoftware projects that are built on top of relational databases evolve over time just like any other software project. Bugs occur and user requirements change and in order to keep the users satisfied and provide consistent services, software projects have to adapt to the new requirements. The information capacity of a software project also needs to be aligned with these requirements resulting in the need to evolve the database schema along with the software. Schema evolution affects the surrounding applications in both a syntactic and semantic manner, thus making its understanding a topic of significance. Our fundamental research question is of investigative nature: are there phases in the lives of relational schemata? To support our study towards answering the above question, we have used 6 free open source software projects that include relational databases, whose evolution we have tracked and for which, we have identified the changes that took place in each committed version. Based on these data, this Thesis is structured along two parts: the first part is of explorative nature, and studies the collected data to manually extract phases and patterns in the tables’ lives, whereas the second part, proposes an automated method to algorithmically extract these phases. The first part of this Thesis addresses the following question: when are tables, attributes and foreign keys born and evicted in the life of a schema? Based on the information on table and attribute births, deaths and updates, along with the timeline of schema size, we have manually derived phases in the life of our 6 database schemata. Our characterizations are based on the demonstrated growth (increase of information capacity) or maintenance (containing deletions and updates in order to improve the quality of the schema). The most interesting finding in our study is that, with a single exception, the history of a database schema comes in two mega-phases: (a) a “hot” expansion mega-phase at the start of its life demonstrating growth of information capacity, along with the necessary maintenance, and, (b) a “cooling” housekeeping mega-phase at its middle and later life where either maintenance actions or stillness dominate the update activity. We call this phenomenon progressive cooling of the schema heartbeat. Several observations support this finding. The second part of the Thesis addresses the following question: given the history and heartbeat of a schema, can we automatically extract phases in its evolution? Our algorithmic method includes four steps. The first step of our method, involves the characterization of the releases in terms of the two aforementioned change families, growth and maintenance. Based on these characterizations, the second step of the method splits the timeline of the schema’s life in phases, by applying a hierarchical agglomerative clustering, that clusters together consecutive releases. In the third step of our method, we use several measures of clustering quality, such as Silhouette, Cohesion and Separation to characterize the discriminating quality of each of the derived clusterings. Finally, the fourth step of the method classifies clusters, i.e. phases in the life of a schema, in terms of their nature, on the basis of a taxonomy of change profiles (e.g., Minor Activity, Restructuring, Intense Evolution, among others). The phase extraction and classification method introduced in the second part of this Thesis was evaluated with respect to clustering oriented measures and quality measures based on our golden standard. The findings of this evaluation show that our method performs fairly, having a small error rate and the solutions it produces are of significant quality.en
heal.abstractΤο λογισμικό που είναι σχεδιασμένο βασισμένο σε μία σχεσιακή βάση εξελίσσεται με την πάροδο του χρόνου όπως οποιοδήποτε άλλο λογισμικό. Συχνά προκύπτουν λάθη ή οι χρήστες ανακαλύπτουν πώς θα ήθελαν επιπλέον λειτουργικότητες από το λογισμικό και για να είναι οι χρήστες ικανοποιημένοι και να παρέχονται συνεπείς υπηρεσίες, το λογισμικό θα πρέπει να προσαρμόζεται στις νέες απαιτήσεις. Η χωρητικότητα της πληροφορίας θα πρέπει να συμβαδίζει με τις νέες απαιτήσεις και γι' αυτό το λόγο η ανάγκη για εξέλιξη του σχήματος βάσης σε συγχρονισμό με την εξέλιξη του λογισμικού είναι ζήτημα μεγάλης σημασίας. Η εξέλιξη του σχήματος επηρεάζει σημαντικά τις εφαρμογές που βασίζονται σε αυτό και σε επίπεδο συντακτικό αλλά και σε επίπεδο σημασιολογικό. Συνεπώς, η κατανόηση της εξέλιξης του σχήματος χρήζει μεγάλης προσοχής. Το βασικό ερώτημα που θέλουμε να απαντήσουμε στην παρούσα εργασία είναι διερευνητικής φύσεως: υπάρχουν φάσεις στη ζωή των σχεσιακών βάσεων; Για την διεκπεραίωση της έρευνας με στόχο την απάντηση του εν λόγω ερωτήματος, χρησιμοποιήσαμε έξι συστήματα λογισμικού ανοικτού κώδικα τα οποία εμπεριέχουν σχεσιακές βάσεις δεδομένων. Παρακολουθήσαμε την εξέλιξη αυτών των βάσεων και εντοπίσαμε τις αλλαγές που έλαβαν χώρα σε κάθε δημόσια καταχωρημένη έκδοση του λογισμικού. Με βάση αυτά τα δεδομένα, η παρούσα εργασία είναι δομημένη σε δύο μέρη: το πρώτο μέρος είναι διερευνητικής φύσεως και μελετά τα συλλεγμένα δεδομένα με στόχο την χειροκίνητη εξαγωγή φάσεων και προτύπων συμπεριφοράς στις ζωές των πινάκων, ενώ το δεύτερο μέρος, προτείνει μία αυτοματοποιημένη μέθοδο για την εξαγωγή των φάσεων με τη χρήση ενός αλγορίθμου που προτείνουμε. Το πρώτο μέρος της εργασίας ασχολείται με την ακόλουθη ερώτηση: πότε γεννιούνται και πεθαίνουν οι πίνακες, τα πεδία και τα ξένα κλειδιά στη ζωή ενός σχήματος; Βασισμένοι στις πληροφορίες για τις γεννήσεις, θανάτους και ενημερώσεις πινάκων και πεδίων, μαζί με την εξέλιξη του μεγέθους του σχήματος, εξάγαμε χειροκίνητα φάσεις της ζωής των έξι συνόλων δεδομένων. Οι χαρακτηρισμοί μας βασίζονται στην ύπαρξη ανάπτυξης (αύξησης της χωρητικότητας της πληροφορίας) ή συντήρησης (περιεκτικότητας σε διαγραφές και ενημερώσεις με σκοπό τη βελτίωση του σχήματος της βάσης). Το πιο ενδιαφέρον εύρημα της έρευνάς μας είναι, ότι με μία μεμονωμένη εξαίρεση, η ιστορία του σχήματος της βάσης αποτελείται από δύο υπέρ-φάσεις: (α) μία επεκτατική υπερ-φάση στην αρχή της ζωής του σχήματος, η οποία επιδεικνύει αύξηση στη χωρητικότητα της πληροφορίας, και, (β) μία υπέρ-φάση συντήρησης στη μέση ή στο τέλος της ζωής του σχήματος, όπου κυριαρχούν είτε εργασίες συντηρήσης είτε ηρεμία στην δραστηριότητα ενημέρωσης. Ονομάζουμε αυτό το φαινόμενο βαθμιαία ψύξη του παλμού του σχήματος. Πολλές παρατηρήσεις υποστηρίζουν το εν λόγω εύρημα. Το δεύτερο μέρος της εργασίας ασχολείται με την ακόλουθη ερώτηση: δοθείσης της ιστορίας και του παλμού ενός σχήματος, μπορούμε να εξάγουμε φάσεις της εξέλιξής του με αυτοματοποιημένο τρόπο? Η αλγοριθμική μας μέθοδος αποτελείται από τέσσερα βήματα. Το πρώτο μέρος της μεθόδου μας περιλαμβάνει το χαρακτηρισμό των δημοσίων releases του λογισμικού σε σχέση με τις δύο προαναφερθείσες οικογένειες αλλαγών, ανάπτυξη και συντήρηση. Βασισμένοι σε αυτούς τους χαρακτηρισμούς, το δεύτερο βήμα της μεθόδου σπάει το χρονοδιάγραμμα της ζωής του σχήματος σε φάσεις, εφαρμόζοντας μία ιεραρχική αθροιστική μέθοδο συσταδοποίησης, η οποία συσπειρώνει διαδοχικές releases. Στο τρίτο βήμα της μεθόδου μας, χρησιμοποιούμε μετρικές της ποιότητας συσταδοποίδησης, όπως Silhouette, Cohesion και Separation για να χαρακτηρίσουμε την ποιότητα κάθε πιθανής συσταδοποίησης. Το τέταρτο και τελικό βήμα της μεθόδου, κατατάσσει τις συστάδες, δηλαδή τις φάσεις της ζωής του σχήματος, σε σχέση με τη φύση τους, με βάση την ταξινόμηση των προφίλ αλλαγών. (δηλαδή Ασήμαντη Δραστηριότητα, Αναδιάρθρωση, Έντονη Εξέλιξη, μεταξύ άλλων).el
heal.advisorNameΒασιλειάδης, Παναγιώτηςel
heal.committeeMemberNameΒασιλειάδης, Παναγιώτηςel
heal.committeeMemberNameΛύκας, Αριστείδηςel
heal.committeeMemberNameΖάρρας, Απόστολοςel
heal.academicPublisherΠανεπιστήμιο Ιωαννίνων. Σχολή Θετικών Επιστημών. Τμήμα Μηχανικών Η/Υ & Πληροφορικήςel
heal.academicPublisherIDuoi-
heal.numberOfPages105 σ.-
heal.fullTextAvailabilitytrue-
Appears in Collections:Διατριβές Μεταπτυχιακής Έρευνας (Masters) - ΜΥ

Files in This Item:
File Description SizeFormat 
Μ.Ε. ΖΕΡΒΑ ΜΑΡΙΑ 2018.pdf3.85 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons