Aspect-Oriented Refactoring of Java Applications
dc.contributor | Aalto-yliopisto | fi |
dc.contributor | Aalto University | en |
dc.contributor.advisor | Pokki, Toni | |
dc.contributor.author | Koskimäki, Mika | |
dc.contributor.department | Tietotekniikan osasto | fi |
dc.contributor.school | Teknillinen korkeakoulu | fi |
dc.contributor.school | Helsinki University of Technology | en |
dc.contributor.supervisor | Saikkonen, Heikki | |
dc.date.accessioned | 2020-12-05T10:46:35Z | |
dc.date.available | 2020-12-05T10:46:35Z | |
dc.date.issued | 2007 | |
dc.description.abstract | Olio-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.uri | https://aaltodoc.aalto.fi/handle/123456789/94746 | |
dc.identifier.urn | URN:NBN:fi:aalto-2020120553580 | |
dc.language.iso | en | en |
dc.programme.major | Ohjelmistotekniikka | fi |
dc.programme.mcode | T-106 | fi |
dc.rights.accesslevel | closedAccess | |
dc.subject.keyword | aspect oriented programming | en |
dc.subject.keyword | aspektiohjelmointi | fi |
dc.subject.keyword | refactoring | en |
dc.subject.keyword | refaktorointi | fi |
dc.subject.keyword | aspect mining | en |
dc.subject.keyword | aspektien louhinta | fi |
dc.title | Aspect-Oriented Refactoring of Java Applications | en |
dc.title | Java-sovellusten aspektilähtöinen refaktorointi | fi |
dc.type.okm | G2 Pro gradu, diplomityö | |
dc.type.ontasot | Master's thesis | en |
dc.type.ontasot | Pro gradu -tutkielma | fi |
dc.type.publication | masterThesis | |
local.aalto.digiauth | ask | |
local.aalto.digifolder | Aalto_11054 | |
local.aalto.idinssi | 34501 | |
local.aalto.openaccess | no |