<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="72643" NadgradivoID="0" NRID="10977147" OceID="0" DomainUrl="https://dk.um.si/" IzpisPolniUrl="https://dk.um.si/IzpisGradiva.php?lang=slv&amp;id=72643" StOgledov="9674" StPrenosov="291" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-30 20:33:04" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/DKUM-72643">20.500.12556/DKUM-72643</PID>
  <Naslov>Identifikacija pomanjkljive kode na osnovi mejnih vrednosti programskih metrik</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Identification of deficient code based on software metric thresholds</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Programske metrike so pomemben element procesov zagotavljanja in kontrole kakovosti programskih rešitev. Za njihovo učinkovito uporabo potrebujemo mejne vrednosti, s katerimi lahko med drugim zaznamo tudi pomanjkljivo kodo. Da identificiramo resnično pomanjkljive programske entitete, je potrebno mejne vrednosti programskih metrik določiti na reprezentativen in zanesljiv način. 

Na osnovi sistematičnega pregleda literature ter primerjave obstoječih pristopov določanja mejnih vrednosti smo izbrano metodo izračuna, ki temelji na statistični analizi in primerjalnih podatkih, nadgradili in uporabili nad 400 projekti v štirih objektnih programskih jezikih. Za devet izbranih metrik smo analizirali sistematično pridobljene mejne vrednosti ter ugotovili, da so odvisne od programskega jezika. 

Pridobljene mejne vrednosti so osnova v disertaciji predlaganega pristopa k identifikaciji pomanjkljive programske kode. Pristop temelji na kombinaciji programskih metrik, pri čemer je kakovost obravnavanih programskih entitet ovrednotena z uporabo funkcije večine. Z uporabo predlaganega pristopa se število potencialno pomanjkljivih entitet bistveno omeji, zmanjša pa se tudi število lažno pozitivnih rezultatov. 

Validacijo rezultatov identifikacije smo izvedli s pomočjo potrditvene študije, v sklopu katere je sodelovalo 43 ocenjevalcev, ki so z razvitim orodjem za sodelovanje in podporo presojam ovrednotili 131 entitet v treh različnih programskih jezikih. Strokovne presoje potrjujejo zanesljivost vrednotenja kakovosti razredov na osnovi predlaganega pristopa tako glede natančnosti kot točnosti izvedene identifikacije pomanjkljive programske kode.</Opis>
  <TujJezik_Opis>An important part of software quality assurance is detecting and managing existing code smells within software. Code smells can be detected with exceeding threshold values of selected software metrics. To provide proper identification, it is important to calculate thresholds in a reliable and representative way, using an appropriate approach. 

Based on a systematic literature review and a comparison of existing approaches, we used an approach that depends on a statistical analysis of benchmark data, which resulted in different risk areas for nine selected software metrics. They were identified for four object-oriented programming languages and an analysis showed that threshold values are not language independent. 

Using the derived threshold values, code smell identification was carried out. To increase the reliability of the identification, we combined selected software metrics into five categories that evaluate different aspects of object-oriented software. The proposed approach is based on applying the majority function on a combination of software metrics. An empirical analysis has shown that the combination of categories and consequently, the consideration of more software metrics in the assessment process, can significantly reduce the number of potentially deficient entities. Also, the reliability of code smell detection is increased. 

To validate the identification of code smells, a study of expert judgment was performed which confirmed the correctness and reliability of the conducted identification.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>kakovost programske opreme</Beseda>
    <Beseda>pomanjkljive programske entitete</Beseda>
    <Beseda>metrike programske opreme</Beseda>
    <Beseda>primerjalni podatki</Beseda>
    <Beseda>porazdelitev metričnih vrednosti</Beseda>
    <Beseda>primerjava mejnih vrednosti</Beseda>
    <Beseda>strokovna presoja</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>software quality</Beseda>
    <Beseda>deficient program  entities</Beseda>
    <Beseda>software metrics</Beseda>
    <Beseda>benchmark data</Beseda>
    <Beseda>distribution of metric values</Beseda>
    <Beseda>threshold comparison</Beseda>
    <Beseda>expert judgment</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>true</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik>[T. Beranič]</Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb31" DRIVER="info:eu-repo/semantics/doctoralThesis">Doktorsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2018-10-11 09:37:10</DatumVstavljanja>
  <DatumObjave>2019-01-03 11:58:24</DatumObjave>
  <DatumSpremembe>2022-08-01 22:56:26</DatumSpremembe>
  <DatumTrajnegaHranjenja>2019-07-11 19:25:49</DatumTrajnegaHranjenja>
  <LetoIzida>2018</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida>Maribor</KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <Licence>
    <Licenca ID="1" Kratica="CC BY-NC-ND 4.0" Naziv="Creative Commons Priznanje avtorstva-Nekomercialno-Brez predelav 4.0 Mednarodna" URL="http://creativecommons.org/licenses/by-nc-nd/4.0/deed.sl" Logo="by-nc-nd.eu.png" LogoPolniUrl="https://dk.um.si/teme/dkumDev2/img/licence/by-nc-nd.eu.png" DatumZacetkaLicenciranja="2018-10-11" VezanoNa="" VezanoNaAng="" Besedilo="" BesediloAng=""></Licenca>
  </Licence>
  <EmbargoDo></EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="71063" Ime="Tina" Priimek="Beranič" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="" ORCID=""></Oseba>
    <Oseba ID="46862" Ime="Marjan" Priimek="Heričko" AltIme="" VlogaID="991" VlogaNaziv="Mentor" ConorID="" Afiliacija="" ArrsID="" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="4" Sifra="UDK" Naziv="UDK" URL="">004.4\&#039;2:004.415.4(043.3)</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/22002198">22002198</Identifikator>
    <Identifikator ID="18" Sifra="URN-NUK" Naziv="NUK URN" URL="">URN:SI:UM:DK:AONI001D</Identifikator>
  </Identifikatorji>
  <Relacije>
  </Relacije>
  <VerzijeGradiva>
  </VerzijeGradiva>
  <Datoteke>
    <Datoteka ID="131919" DatotekaNRID="10846433" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.gif" IkonaFormataPolniUrl="https://dk.um.si/teme/dkumDev2/img/fileTypes/pdf.gif" VelikostDatoteke="9025070" VelikostDatotekeKratko="8,61 MB" DatumVstavljanja="2018-12-17 15:18:44" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>DOK_Beranic_Tina_2018.pdf</Naziv>
      <OrgNaziv>DOK_Beranic_Tina_2018.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>FF49F41A589D065536B443C85AAB19C7</MD5>
      <SHA256>39718e87c4d11a9dec533b245440e9a326097a19b89b10af1ebd2598dce67ae7</SHA256>
      <UUID>8bf76c10-7c10-11eb-bb7a-00155d0001ca</UUID>
      <PID>20.500.12556/dkum/80eafdef-ff15-4283-b547-2794e2c59907</PID>
      <PrenosPolniUrl>https://dk.um.si/Dokument.php?lang=slv&amp;id=131919</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1060" Oznaka="" Dolzina="489750"></Vsebina>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="3" Kratica="FERI" ZavodEvsID="0000080" Logo="FERI_logo.gif" LogoPolniUrl="https://dk.um.si/teme/dkumDev2/img/logo/FERI_logo.gif">Fakulteta za elektrotehniko, računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="2.08" Koda="2.08" Naziv="Doktorska disertacija" SchemaOrg="Thesis"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
