Hi All,
For my master's thesis I have been working on a tool named ClonEvol. This is a visual analysis tool that assists in obtaining insight into the state and the evolution of a C/C++/Java source code base on project, file and scope level. It combines information obtained from the software versioning system and contents of files that change between versions; The tool operates as tool-chain of Subversion (SVN), Doxygen (applied as static analyzer) and Simian as code duplication detector. The consolidated information is presented to the user in an interactive visual manner.
More information about ClonEvol can be found at http://www.cs.rug.nl/svcg/SoftVis/ClonEvol.
I used the FileZilla repo as input, a video of the evolution can be found here: https://www.youtube.com/watch?v=P2Uyy7BYfIU
I am very interested in the devs' opinion on my work.
Thanks, Avdo
Evolution of FileZilla
Moderator: Project members
Evolution of FileZilla
- Attachments
-
- 2013-10-09 10_15_21-FileZilla - ClonEvol.png (304.38 KiB) Viewed 4051 times
-
- 500 Command not understood
- Posts: 1
- Joined: 2013-10-09 10:56
- First name: Alex
- Last name: Maxwell
- Location: london
Re: Evolution of FileZilla
agreed with that that is awesome
Re: Evolution of FileZilla
Intriguing, though I have no clue how to interpret the data.
On the technical side, how well do you handle C++ concepts such template meta programming, or C++11 features?
Also, I see there are Qt specific features, none of which apply when analyzing FileZilla as it's written using wxWidgets. How difficult is it to add support for other toolkits in your framework? E.g. for wx' event tables instead of Qt's signals/slots.
On the technical side, how well do you handle C++ concepts such template meta programming, or C++11 features?
Also, I see there are Qt specific features, none of which apply when analyzing FileZilla as it's written using wxWidgets. How difficult is it to add support for other toolkits in your framework? E.g. for wx' event tables instead of Qt's signals/slots.
Re: Evolution of FileZilla
It would make more sense to see which block is what, I agree... I have added an attachment that should give you a better idea of what you are looking at. If you want to know even more, I'd suggest that you take a short look at the (last part of) my paperbotg wrote:Intriguing, though I have no clue how to interpret the data.
Honestly, I don't know. I Use doxygen to mine the scope information, so this really depends on how Doxygen handles these features... Though I expect it to be able to detect this.botg wrote:On the technical side, how well do you handle C++ concepts such template meta programming, or C++11 features?
Same as above; This depends on doxygen... A short google search gives me the impression that doxygen actually is able to detect wxWidgets specific stuff (I keep it general here, as I have no experience with it), though ClonEvol should be adapted to also record these kind of things....botg wrote:Also, I see there are Qt specific features, none of which apply when analyzing FileZilla as it's written using wxWidgets. How difficult is it to add support for other toolkits in your framework? E.g. for wx' event tables instead of Qt's signals/slots.
In general I believe it should be quite easy to add these features to ClonEvol, the only thing that need to be changed are the input filters on doxygen's output, which at this point are limited to the scope types you see in the legend... If anyone is interested, I can provide the binaries (which are also on the project page btw) and a FileZilla import for your own analysis (but you can also extract the data yourself using the tool - all you need is to provide the url)... Playing with these kind of tools often gives more insight than looking at some images/videos as you can recognise/trace stuff you actually expect.
- Attachments
-
- structure.png (472.79 KiB) Viewed 4005 times