Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I need to manipulate control flow graphs for Java code in a project. What might be a good java library to generate control flow graphs in Java. So far I have found a couple eclipse plugins (heavily dependent on eclipse APIs) and standalone tools (cannot embed in my code).
A tool to do this stuff is Soot, and this questions is a duplicate of Tool for generating control flow in Java
I'll throw another tool into the mix.
Atlas is an Eclipse plugin that enables program analysis. It has a querable graph database that includes the control flow graph (as well as data flow and other relationships).
jSonde will create sequence diagrams from your actual running code (which is arguably more useful than from source, since source analysis will not show implementation-specific functionality).
javacalltracer does something similar.
Most tools are integrated into Eclipse/similar so they have access to the AST, which makes such things pretty trivial.
It's actually not ridiculously complex to pull the information from byte code yourself (and it's an interesting exercise). Or instrument using AspectJ and create the runtime information yourself.
Edit Original answer, still valid.
JGraph is open-source, and pretty cool.
JDiagram is a Swing component, commercial product.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I have made a couple dozens of tests for a legacy system I was handed over.
They generally test/describe some high level feature of the system, and I generally include in the test file itself a little comment about that feature. In this way, I both have a regression test suite and I'm compiling knowledge of the system in a single place, so others in the future don't have to lose all the time I lost trying to understand the (up to now) undocumented system.
Now, I was looking for some tool that would allow me to organize and see the high level features in a simpler way than having to look up to the test files. If it allowed a tag system, even better.
I have heard of Fitnesse but it doesn't look to fit really in what I'm looking for. I'm not looking for a tool to bridge the communication between the client and developers.
This project is coded in Java.
Thanks
If you moved the documentation from the unit tests to the classes you are testing, you could use either standard JavaDoc or doxygen.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I want to generate a program dependence graph (PDG) from Java Bytecode for further programmatic analysis. Since this is old (the paper is from '87) and presumably well-known technology, I thought that appropriate tools would be readily available---however I wasn't able to find them.
In fact an extensive search turned up only a few results:
The Bandera project which was abandoned in 2006.
The Indus project which seems not to have received any effort since 2007, except for it being made Open Source in 2009.
The Moose JEE Project which seems to be pretty new as there is basically no documentation whatsoever.
And the Soot framework, which provides some classes (see JavaDoc) but seems to lack an implementation for the generation. In fact, Soot is the basis for Bandera and Indus.
So my question is the following: Is there any alive and maintained implementation out there? Does anybody have experience in either one of the aforementioned projects? What would you recommend?
Thank you already for your input, it is highly appreciated!
I suggest you check out WALA, a system that extracts SSA representations from java byte code files.
I have no experience with this, but have reviewed a number of software engineering technical papers that seemed well-thought out, and apparantly used WALA as a foundation for their research.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
This question is a bit vague but I'd like to know if there's a Java tool that can run through my code and document it in a functional way. Is JavaDoc the only way to go, or are there alternatives?
JavaDoc is a good way of generating reference documentation. You can use custom doclets to adapt it to your needs (in look, functionality or extra bells-and-whistle) but it is still essentially still a list of methods and their descriptions.
Documenting enterprise software is more about documenting higher level stuff like design information, architecture, component interactions, etc. There's no software tool I know of that will do this for you automatically (reverse engineering tools will mostly produce a mess), but there are many content management systems that can help you organize and present it better.
You could also write a JavaDoc alternative (or use something existing) that uses reflection to analyze a class library and produce stuff, possibly with your help via annotations. For instance, there are research tools that let you place architectural constraints within your code, that are then used for conformance testing and possibly for documentation.
It all depends on what you want out of the generated documentation. JavaDoc is the standard way to do API documentation in Java, so that's probably your best starting point. There's actually a Doclet API if you just need to tweak the output. One example of the Doclet API in action is the UMLGraph doclet that can embed UML graphs in your JavaDoc output.
If you just hate JavaDoc, there's always things like Doxygen.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have been looking for an existing open-source syntax-checker for the Object Constraint Language (OCL). I intend to extend the syntax-checker with additional functionality not present in the OCL standard to be more applicable to my usage with entity-relationship diagrams. However, most of the projects I have found are based on the Eclipse Meta-Object Facility (MOF), while I seek only the ability to verify the grammar of an OCL expression (completely independent of any associated class diagrams, etc.). I have begun looking into the source of the Dresden OCL Toolkit (dresden-ocl.sourceforge.net), even though the newest toolkit is also intended for use with the Eclipse MOF. Unfortunately, all downloads are blocked at the company I work for, and it takes 1-2 days minimum to get permission for any download, so I want to know if anyone might be able to point me in the right direction to find what I am looking for.
Thank you very much in advance.
Best regards,
Shona
I've been using Dresden OCL for quite a long time and I think it is a really good starting point for what you want (of course, it is not perfect, last time I checked it still had some problems with recognizing some set operators or navigation expression from association classes).
You can also take a look at the Eclipse OCL plug/in http://www.eclipse.org/modeling/mdt/downloads/?project=ocl
part of the model-development tools initiative
Pointers to other tools supporting OCL (not necessarily open-source) here: http://modeling-languages.com/content/list-ocl-tools
Also, you might by interested in having a look at other tools supporting OCL syntax checking, like Octopus, created(?) by Jos Warmer and Anneke Kleppe, who are authors of the OCL specs.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
Is there an Open Source java alternative to GraphViz? I'm aware of the existence of Grappa which basically wraps the Graph interface to GraphViz as an JavaAPI. However the layouting is still done by the GraphViz binaries.
I'm looking for a pure-java, open source library providing the same functions and layouting algorithms as GraphViz.
You can have a look at JUNG (Java Universal Network/Graph Framework) which has visualization and analytics functions. It's open source.
Interestingly, the Eclipse project has an SWT/JFace component/framework capable of displaying and generating (import/export) Graphviz's 'DOT' format, in pure Java:
ZEST (home page & download links)
See http://wiki.eclipse.org/Graphviz_DOT_as_a_DSL_for_Zest for usage examples.
Although ZEST is touted as an Eclipse plugin, it does seem that the DOT-manipulation API's can be used standalone and external to an Eclipse installation.
To clarify, the DOT functionality is a part of the ZEST 2 functionality, which itself is a sub-component of the GEF4 project.
Cheers
Rich
Update (May 2017) https://github.com/nidi3/graphviz-java
You could look at JGraph though I have never used it so cannot comment on now it compares to GraphViz.
yFiles seems to provide all this, but it's not free and not really cheap either. But then again it seems to be a very professional product (haven't used it, except in yEd, which can be used for free).
I guess ZGRViewer is what you want. I really like ZGRViewer and AJaPaD.
I worked with yFiles about four years ago, and it was excellent. It's costly (though less than JGraph, apparently) but I work in a CS research lab and had access to their generous academic pricing.