[Mono-dev] Gendarme/bugfinder merge

Sebastien Pouliot sebastien.pouliot at gmail.com
Fri Dec 9 14:04:24 EST 2005

Hello Aaron,

On Thu, 2005-12-08 at 11:40 -0800, Aaron Tomb wrote:
> Hi,
> I've started to integrate my bug finding code into Gendarme (as
> discussed briefly off-list), and I have a few questions about the best
> names for the new assemblies.
> I have three different "rules" I plan to integrate: detection of
> double-check locking, detection of problematic recursive method/property
> invocation, and detection of possible null pointer dereferences. The
> first one easily falls into the category of "concurrency", so I was
> thinking of creating Gendarme.Rules.Concurrency for it, with the
> expectation that we'll probably have more rules to deal with concurrency
> bugs in the future.
> The other two are harder to place. I could create
> Gendarme.Rules.Correctness for both of them, but that seems a little
> broad. The null-reference stuff could go into
> Gendarme.Rules.FlowAnalysis, or something like that, but that seems like
> too much of a focus on the implementation, rather than the purpose.
> Unless there are any preferences, I'll probably go with Correctness.

I have no problem with the names. Ideally a good GUI (something we
lack ;-) would present the "errors" with extra details - so the names
can be very general.

You may want to look at FxCop and some other Java tools for category
names ideas.

> Also, I have a comment on the framework code. In many ways, it's better
> than the framework I originally wrote for my rules, but there's one
> capability that I wish it had. In my framework, whenever a rule
> violation was detected, the rule checker could produce an aribtrary
> string describing the violation, rather than just a boolean. The message
> generally included the specific location of the error, and a single
> rule could produce as many messages as necessary. I'd love to add this
> capability to Gendarme.

The current error reporting is rather weak so don't hesitate to propose,
and implement, something more useful.

> Finally, I have one more question. I generally plan to only directly
> modify the code in my assemblies, and send patches for any other
> changes. However, would it be ok for my to change rules.xml and
> Makefile.am directly, as I add rule assemblies?

I don't see any problem with that (i.e. it shouldn't cause problem for
anyone else so don't hesitate :-).
Sebastien Pouliot
email: sebastien at ximian.com
blog: http://pages.infinit.net/ctech/

More information about the Mono-devel-list mailing list