I was sitting in the java.net booth waiting for the next presentation to begin when the person sitting in the next row turned around and gave me a look of recognition as if he knew me. I was quite certain I had never seen him before. "Hi", I said. "Still going...?", he asked. That was the title of my most recent blog on java.net and I finally understood where we had met before.
He introduced himself as Etian Suez. Etian is the project owner of ashkelon. Asheklon is a very cool project. It provides a means of collecting information about javadocs into a single repository (relational database) and a UI that allows users to perform some very interesting searches. His project provides the exact functionality I need for analyzing code reuse on java.net.
For some time now I have been thinking that the proliferation of open source projects provides a unique opportunity for making inferences about code reuse. As communities grow and more projects are added, the developers on those projects will (hopefully) leverage the reuse of code in other projects. If we could create a table of all the classes that were reused across all the projects certain classes would bubble up to the top as those that are most often reused.
One way to accomplish this is to collect all the package names from a single project (using ashkelon). Then dig through all the jar files supplied with the project. Any class with a package not appearing in the javadoc would be assumed to be from a different project. This process is performed for each project and counters incremented. The classes with the highest counters show the most reuse.
At any rate, the point of all this is to say that JavaOne is a great place to find solutions to your software problems, not just at a vendor's booth, or in a technical session, or in a hands-on-lab, but sometimes simply from the guy sitting in the seat next to you.