Finding patterns in visualizations of programs
Cătălin F. Perțicaș, Bipin Indurkhya, Răzvan V. Florian, Lehel Csató
We present an approach to classify computer programs according to their semantics, by using adaptive and neural network-based algorithms. We first develop a visualization method that reflects program dynamics. In order to validate the existence of patterns in visualizations, we build five features that characterize sorting methods, and apply self-organizing maps to cluster them. We then use neural networks to classify five sorting algorithms: InsertionSort, BubbleSort, HeapSort, QuickSort, and RandomSort. Our experiments show above 90% accuracy on the validation set, thereby showing that the specific sorting algorithm can be inferred from a simple visualization.