Clone Detection Using Abstract Syntax Trees
ICSM '98 Proceedings of the International Conference on Software Maintenance
A Comparison of 2-D Visualizations of Hierarchies
INFOVIS '01 Proceedings of the IEEE Symposium on Information Visualization 2001 (INFOVIS'01)
Clone Detection in Source Code by Frequent Itemset Techniques
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
CVSscan: visualization of code evolution
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
Supporting the Evolution of a Software Visualization Tool Through Usability Studies
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
The Visual Code Navigator: An Interactive Toolset for Source Code Investigation
INFOVIS '05 Proceedings of the Proceedings of the 2005 IEEE Symposium on Information Visualization
On the effectiveness of clone detection by string matching: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Clone Detection Using Abstract Syntax Suffix Trees
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data
IEEE Transactions on Visualization and Computer Graphics
Visual Analytics: Visual data mining and analysis of software repositories
Computers and Graphics
DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
SoftGUESS: Visualization and Exploration of Code Clones in Context
ICSE '07 Proceedings of the 29th international conference on Software Engineering
CVSgrab: mining the history of large software projects
EUROVIS'06 Proceedings of the Eighth Joint Eurographics / IEEE VGTC conference on Visualization
The code orb: supporting contextualized coding via at-a-glance views (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Code flows: visualizing structural evolution of source code
EuroVis'08 Proceedings of the 10th Joint Eurographics / IEEE - VGTC conference on Visualization
Hi-index | 0.00 |
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.