[Gemini Website] -> Japanese Page
Last update 18 Mar. 2005, Since 2002
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Gemini

Gemini is an integrated environment for the analysis of code clones. It provides a view displaying scatter plots, clone metric graphs, and source codes, and realizes the interactive analysis of code clones. Gemini is implemented in Java.

Scatter plot view

A scatter plot view displays the distribution of code clones in the source code by plotting a point at (x,y) in a two-dimensional plane, for each pair of similar lines x and y in the source code. The functions of zoom-in and zoom-out are installed. Also, this view can display the source code of the selected code clone.

Screenshot(1) Scatter plot of the whole source file of a program

Screenshot(2) Zoom-in and selection of a code clone

Screenshot(3) Display the source code of the selected code clone

Metrics graph view

This view displays in the form of a graph, metrics of features such as the length and the distribution of a code clone. A parallel-coordination technique is applied to enable operations such as selecting the code clones, which satisfy the specified conditions by setting the range in the axes of graphs, and by displaying the source code of the code clones.
The metrics, which Gemini provides, are RAD (the range of the source code fragments of a code clone in the directory hierarchy), LEN (the length of a source code fragment), POP (the number of source code fragments of a code clone), and DFL (the estimated reduction of source code caused by rewriting the code clones into common subroutine).

Screenshot Select only the code clones that are longer than 200 tokens.