Aspect-Oriented Refactoring of Java Applications

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorPokki, Toni
dc.contributor.authorKoskimäki, Mika
dc.contributor.departmentTietotekniikan osastofi
dc.contributor.schoolTeknillinen korkeakoulufi
dc.contributor.schoolHelsinki University of Technologyen
dc.contributor.supervisorSaikkonen, Heikki
dc.date.accessioned2020-12-05T10:46:35Z
dc.date.available2020-12-05T10:46:35Z
dc.date.issued2007
dc.description.abstractOlio-ohjelmointi on nykyisin yleisesti käytetty ohjelmointimalli. Se tukee käsitteiden ja ongelmien modulaarisuutta luokkakäsitteen avulla. Tämä on selkeyttänyt ohjelmien jäsentämistä ja ymmärtämistä. Joidenkin toiminnallisuuksien kunnollinen jakaminen olio-ohjelmoinnin keinoin on osoittautunut mahdottomaksi tehtäväksi. Tällaisia toiminnallisuuksia kutsutaan läpileikkaaviksi toiminnallisuuksiksi. Ne aiheuttavat itse läpileikkaavien toiminnallisuuksien hajanaisen toteutuksen ja ei-läpileikkaavien toiminnallisuuksien sekavoittumisen. Esimerkkejä läpileikkaavasta toiminnallisuudesta ovat lokin kirjoitus, ohjelmavuon jäljitys, synkronointi tai parametritarkistus. Refaktorointi on muutosprosessi, jossa ohjelman sisäistä rakennetta muutetaan ilman sen varsinaisen toiminnan muuttamista. Tavoitteena on parantaa ylläpidettävyyttä. Aspektiohjelmointi on ohjelmointimenetelmä, joka tarjoaa keinon läpileikkaavien toiminnallisuuksien jäsentämiseen yhtenäisiksi ohjelmalohkoiksi. Ennen muutosta läpileikkaavat toiminnot on kuitenkin ensin etsittävä ja arvioitava. Manuaalinen etsiminen voi olla vaativaa etenkin isompien sovellusten kohdalla. Mahdollisesti aspekteiksi muutettavan koodin, aspektiehdokkaiden, etsimistä kutsutaan aspektien louhinnaksi. Tässä opinnäytetyössä arvioidaan muutamaa aspektien louhintamenetelmää soveltamalla niitä olemassa oleviin sovelluksiin. Menetelmien tulokset refaktoroidaan aspektikoodiksi ja tuloksia arvioidaan käyttäen tunnettuja koodin ominaisuuksien mittareita.fi
dc.format.extent(12) + 73 s.+ liitt.
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/94746
dc.identifier.urnURN:NBN:fi:aalto-2020120553580
dc.language.isoenen
dc.programme.majorOhjelmistotekniikkafi
dc.programme.mcodeT-106fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordaspect oriented programmingen
dc.subject.keywordaspektiohjelmointifi
dc.subject.keywordrefactoringen
dc.subject.keywordrefaktorointifi
dc.subject.keywordaspect miningen
dc.subject.keywordaspektien louhintafi
dc.titleAspect-Oriented Refactoring of Java Applicationsen
dc.titleJava-sovellusten aspektilähtöinen refaktorointifi
dc.type.okmG2 Pro gradu, diplomityö
dc.type.ontasotMaster's thesisen
dc.type.ontasotPro gradu -tutkielmafi
dc.type.publicationmasterThesis
local.aalto.digiauthask
local.aalto.digifolderAalto_11054
local.aalto.idinssi34501
local.aalto.openaccessno

Files