Return to search

Kodmått som indikation på brister i underhållbarhet / Code Metrics As Indication Of Flaws In Maintainability

Det här examensarbetet undersöker sambandet mellan kodmåtten cyklomatisk komplexitet, antalet metoder i en klass och djup i arvshierarkin och de faktiska anledningarna till att en kodbas blev grundligt refaktorerad. Man har länge försökt använda kodmått som indikationer på hur mycket ansträngning som krävs för att förändra en kodbas när nya krav framkommer. I fallstudien tittar vi på en kodbas som refaktorerats på grund av den dåliga underhållbarheten för att utreda till vilken grad kodmåtten antyder de problem som låg till grund för refaktoreringen. Målet är att ta reda på om man kan använda kodmått som indikator på vad som bör refaktoreras när man som konsult kliver in i ett projekt med kvalitetsproblem. Metoden som används för att identifiera problemen i kodbasen är kvalitativa intervjuer, och mätvärdena hämtas ur verktyget NDepend. För att öka reproducerbarheten och validiteten i analysen kretsar intervjuerna kring definitionen av underhållbarhet ur ISO/IEC 25010. Slutsatsen är att de mått som ger väldigt höga värden på vissa klasser eller metoder ofta indikerar objekt som är involverade i större problem i kodbasen. I den här fallstudien indikerade dock måtten sällan objekt av ”rätt anledning”, alltså av den anledning som anges i litteraturen. Därför bör man inte använda kodmåttens värde som direkt indikation på objekt som ska refaktoreras, utan snarare välja att titta närmare på de objekt som indikerats och göra en professionell bedömning. Resultaten går inte helt i linje med tidigare forskning, där vanliga samband mellan kodmått och underhållbarhetsproblem sammanställts. Detta antas bero på överanvändning av lös koppling i koden som studerats. / In this thesis, the correlation of the code metrics Cyclomatic Complexity, Number of Methods in Class and Depth of Inheritance Tree with the real reasons a codebase got heavily refactored is investigated. Code metrics have long been used in a attempts to indicate the amount of effort needed to change a codebase when new requirements emerge. In the case study we look at a codebase that has been refactored due to the low maintainability, to see to which degree the code metrics imply the problems on which the decision to refactor was based. The goal is to find out whether code metrics can be used as indicators of what should be refactored when you as a consultant join a project with existing quality problems. The method used to identify the major problems in the codebase is qualitative interviews and the code metrics values are measured with the tool NDepend. To improve the reproducability and validity of the analysis, the interviews are built around the definition of maintainability presented in ISO/IEC 25010. The conclusion is that metrics showing very high values for certain classes or methods often indicate objects involved in major problems in the codebase. In this case study though, the measures seldom indicated objects for the ”right reason”, by which we mean the reason given in the literature. Because of this, the code metric values should not be used as a direct indication of what should be refactored but rather as a direction in which to look while doing a professional assessment. The results are not entirely in line with previous research, where common correlations between code metrics values and maintainability problems have been compiled. This is assumed to be due to the high degree of loose coupling in the studied code.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-208929
Date January 2017
CreatorsModling, Jonas
PublisherKTH, Skolan för datavetenskap och kommunikation (CSC)
Source SetsDiVA Archive at Upsalla University
LanguageSwedish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0675 seconds