Have an idea to improve LinkedIn? Please submit your suggestion below.
I am familier with the tools that helps me to get the cyclomatic complexity at a method level or at most at the class level. This is useful to build the unit tests for the code.
It will be difficult to get it from the UML / class diagrams when the application code is huge.
But for the Code Based Testing (so called White Box), It will be better if we can get the paths at the application level (instead of method / class)
I am looking for Java based applications.
I am looking after a static analysis tool that scans through the code base and captures the non linear paths at an application level.
Since most of the static analysis tools does this activity at a method level, it should be possible to get the same at application level too though the complexity is high.
This nonlinear paths helps to model the test data and relevant testcases for the given path. Even the test coverage for the codebase makes more sence at an application level rather than at a method level.
Performance testing and analysis consultant
Best Answers in: Starting Up (1), Using LinkedIn (1)
I took your question and Googled for cyclomatic complexity.
This gave me a link or two to Wikipedia entries, one of which points to a free software complexity visualizer. Perhaps not exactly what you're looking for, but I hope this helps a little.
Cheers,
Rutger
I use NDepend for modular/assembly analysis, but this tool is for .NET applications. I've heard about two tools for JAVA that do same job: SemmleCode and Lattix.
Most of the tools I've worked with require some degree of instrumentation in your code which can be problematic after the fact - especially given that you've already mentioned a huge code base.
You could consider capturing execution profiles using Rational Purify and/or JProbe and using that data to produce various permutations of positive and negative test harnesses for your code.
Good Luck!
-Robert
As mentioned by Valentin, SemmleCode (http://semmle.com) allows one to do this sort of thing. Furthermore, it's very much driven by user requests, so we'd be happy to consider adding any functionality you need.
I'm not sure what you mean by "captures the non linear paths at an application level", however. How should they be represented? Are you looking for paths across method boundaries (taking virtual dispatch into account) (that *will* be expensive)?
Have an idea to improve LinkedIn? Please submit your suggestion below.
If you have questions about using the site, please visit our Customer Service Center.
As a reminder, you will not receive a response to this comment. We do, however, appreciate your help in improving LinkedIn. If you require additional assistance, please visit our Customer Service Center.