Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla

Koodiklooni on toisteisena ohjelmassa esiintyvä koodinpätkä. Toisteista ohjelmakoodia on yleisesti pidetty huonona ohjelmointitapana. Tutkielmassa käydään läpi miten koodiklooneja havaitaan ohjelman riippuvuuskaavioiden avulla. Ohjelman riippuvuuskaavio esittää ohjelmassa lauseiden välillä olevia ri...

Full description

Bibliographic Details
Main Author: Heikkinen, Niko
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, University of Jyväskylä, Jyväskylän yliopisto
Format: Bachelor's thesis
Language:fin
Published: 2016
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/50032
_version_ 1826225797750325248
author Heikkinen, Niko
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto
author_facet Heikkinen, Niko Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto Heikkinen, Niko Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto
author_sort Heikkinen, Niko
datasource_str_mv jyx
description Koodiklooni on toisteisena ohjelmassa esiintyvä koodinpätkä. Toisteista ohjelmakoodia on yleisesti pidetty huonona ohjelmointitapana. Tutkielmassa käydään läpi miten koodiklooneja havaitaan ohjelman riippuvuuskaavioiden avulla. Ohjelman riippuvuuskaavio esittää ohjelmassa lauseiden välillä olevia riippuvuuksia. PDG-pohjaisissa menetelmissä käytetään hyväksi näitä riippuvuuksia kloonien havaitsemiseksi. Tämän ansiosta menetelmällä voidaan havaita tyyppi-3:n koodiklooneja. Code clone is a recurring code fragment in a source code. Code clones are generally considered to be code smell. This thesis goes through how clones can be detected with program dependence graphs. Program dependence graph brings up dependencies between statements. In PDG-based clone detection these dependences are used to find clones. Thanks to this it can detect type-3 code clones.
first_indexed 2016-06-01T20:05:50Z
format Kandityö
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "M\u00f6nk\u00f6l\u00e4, Sanna", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Heikkinen, Niko", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2016-06-01T13:57:46Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2016-06-01T13:57:46Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2016", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/50032", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Koodiklooni on toisteisena ohjelmassa esiintyv\u00e4 koodinp\u00e4tk\u00e4. Toisteista ohjelmakoodia on yleisesti pidetty huonona ohjelmointitapana. Tutkielmassa k\u00e4yd\u00e4\u00e4n l\u00e4pi miten koodiklooneja havaitaan ohjelman riippuvuuskaavioiden avulla. Ohjelman riippuvuuskaavio esitt\u00e4\u00e4 ohjelmassa lauseiden v\u00e4lill\u00e4 olevia riippuvuuksia. PDG-pohjaisissa menetelmiss\u00e4 k\u00e4ytet\u00e4\u00e4n hyv\u00e4ksi n\u00e4it\u00e4 riippuvuuksia kloonien havaitsemiseksi. T\u00e4m\u00e4n ansiosta menetelm\u00e4ll\u00e4 voidaan havaita tyyppi-3:n koodiklooneja.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Code clone is a recurring code fragment in a source code. Code clones are generally considered to be code smell. This thesis goes through how clones can be detected with program dependence graphs. Program dependence graph brings up dependencies between statements. In PDG-based clone detection these dependences are used to find clones. Thanks to this it can detect type-3 code clones.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted using Plone Publishing form by Niko Heikkinen (nikheihe) on 2016-06-01 13:57:46.050310. Form: Kandidaatintutkielma -lomake (https://kirjasto.jyu.fi/julkaisut/julkaisulomakkeet/kandin-tutkielma-lomake). JyX data: [jyx_publishing-allowed (fi) =True]", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2016-06-01T13:57:46Z\nNo. of bitstreams: 2\nURN:NBN:fi:jyu-201606012808.pdf: 193631 bytes, checksum: b43e2b0519e2c0a88d29866d72469531 (MD5)\nlicense.html: 4808 bytes, checksum: bcb9152df653ea8640b6dbbe67806b16 (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2016-06-01T13:57:46Z (GMT). No. of bitstreams: 2\nURN:NBN:fi:jyu-201606012808.pdf: 193631 bytes, checksum: b43e2b0519e2c0a88d29866d72469531 (MD5)\nlicense.html: 4808 bytes, checksum: bcb9152df653ea8640b6dbbe67806b16 (MD5)\n Previous issue date: 2016", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "26", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "koodiklooni", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ohjelman riippuvuuskaavio", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "koodikloonien havaitseminen", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "bachelor thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201606012808", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Kandidaatintutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Bachelor's thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.date.updated", "value": "2016-06-01T13:57:47Z", "language": null, "element": "date", "qualifier": "updated", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_7a1f", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": "fi", "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "bachelorThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}]
id jyx.123456789_50032
language fin
last_indexed 2025-02-18T10:55:32Z
main_date 2016-01-01T00:00:00Z
main_date_str 2016
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/1380b832-bdde-47f5-94b7-805d6c6c1f01\/download","text":"URN:NBN:fi:jyu-201606012808.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2016
record_format qdc
source_str_mv jyx
spellingShingle Heikkinen, Niko Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla koodiklooni ohjelman riippuvuuskaavio koodikloonien havaitseminen Tietotekniikka Mathematical Information Technology
title Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla
title_full Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla
title_fullStr Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla
title_full_unstemmed Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla
title_short Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla
title_sort koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla
title_txtP Koodikloonien havaitseminen ohjelman riippuvuuskaavioiden avulla
topic koodiklooni ohjelman riippuvuuskaavio koodikloonien havaitseminen Tietotekniikka Mathematical Information Technology
topic_facet Mathematical Information Technology Tietotekniikka koodiklooni koodikloonien havaitseminen ohjelman riippuvuuskaavio
url https://jyx.jyu.fi/handle/123456789/50032 http://www.urn.fi/URN:NBN:fi:jyu-201606012808
work_keys_str_mv AT heikkinenniko koodikloonienhavaitseminenohjelmanriippuvuuskaavioidenavulla