Structural Analysis and Visualization of C++ Code Evolution using Syntax Trees - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2007

Structural Analysis and Visualization of C++ Code Evolution using Syntax Trees

Résumé

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.

Domaines

Autre [cs.OH]
Fichier principal
Vignette du fichier
view.pdf (601.94 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00306679 , version 1 (01-12-2008)

Identifiants

  • HAL Id : hal-00306679 , version 1

Citer

Fanny Chevalier, David Auber, Alexandru C Telea. Structural Analysis and Visualization of C++ Code Evolution using Syntax Trees. International Workshop on Principles of Software Evolution (IWPSE), 2007, United States. pp.90 - 97. ⟨hal-00306679⟩
505 Consultations
1628 Téléchargements

Partager

Gmail Facebook X LinkedIn More