Abstract-Relationen mellan koppling och externa kvalitetsfaktorer för objektorienterad programvara har studerats ingående under de senaste åren. Till exempel har flera studier identifierat tydliga empiriska samband mellan klassnivåkoppling och klassfelbenägenhet. Ett vanligt sätt att definiera och mäta koppling är genom strukturella egenskaper och statisk kodanalys. På grund av polymorfism, dynamisk bindning och den vanliga förekomsten av oanvänd ("död") kod i kommersiell programvara, är de resulterande kopplingsåtgärderna oprecisa eftersom de inte helt återspeglar den faktiska koppling som äger rum mellan klasser vid körtid. När man till exempel använder statisk analys för att mäta koppling är det svårt och ibland omöjligt att avgöra vilka faktiska metoder som kan åberopas från en kundklass om dessa metoder överskrids i serverklassernas underklasser. Kopplingsmätning har traditionellt utförts med hjälp av statisk kodanalys, eftersom det mesta av det befintliga arbetet gjordes på nonobject-orienterad kod och eftersom dynamisk kodanalys är dyrare och mer komplex att utföra. För moderna mjukvarusystem kan dock detta fokus på statisk analys vara problematiskt, eftersom även om dynamisk bindning existerade innan tillkomsten av objektorientering, dess användning har ökat avsevärt under det senaste årtiondet. Detta dokument beskriver hur koppling kan definieras och mätas exakt baserat på dynamisk analys av system. Vi hänvisar till denna typ av koppling som dynamisk koppling. En empirisk utvärdering av de föreslagna dynamiska kopplingsåtgärderna rapporteras där vi studerar sambandet mellan dessa åtgärder och klassernas förändringsbenägenhet. Data från underhållsutgåvor av ett stort Java-system används för detta ändamål. Preliminära resultat tyder på att vissa dynamiska kopplingsåtgärder är betydande indikatorer på förändringsbenägenhet och att de kompletterar befintliga kopplingsåtgärder baserade på statisk analys.
I motsats till statiska kopplingsåtgärder definierades dynamiska kopplingsåtgärder som förbättring av befintliga kopplingsåtgärder för att åtgärda några av bristerna i befintliga strukturella mått samtidigt som man behandlade polymorfism, dynamisk bindning och förekomst av oanvänd kod.
Dynamic coupling measurement for object-oriented software
{'venue': 'IEEE Transactions on Software Engineering', 'journal': 'IEEE Transactions on Software Engineering', 'mag_field_of_study': ['Computer Science']}