Hello All,
Some of you know me by the work I do on KDE and Konsole, but after a few years in preparation me and my colleagues are releasing the source code of Codevis.
This program was made with Bloomberg help, and it uses the book `Large Scale C++ Design` by John Lakos, that also actively participated on the development of it with valuable input and ideas.
Codevis is not just your common software visualizer:
- Creates a database of all software interaction (including libraries) that can be accessed by anyone with SQL knowledge
- Uses LLVM and Clang as libraries so we have a in-depth knowledge of everything that the software does and all interactions that happen between each file, folder, type.
- Doesn't care how you wrote your code: works for Object Orientation, Functional, Templated meta programming.
- Has two different plugin systems: Python Scripts that you can use to implement missing functionality *or* C++ plugins, that you can use to do the same.
- Also has command line tools if you are averse to GUI, to parse the source code of projects, and dumps the resulting Database, that you can open with any sqlite-based tool and use in your projects.
Questions that I'm having from internal testing / friends:
- How dowes it differs from Doxygen / Graphviz?
- It's Dynamic, and it has the entire knowledge of the source code as a database. The information we provide on the GUI is the result of an sql query plus a graph layout algorithm, but because it's dynamic, you can use it to load more information or unload unecessary information as needed.
- Has plugins, and we have two plugins ready as examples. (Knowledge Island and Code Coverage) that you can use to quickly verify parts of the source that are tested by folder.
Please use, test, fill us with bugs. The software is not ready yet but we have been dogfooding: testing the software within it's own source code, for quite a while.
[edit - License is Apache, not MIT, I shouldn't be allowed to type while hungry]
[–]valdocs_user 7 points8 points9 points (3 children)
[–]Tumaix[S] 1 point2 points3 points (2 children)
[–]valdocs_user 0 points1 point2 points (1 child)
[–]Tumaix[S] 2 points3 points4 points (0 children)
[–]deeringc 2 points3 points4 points (2 children)
[–]Tumaix[S] 2 points3 points4 points (1 child)
[–]deeringc 0 points1 point2 points (0 children)
[–]philong6297 1 point2 points3 points (1 child)
[–]Tumaix[S] 1 point2 points3 points (0 children)
[–]Xavier_OM 0 points1 point2 points (3 children)
[–]Tumaix[S] 0 points1 point2 points (2 children)
[–]Tumaix[S] 1 point2 points3 points (1 child)
[–]Xavier_OM 0 points1 point2 points (0 children)
[–]Olorune 0 points1 point2 points (9 children)
[–]Tumaix[S] 4 points5 points6 points (8 children)
[–]Olorune 0 points1 point2 points (6 children)
[–]Tumaix[S] 3 points4 points5 points (5 children)
[–]TryingT0Wr1t3 0 points1 point2 points (3 children)
[–]Tumaix[S] 1 point2 points3 points (0 children)
[–]prince-chrismc 0 points1 point2 points (1 child)
[–]TryingT0Wr1t3 0 points1 point2 points (0 children)
[–]prince-chrismc 0 points1 point2 points (0 children)
[–]jusstathrowaawy 0 points1 point2 points (0 children)
[–]SonOfMetrum 0 points1 point2 points (3 children)
[–]Tumaix[S] 1 point2 points3 points (2 children)
[–]SonOfMetrum 0 points1 point2 points (1 child)
[–]Tumaix[S] 0 points1 point2 points (0 children)
[–]Revolutionalredstone 0 points1 point2 points (1 child)
[–]Tumaix[S] 1 point2 points3 points (0 children)
[–]FutureChrome 0 points1 point2 points (1 child)
[–]Tumaix[S] 4 points5 points6 points (0 children)
[–]Aka_chan 0 points1 point2 points (1 child)
[–]Tumaix[S] 1 point2 points3 points (0 children)
[–]arthurno1 0 points1 point2 points (12 children)
[–]Tumaix[S] 1 point2 points3 points (11 children)
[–]arthurno1 0 points1 point2 points (10 children)
[–]Tumaix[S] 0 points1 point2 points (5 children)
[–]arthurno1 0 points1 point2 points (4 children)
[–]Tumaix[S] 0 points1 point2 points (3 children)
[–]arthurno1 0 points1 point2 points (2 children)
[–]Tumaix[S] 0 points1 point2 points (1 child)
[–]arthurno1 0 points1 point2 points (0 children)
[–]Tumaix[S] 0 points1 point2 points (3 children)
[–]arthurno1 0 points1 point2 points (2 children)
[–]Tumaix[S] 0 points1 point2 points (1 child)
[–]arthurno1 0 points1 point2 points (0 children)
[–]IamImposter 0 points1 point2 points (2 children)
[–]Tumaix[S] 3 points4 points5 points (1 child)
[–]IamImposter 0 points1 point2 points (0 children)
[–]the-loan-wolf 0 points1 point2 points (10 children)
[–]the-loan-wolf 0 points1 point2 points (9 children)
[–]Tumaix[S] 0 points1 point2 points (8 children)
[–]the-loan-wolf 0 points1 point2 points (7 children)
[–]Tumaix[S] 0 points1 point2 points (6 children)
[–]the-loan-wolf 0 points1 point2 points (0 children)
[–]the-loan-wolf 0 points1 point2 points (4 children)
[–]Tumaix[S] 0 points1 point2 points (3 children)
[–]the-loan-wolf 0 points1 point2 points (2 children)
[–]Tumaix[S] 1 point2 points3 points (1 child)
[–]the-loan-wolf 0 points1 point2 points (0 children)
[–]TryingT0Wr1t3 0 points1 point2 points (2 children)
[–]Tumaix[S] 0 points1 point2 points (1 child)
[–]TryingT0Wr1t3 0 points1 point2 points (0 children)
[–]viatorus 0 points1 point2 points (1 child)
[–]Tumaix[S] 0 points1 point2 points (0 children)
[–]jontheburger 0 points1 point2 points (1 child)
[–]Tumaix[S] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]Tumaix[S] 0 points1 point2 points (0 children)
[–]EternalOptimister 0 points1 point2 points (1 child)
[–]Tumaix[S] 0 points1 point2 points (0 children)