Abstract Software arkitekturnedbrytning är ett fenomen som ofta förekommer under programvaruutveckling. Källkod anomalier är en av de flera aspekter som potentiellt bidrar till programvaruarkitektur nedbrytning. Många tekniker för att automatisera upptäckten av sådana anomalier är baserade på källkodsmått. Det är dock oklart hur noggranna dessa tekniker är när det gäller att identifiera arkitektoniskt relevanta avvikelser i ett system. Syftet med detta dokument är att belysa i vilken utsträckning källkodsmått på egen hand kan användas för att karakterisera klasser som bidrar till programvaruarkitekturens nedbrytning. Vi gjorde en multi-case studie på tre open-source-system för var och en av dem där vi samlade den avsedda arkitekturen och data för 49 olika källkodsmått tagna från sju olika kodkvalitetsverktyg. Dessa data analyserades för att undersöka kopplingarna mellan arkitektoniska inkonsekvenser, som upptäckts genom att tillämpa reflexion modellering, och metriska värden som indikerar potentiella designproblem på genomförandenivå. Resultaten visar att det inte verkar finnas någon direkt korrelation mellan mätvärden och arkitektoniska inkonsekvenser. För många mätvärden verkar dock klasser som är mer problematiska, vilket framgår av deras metriska värde, betydligt mer benägna att bidra till inkonsekvenser än mindre problematiska klasser. I synnerhet, fan-in, en klass offentliga API, och metod räknas verkar vara lämpliga indikatorer. Den fan-in metriska verkar vara en särskilt intressant indikator, eftersom klassstorlek verkar inte ha en förvirrande effekt på detta metriska. Denna slutsats kan vara användbar för att fokusera arbetet med att omstrukturera koden på arkitektoniskt relevanta mått om den avsedda arkitekturen inte uttryckligen specificeras och för att ytterligare förbättra återställning av arkitektur och konsekvent kontroll av verktygsstöd.
Lenhard m.fl. REF valde en uppsättning källkodsmått, såsom WMC, kodstorlek, etc., och undersökte förhållandet mellan arkitekturnedbrytning och dessa källkodsmått.
Exploring the suitability of source code metrics for indicating architectural inconsistencies
{'venue': 'Software Quality Journal', 'journal': 'Software Quality Journal', 'mag_field_of_study': ['Computer Science']}