University of Oulu

Koneoppimisen käyttäminen ohjelmistojen refaktoroinnissa

Saved in:
Author: Räisänen, Juho1
Organizations: 1University of Oulu, Faculty of Information Technology and Electrical Engineering, Information Processing Science
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 0.3 MB)
Pages: 23
Persistent link: http://urn.fi/URN:NBN:fi:oulu-202112109271
Language: Finnish
Published: Oulu : J. Räisänen, 2021
Publish Date: 2021-12-10
Thesis type: Bachelor's thesis
Description:

Tiivistelmä

Refaktoroinnilla tarkoitetaan ohjelmakoodin muokkaamista ja siistimistä helpommin ymmärrettävään muotoon, muuttamatta koodin ulkoista toimintaa. Refaktoroinnin seurauksena ohjelmointityö etenee sujuvammin ja samalla vältetään projektin ajautumista ongelmiin. Refaktorointi ei kuitenkaan ole helppo toimenpide, ja epäonnistuessaan se voi aiheuttaa huomattavia kustannuksia. Tämän vuoksi suositellaan laajojen operaatioiden sijasta kevyttä refaktorointia päivittäisen ohjelmointityön ohessa. Refaktoroinnin haasteita ovat käytössä olevan ajan vähyys, monimutkaiset ongelmat, puutteellinen työkalujen tuki ja riskit toimivan koodin rikkomisesta.

Koneoppimisella tarkoitetaan tietokonejärjestelmiä, joiden toiminta kehittyy automaattisesti kokemuksen kautta. Koneoppimista voidaan soveltaa monimutkaisten ongelmien ratkaisemisessa, joihin kuuluu esimerkiksi automaattinen kasvojen tunnistaminen. Tämän tutkielman tarkoituksena on selvittää koneoppimisen käyttömahdollisuuksia automaattisessa refaktoroinnissa. Tutkielma osoitti, että koneoppimisen avulla voidaan tunnistaa lähdekoodista kohtia refaktorointia varten, mutta menetelmät eivät ole vielä valmiita ja aiheen tutkimus on yhä kesken. Työkaluilta vaaditaan paljon, sillä tehtävä on vaikea ja vääriä tuloksia ei voida hyväksyä. Manuaalisessa refaktoroinnissa tärkeää on versionhallinnan ja kattavien yksikkötestien käyttö turvallisuuden takaamiseksi. Automaattinen refaktorointi vähentäisi kuitenkin kehittäjien työtä huomattavasti.

see all

Subjects:
Copyright information: © Juho Räisänen, 2021. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.