Staattiset koodimetriikat ja niiden yhteys muutoksen määrään TIMissä
Authors
Date
2023Copyright
© The Author(s)
Static code metrics are ways to measure software code without executing it. Typically, they are used to evaluate code quality, such as understandability and maintainabiliy, but their applicability to it is somewhat questionable. The topic has been under research for about 50 years without univocal results. Software industry uses them quite steadily to validate code, but academic research about them has given rather contradictory results. The source code of TIM, an educational web application developed in the University of Jyväskylä, was researched by the available metric tools and it turned out that their relation to the amount of Git commits in the Git log was remarkable. However, the metrics the research emphasized were somewhat different from what previous research has emphasized, which may tell about the programming paradigm used in TIM. Staattiset koodimetriikat ovat tapoja mitata ohjelmakoodia suorittamatta sitä. Yleensä niitä käytetään arvioimaan ohjelmakoodin laatua, kuten ymmärrettävyyttä ja ylläpidettävyyttä, mutta niiden soveltuvuus siihen on melko kyseenalaista. Aihetta on tutkittu noin 50 vuotta ilman yksiselitteisiä tuloksia. Ohjelmistoteollisuus käyttää niitä melko vakituisesti koodin validointiin, mutta akateeminen tutkimus niistä on antanut melko ristiriitaisia tuloksia. Jyväskylän yliopistossa koulutuskäytön web-sovellukseksi kehitetyn TIMin lähdekoodia tutkittiin saatavilla olevilla staattisten koodimetriikoiden mittaustyökaluilla ja paljastui, että useat metriikat ovat merkittävästi yhteydessä koodia muuttaneiden Git-commitien määrään. Toisaalta tämän tutkielman aineiston analyysissä korostuivat jonkin verran eri metriikat kuin aiemmassa tutkimuskirjallisuudessa, mikä voi kertoa TIMin taustalla olevasta ohjelmointiparadigmasta.
Keywords
ohjelmisto TIM staattinen koodimetriikka staattiset koodimetriikat Git Flask SonarQube PyPI McCabe-kompleksisuus kognitiviinen kompleksisuus ohjelmistotiede Halsteadin metriikat metodien koheesion puute LCOM fan-out ohjelmiston laatu ylläpidettävyys tietokoneohjelmat ymmärrettävyys Python ohjelmistoteollisuus
Metadata
Show full item recordCollections
- Pro gradu -tutkielmat [29743]
License
Related items
Showing items with similar title or keywords.
-
Yhteistyötä tukevan ohjelmiston käyttöönottoon vaikuttavat tekijät, tapaustutkimus Valmet Oy Rautpohjan projektiosastolla
Tynys, Jari; Heilala, Vesa (1996) -
Keskeiset SaaS-ohjelmiston valintaan vaikuttavat tekijät yksityisellä sektorilla : asiakkaan näkökulma
Jaakkola, Anssi (2021)Erilaisten SaaS-ohjelmistojen (Software-as-a-Service) määrä on kasvanut huo-mattavasti viime vuosina samalla kun perinteisten, kertamaksulla ostettavien ohjelmistojen määrä pienenee. Tämä kandidaatintutkielma on ... -
Monte Carlo -hiukkassimulaation toteuttaminen ja kiihdyttäminen Pythonin Numba-kirjastolla
Pitkänen, Tuomas (2022)Tutkielmassa vertaillaan alkuperäisen C-kielisen MCERD-simulaatiosovelluksen ja siitä tutkielmaa varten kehitettyjen Python-kielisten versioiden suorituskykyä. MCERD simuloi Elastic Recoil Detector (ERD) ja Rutherford ... -
Constant Software Updates vs. Public Software Acquisition
Mikkonen, Tommi (Suomalainen tiedeakatemia, 2023)Software industry has widely adopted agile software development model, where it is accepted that change is constant. Indeed, as the environment in which the software is run changes – be it changes in jurisdiction, language, ... -
Arkkitehtuurimallien käyttäminen ohjelmiston ylläpidettävyyden parantamiseen
Hämäläinen, Janne (2004)