Software birthmarks are unique and native characteristics of every software component. Two components having similar birthmarks indicate that they are similar in functionality, structure and implementation. Questions addressed in this paper include: Which are similar class files? Can they be gathered into one class file? What are major functionalities among class files? To answer to these questions, this paper analyzed the similarity of birthmarks for all pairs of classes in ArgoUML, and visualized them using Multi-Dimensional Scaling (MDS). As a result, three pairs of very similar class files, which seem to be made by copy-and-paste programming, were identified. Also, four major functionalities were identified in the MDS space.  Categories and Subject Descriptors The following two questions are addressed in this paper. (1) Which are similar class files? This question needs to be answered when one wants to refactor a Java program. Similar class files are often refactored into one class file to improve software maintainability. Also, when one modifies a class file, he/she often needs to find similar class files that need to be modified as well. (2) What are major functionalities among class files? This question needs to be answered when one joins a project and tries to understand the mapping between class files and their functionalities. From 1,432 class files of ArgoUML release 0.20, 61 classes having more than 30 lines of source code were chosen as an input dataset.
Kakimoto et al. REF analyzed the birthmark similarities in ArgoUML and visualized them using multidimensional scaling.