ANN: Library dependency graphs tool status update and questions

M

marlow.andrew

A while ago I wrote a tool to produce a dependency graph for C/C++
libraries using graphviz. This was to help on large C/C++ established
projects where the libraries had become very tangled over the years.
The project is called depdot and is on sourceForge at
https://sourceforge.net/projects/depdot.

I see from the statistics that it is hardly used and I am puzzled as
to why. When I wrote it there was no other comparable tool, as far as
I could see. The problem of making sense of a large project with lots
of tangled C/C++ libraries comes up time and time again. Well, at
least it does for me. So it seemed it would fill a need. But the
statistics seem to say otherwise. Is this because it is not generally
a problem? Or maybe there is a better tool out there that I don't know
about?

So, I am trying to find out what other C/C++ developers do when
confronted with the problem of making sense of a large set of tangled
libraries. If there is another tool that does it better I can retire
depdot and make the webpages point to the better software. If depdot
needs to be improved before people will really find it useful then I
need to know that too. Maybe I have been really unlucky and most
people never encounter tangled libraries.

One possibility is that people are put off by the alpha status of
depdot on sourceForge. I am tempted to promote it to beta or even
mature but I am hesitant without having had much feedback and with
such low download statistics. Does the current alpha status put people
off?

Note: I have been saying C/C++ when actually, depdot works for any
".a" or ".so" library. Also, I am ware that there is no such language
as C/C++!!! It's just that I see the problem most often in either C
projects or C++ projects. This does not seem to be a concern for java.
The main problem with tangled libraries for compiled languages is to
do with problems at link time. Such problems include the library order
being critical, fragile and requiring the same library names to be
repeated at various points in the linker command line.

Regards,

Andrew Marlow
 
A

Antoninus Twink

A while ago I wrote a tool to produce a dependency graph for C/C++
libraries using graphviz. This was to help on large C/C++ established
projects where the libraries had become very tangled over the years.
The project is called depdot and is on sourceForge at
https://sourceforge.net/projects/depdot.

I see from the statistics that it is hardly used and I am puzzled as
to why. [snip]
One possibility is that people are put off by the alpha status of
depdot on sourceForge. I am tempted to promote it to beta or even
mature but I am hesitant without having had much feedback and with
such low download statistics. Does the current alpha status put people
off?

Speaking for myself... I haven't downloaded your project because I've
never heard of it. Generally, until a package makes it into my
distribution (Debian), the odds of it being on my radar are very small.

Of course, it's possible that I could come across the package while
Googling. But in that case, your site on Sourceforge
(http://depdot.sourceforge.net/) gives so little information (no
documentation, no screenshots, no evidence of the existence of mailing
lists for users or developers, heck not even a description of what the
project does!) that I'd be very unlikely to download it "just to see",
even if it sounded like it might be useful.

You have to remember that there are a *huge* number of dead, dying or
dormant packages on Sourceforge, so unless there's some obvious sign of
life on a project's web page, my default guess is that it's one of
those.

I hope this doesn't sound negative - I think you have a really good idea
for a useful program, and it's great that you're releasing it as free
software. I hope you take this as constructive criticism - if you want
people to learn about your project, you need to do your bit by telling
them about it! And if you can get it packaged up and included in common
distros, that obviously does a lot to improve the project's visibility.

Good luck!
 
M

marlow.andrew

On  9 Nov 2008 at  9:34, (e-mail address removed) wrote:
Of course, it's possible that I could come across the package while
Googling. But in that case, your site on Sourceforge
(http://depdot.sourceforge.net/) gives so little information (no
documentation, no screenshots, no evidence of the existence of mailing
lists for users or developers, heck not even a description of what the
project does!) that I'd be very unlikely to download it "just to see",
even if it sounded like it might be useful.

Er, yes, you're right. I expected people to follow the link but I now
see that this is not enough. I have improved the page and now it
includes the following description:

The project contains a command, depdot, for producing a graphviz dot
description of library dependencies. This allows a developer to see
what libraries depend on what other libraries by examining the symbols
produced by the nm command.

The command is implemented in C++. It was written with C++ library
dependencies in mind but because it works on the library archive
itself it will work on libraries written in any compiled language,
e.g, it has been used to analyse C libraries.

depdot is independent of nm output. This is achieved by a perl script
that produces depdot input based on an analysis of specified library
archives using nm. The behaviour of nm is platform-specific so there
are different versions of this perl script for different operating
systems.
I hope this doesn't sound negative - I think you have a really good idea
for a useful program, and it's great that you're releasing it as free
software. I hope you take this as constructive criticism

Yes I do. Thanks very much for your comments. They made me look again
at my website with a fresh pair of eyes :)
- if you want
people to learn about your project, you need to do your bit by telling
them about it! And if you can get it packaged up and included in common
distros, that obviously does a lot to improve the project's visibility.

I made an announcement on the C++ moderated group when the project was
first released. I should have posted something here as well.

I don't know if my project is good enough to be included in a distro
yet.

Regards,

Andrew Marlow
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,822
Latest member
israfaceZa

Latest Threads

Top