Aspect-Oriented Refactoring of Java Applications

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology | Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author
Date
2007
Major/Subject
Ohjelmistotekniikka
Mcode
T-106
Degree programme
Language
en
Pages
(12) + 73 s.+ liitt.
Series
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.
Description
Supervisor
Saikkonen, Heikki
Thesis advisor
Pokki, Toni
Keywords
aspect oriented programming, aspektiohjelmointi, refactoring, refaktorointi, aspect mining, aspektien louhinta
Other note
Citation