|
April 2004
[
vmassol
]
08:50, Wednesday, 21 April 2004
Pattern Testing is the concept of automatically verifying the good application of architectural/design patterns in code. It uses AOP to perform this feat. Pattern Testing is a concept I started researching in 2002 on a big project at work. At that time, I was already using Checkstyle and PMD to perform verification of rules. However, I was finding them limited in several ways:
The result was the Pattern Testing project on SourceForge. It's implemented using AspectJ. It contains some pre-made Pattern Tests but more importantly it lets you write your own. There is Maven plugin that makes it easy to run any Pattern Test on any mavenized project. The possibilities of Pattern Testing are endless. Here's an example of a rule that says that we do not want to instantiate business classes (i.e. a class that extends BasicBC). That's because they are instantiated by factories/service managers:
I used Pattern Tests for some time on that project at work and then I changed job. I was still interested in the concept but with my other open source involvements I didn't take the time to work on it as much as I wanted. Thus it became a bit abandoned. However, these past weeks, I have found renewed interest in the concept for several reasons:
Are any of you using Pattern Testing too?
[
vmassol
]
13:28, Saturday, 17 April 2004
I've given an interview (in French) for the French magazine Courrier-Cadre about the new job of "Offshore Project Manager" that I am currently doing for Pivolis on the BNP Paribas project. It explains what are the day to day activities of an offshore coach (I prefer the word "coach" to "project manager") on a collaborative development project. Here are some tasks that we (we are 2 from Pivolis working on this project) are performing on this project:
[
vmassol
]
13:16, Saturday, 17 April 2004
I'll be going to the TheServerSide Symposium 2004 again this year. I have the privilege to present the following 2 sessions:
There's also a nice wiki available for the event. Once the event is finished, I'll post my slides on this blog.
[
vmassol
]
10:55, Friday, 9 April 2004
After discussing with the StatCvs-XML team, we have decided that it would be best that they host the Maven StatCvs plugin on their own site. This will make it easier for them to improve it and keep it in sync with StatCvs-XML. This is possible thanks to the
[
vmassol
]
11:32, Thursday, 8 April 2004
As part of my day work, I've met CAST Software in France. They are really nice guys. And they have a very good product suite that analyzes application source code and produces different kinds of reports (quality and reverse-engineering/browsing). The really nice part is their open architecture:
It's nice for the following reasons:
Compare this to existing open source tools (or not open source for some) like Checkstyle, Clirr, PMD, Findbugs, jcoverage, Simian, Clover, etc. They all use their own parsers and more important their own persistence format for storing the parsed data. Even though they almost all offer an XML report format, it's already processed data (as opposed to raw parsing data). Thus it is very hard to reuse the information from these tools to offer a higher level integrated view. It's also a lot of work for these tools to develop all the necessary parsers. What would be really nice is the creation of an open source project that does the following:
If such open source project existed, we could have parser projects which could parse Java code, .Net code, Hibernate configuration + code, Struts configs + code, AspectJ Aspects, etc. These parsers would user the common API to store parsed data in the common storage format, thus making the data available to other projects, such as the one mentionned above (Checkstyle, PMD, etc). These projects woud be analyzers and would use the common API to query parsed data and generate reports for their domain of work. With this, we could build nice analyzers that could completely check for full architecture best practices, across technologies and across frameworks. Do you think such a project would work? Note: Maybe CAST should open source this part (storage model) and keep as closed source their added value Parsers and Analyzers? :-)
[
vmassol
]
08:56, Monday, 5 April 2004
TheCortex (creator of Clover) has announced a new product called FishEye. It's an SCM mining tool. They have accepted to run it on Cactus. It's very nice. The things I like particularly:
[
vmassol
]
19:36, Thursday, 1 April 2004
I've been reminded of this idea by some posts on the Cactus mailing list. I'd venture that at least 50-70% of the the questions asked have already been answered in some form in the past, are available in the Cactus documentation or are easy to answer by some generic rule. I think it could be fun to train a bot to answer these questions. For those that the bot couldn't answer, the user would be redirected to the mailing list where Cactus experts would find the answer and train the bot so that it gets better next time. It should be possible to have rules that would generate the following kind of dialogue:
It would be cool! My only worry is that it would take too long to create the AIML files. But maybe not. Any experience? What would be even better would be that the bot would learn from the mailing list posts itself. However, that's probably science fiction at this point in time... Note: The image was borrowed from Alicebot.org |