Abstrakt. Klassdiagram (CD), som anger klasser och sambanden dem emellan, används i stor utsträckning för att modellera strukturen hos objektorienterade system. När modeller, program och system utvecklas över tid, under utvecklingslivscykeln och bortom den, är effektiv förändringshantering en stor utmaning inom programvaruutveckling, vilket har lockat till sig mycket forskning under de senaste åren. I detta papper presenterar vi cddiff, en semantisk diff operatör för CD-skivor. Till skillnad från de flesta befintliga metoder för modelljämförelse, som jämför betongen eller den abstrakta syntaxen för två givna diagram och utdata en lista över syntaktiska ändringar eller redigeringsåtgärder, CDDiff anser semantiken i diagrammen till hands och utgångar en uppsättning diff vittnen, som var och en är en objektmodell som är möjlig i den första CD och är inte möjligt i den andra. Vi motiverar användningen av cddiff, formellt definiera det, och visa hur det beräknas. Beräkningen baseras på en reduktion till legering. Arbetet genomförs i en prototyp Eclipse plug-in. Exempel visar det unika bidraget från vår strategi till den senaste tekniken i versionsjämförelse och evolutionsanalys.
Slutligen, i ett annat dokument i denna konferens Ref har vi definierat CDDiff, en semantisk differencing operatör för CD-skivor (används för semantisk modelljämförelse i samband med modellutveckling), och har genomfört det med hjälp av en översättning till legering.
CDDiff: Semantic Differencing for Class Diagrams
{'venue': "Proc. 25th Euro. Conf. on Object Oriented Programming (ECOOP'11), LNCS 6813, pp. 230-254, Springer, 2011", 'journal': None, 'mag_field_of_study': ['Computer Science']}