For the thesis project of my master degree in software engineering, I am going to work on Visualization of source code (from April to August). As it is part of the project to write a working piece of software (plug-in or standalone), I would like to know whether a source code visualization plug-in for Gephi is a suitable idea as part of the GSOC.
I know about CodeMiner (Roadmap 1.0) that let you create a graph of a source code project using functional dependencies. But from my understanding, the current version only generates links between elements (classes, methods...). It does not calculate any software metrics (fan-in/fan-out, cyclomatic complexity, depth of conditional nesting, length of code...) that can be used to determine the complexity, maintainability or reliability of the project.
My idea of source code visualization plug-in for Gephi would be to let the user import a project (GEXF from CodeMiner or direct import with static analysis at the pre-processing stage if feasible) and let him visualize the graph of the project at different scales (classes, methods) with each of the software metrics available. The plug-in would take advantage of the graph visualization functionalities of Gephi (layouts, filtering, ranking, clustering...) and use them to give a new perspective of source code visualization to the user. It would help a developer at different stages of the development process (testing, maintenance) by identifying the more complex or less reliable elements for instance. The user could also select from the plug-in window the packages or classes that he wants to visualize and the graph would be automatically updated.
I have lots of ideas and would be glad to write a detailed GSOC proposal if it is a suitable approach.
Thanks a lot,