Refactoring Legacy Software for Layer Separation

dc.contributor.authorKhalilipour, Alireza
dc.contributor.authorChallenger, Moharram
dc.contributor.authorOnat, Mehmet
dc.contributor.authorGezgen, Hale
dc.contributor.authorKardas, Geylani
dc.date.accessioned2021-05-03T20:27:54Z
dc.date.available2021-05-03T20:27:54Z
dc.date.issued2021
dc.departmentEge Üniversitesien_US
dc.description.abstractOne of the main aims in the layered software architecture is to divide the code into different layers so that each layer contains related modules and serves its upper layers. Although layered software architecture is matured now; many legacy information systems do not benefit from the advantages of this architecture and their code for the process/business and data access are mostly in a single layer. in many legacy systems, due to the integration of the code in one layer, changes to the software and its maintenance are mostly difficult. in addition, the big size of a single layer causes the load concentration and turns the server into a bottleneck where all requests must be executed on it. in order to eliminate these deficiencies, this paper presents a refactoring mechanism for the automatic separation of the business and data access layers by detecting the data access code based on a series of patterns in the input code and transferring it to a new layer. For this purpose, we introduce a code scanner which detects the target points based on these patterns and hence automatically makes the changes required for the layered architecture. According to the experimental evaluation results, the performance of the system is increased for the layer separated software using the proposed approach. Furthermore, it is examined that the application of the proposed approach provides additional benefits considering the qualitative criteria such as loosely coupling and tightly coherency.en_US
dc.description.sponsorshipKocSistem Information and Communication Services Inc.; Scientific and Technological Research Council of Turkey (TUBITAK) under European Union EUREKA ITEA labeled (ITEA project)Turkiye Bilimsel ve Teknolojik Arastirma Kurumu (TUBITAK) [14014]; Scientific and Technological Research Council of Turkey (TUBITAK) under European Union R&D project ASSUME (TUBITAK)Turkiye Bilimsel ve Teknolojik Arastirma Kurumu (TUBITAK) [9150181]; KocSistem Information and Communication Services Inc; Sama Technical and Vocational Training Collegeen_US
dc.description.sponsorshipMehmet Onat, Hale Gezgen and Geylani Kardas are funded by KocSistem Information and Communication Services Inc. and the Scientific and Technological Research Council of Turkey (TUBITAK) under European Union EUREKA ITEA labeled (ITEA project no: 14014) R&D project ASSUME (TUBITAK Grant no: 9150181). Alireza Khalilipour and Moharram Challenger would also like to thank KocSistem Information and Communication Services Inc for their funding and supporting the study. Finally, Alireza Khalilipour would like to thank "Sama Technical and Vocational Training College" for their support during this study.en_US
dc.identifier.doi10.1142/S0218194021500066
dc.identifier.endpage247en_US
dc.identifier.issn0218-1940
dc.identifier.issn1793-6403
dc.identifier.issn0218-1940en_US
dc.identifier.issn1793-6403en_US
dc.identifier.issue02en_US
dc.identifier.scopus2-s2.0-85101979655en_US
dc.identifier.scopusqualityQ3en_US
dc.identifier.startpage217en_US
dc.identifier.urihttps://doi.org/10.1142/S0218194021500066
dc.identifier.urihttps://hdl.handle.net/11454/69683
dc.identifier.volume31en_US
dc.identifier.wosWOS:000624545700004en_US
dc.identifier.wosqualityQ4en_US
dc.indekslendigikaynakWeb of Scienceen_US
dc.indekslendigikaynakScopusen_US
dc.language.isoenen_US
dc.publisherWorld Scientific Publ Co Pte Ltden_US
dc.relation.ispartofInternational Journal of Software Engineering and Knowledge Engineeringen_US
dc.relation.publicationcategoryMakale - Uluslararası Hakemli Dergi - Kurum Öğretim Elemanıen_US
dc.rightsinfo:eu-repo/semantics/closedAccessen_US
dc.subjectLayered software architectureen_US
dc.subjectcode refactoringen_US
dc.subjectsoftware layers separationen_US
dc.subjectsoftware modernizationen_US
dc.subjectdata access layeren_US
dc.subjectbusiness layeren_US
dc.titleRefactoring Legacy Software for Layer Separationen_US
dc.typeArticleen_US

Dosyalar