Visualization Of Code Duplication

Swe03
Customer: Software Improvement Group

Contact: Patrick Duin patrick@software-improvers.com

Description

At the moment we have a tool available which detects clones in java source code. The output of the tool produces lots of data, showing which line of code is cloned. General statistics are also calculated. These show:

  • how much duplication is found.
  • how many clones of size x lines are found.
  • how many times a clone occured in the code.

Looking at text files is boring, so we would like a visualization of the clones.

Requirements

  • Technological requirements:
    • It must be build in Java.

  • What will the customer deliver?
    • The plan is to produce a set of serialized clone objects. (But this might change to the text output we have now.)

  • What kinds of visualization do you have in mind?
    • We are basically thinking of charts(JFree, might be a good starting point). Dot-plots might be a good chart to visualize clones. It is up to the team to research good visualizations, and come up with more ideas.

  • Are there architectural constraints on the solution?
    • batch or interactive? We want charts to view, if we can click on them and perhaps have links to the clones in the source code is would be nice (but not necessary).

  • What kind of product should be delivered?
    • The prototype should visualize clones(in one or more different types of charts) and some(the more the better) general statistics.

Use case

We calculate clones on a regular basis, we want to have a quick overview of these clones and also monitor code with it. The charts could end up in a report going to customers.

Customer commitment

  • We are available through email, and phone.

  • Going to Utrecht every week, will take too much time. But we can probably make some arrangement. We can go to Utrecht and the students can come to us, every other week or so.

  • Input for visualizations will be sent through email.