Structural analysis and visualization of C++ code evolution using syntax trees

F. Chevalier, D. Auber, A.C. Telea

Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

6 Downloads (Pure)


We present a method to detect and visualize evolution patterns in C++ source code. Our method consists of three steps. First, we extract an annotated syntax tree (AST) from each version of a given C++ source code. Next, we hash the extracted syntax nodes based on a metric combining structure and type information, and construct matches (correspondences) between similar-hash subtrees. Our technique detects code fragments which have not changed, or changed little, during the software evolution. By parameterizing the similarity metric, we can flexibly decide what is considered to be identical or not during the software evolution. Finally, we visualize the evolution of the code structure by emphasizing both changing and constant code patterns. We demonstrate our technique on a versioned code base containing a variety of changes ranging from simple to complex.
Originele taal-2Engels
TitelProceedings of the 9th International Workshop on Principles of Software Evolution (IWPSE 2007) 3-4 September 2007, Dubrovnik, Croatia
Plaats van productieNew York, New York
UitgeverijAssociation for Computing Machinery, Inc
ISBN van geprinte versie978-1-59593-722-3
StatusGepubliceerd - 2007
Evenementconference; IWPSE 2007, Dubrovnik, Croatia; 2007-09-03; 2007-09-04 -
Duur: 3 sep 20074 sep 2007


Congresconference; IWPSE 2007, Dubrovnik, Croatia; 2007-09-03; 2007-09-04
AnderIWPSE 2007, Dubrovnik, Croatia


Duik in de onderzoeksthema's van 'Structural analysis and visualization of C++ code evolution using syntax trees'. Samen vormen ze een unieke vingerafdruk.

Citeer dit