Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Code-Clone Analysis.

Similar presentations


Presentation on theme: "Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Code-Clone Analysis."— Presentation transcript:

1 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Code-Clone Analysis Tool: Gemini Software Engineering Laboratory Department of Computer Science Graduate School of Information Science and Technology Osaka University Japan

2 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Outline of Gemini Gemini is GUI-based clone analysis environment Gemini uses CCFinder as clone detection unit Gemini has three interfaces Scatter plot –User can select code clones by mouse dragging –Scatter plot has sort function, zoom function, and so on Metric graph –Metric graph shows several metrics of clone class. –User can select clones by specifying ranges of each metric value Source code view –User can browse the source code of clones selected in other views Gemini is implemented in Java

3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Clone pair manager Metrics manager Scatter plot view Metric graph views User Interfaces Gemini: Architecture Source files Source code manager Source code view Clone selection information User Gemini Code clone detector CCFinder Code clone database a b c a b c a d e c a, b, c,... : tokens : matched position

4 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Clone pair manager Metrics manager Scatter plot view Metric graph views User Interfaces Gemini: Architecture Source files Source code manager Source code view Clone selection information User Gemini Code clone detector CCFinder Code clone database DFL (C ): Estimation of how many tokens would be removed from source files when all code fragments of clone class C are replaced with caller statements of a new identical routine new sub routine caller statements

5 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Clone pair manager Metrics manager Scatter plot view Metric graph views User Interfaces Gemini: Architecture Source files Source code manager Source code view Clone selection information User Gemini Code clone detector CCFinder Code clone database

6 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Application of CCFinder&Gemini Open source software Commercial Software (about 30 companies) Students exercise of Osaka University Filed in a court as an evidence for software copyright suit JDK libraries (Java, 570 KLOC) Linux, FreeBSD (C, 1.6 + 1.3 MLOC) FreeBSD, OpenBSD , NetBSD(C) Qt(C++ , 240KLOC) NTT Data Corp., Hitachi Ltd., Hitachi GP, NEC soft Ltd., ASTEC Inc., SRA Inc., NASDA , Daiwa Computer, etc…


Download ppt "Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Code-Clone Analysis."

Similar presentations


Ads by Google