Journal Entries tagged 'gendarme'

rss csv xml json


[64 total ]
Avatar

Gendarme first engine, OpCodeEngine, is now in SVN with all the supporting code. It compute a bitmask of every IL instructions (for each method) making it possible for rules to quickly skip methods where they can't be applied. I updated all (8) exception rules to use, when appropriate, the new engine and the results are encouraging - i.e. it's faster than before even for "only" 8 rules. poupou — about 2 hours ago tags: Gendarme

Avatar

Technically Hack Week 3 is over - but the weekend is not (and it's a long weekend in Canada, like the US). So here's a new rule for Gendarme: UseGenericEventHandlerRule. This will help populate the new Gendarme.Rules.Design.Generic assembly :-) poupou — 7 days ago tags: Gendarme

Avatar

While engine-ing some Gendarme rule I simply could not resist and took some time to remove allocations from AvoidUnnecessarySpecializationRule. That cut another 2.5MB of memory to analyze all Mono 2.0 class libraries. Other smaller fixes were also backported to the 2.0 branch. poupou — 8 days ago tags: Mono,Gendarme

Avatar

Started on the second engine today. It's larger than the first, so it's not yet complete, but I already modified a rule to use it. Sadly performance analysis will be complex until more rules use the engines to share the overhead cost. Anyway I did not intend to publish benchmarks against Gendarme 2.0 until 2.2 beta are out ;-) poupou — 8 days ago tags: Gendarme

Avatar

I made some modification to the Gendarme engine-concept after a chat with nestor and mhutch last night. The dependency between a rule and engines is now described using attributes. It looks much better this way and it also opens the door to other, longer term, stuff. I'm still playing with some ideas (i.e. not in SVN yet) but some stuff, like the OpCodeBitmask, has been committed this morning. poupou — 9 days ago tags: nestor,Gendarme

Avatar

A bit of dog-fooding tonight made me realize (thanks to cedricv AvoidUnnecessarySpecializationRule) that Gendarme duplicated the HasAttribute rock way too much time (4) instead of a single implementation extending ICustomAttributeProvider. poupou — 10 days ago tags: cedricv,Gendarme

Avatar

I got my first engine running this morning. Pretty happy - but still it's a bunch of new code so I need some time to figure out if it's the "best" way to handle them (or not). While pondering the issue I took the afternoon to update the Gendarme wizard with a new step, offering similar filtering options now available in the console runner. poupou — 10 days ago tags: Gendarme

Avatar

I was not planning on touching Gendarme 2.0 branch this week but I could not resist a few optimization candidates I found during hacking more "serious" stuff in the framework. The nicest, to date, is to avoid computing CC inside AvoidComplexMethodsRule if the number of IL instructions is below it's success threshold (default 25). Since most methods are small this should make it a lot quicker :-) poupou — 11 days ago tags: Gendarme

Avatar

New filtering options are now available in Gendarme. First a "defect limit" will limit the number of defects reported (e.g. 100). More filtering can be done based on the severity and confidence level of each defects. In fact the console runner, by default, now report only defects with a severity of medium (or higher), i.e. no low or audit, and a confidence of normal (or higher), no low again. poupou — 11 days ago tags: Gendarme

Avatar

Added TearDown methods to both IRule and IRunner inside the Gendarme framework. Default implementations in abstract Rule and Runner exists so every existing rule/runner will compile fine. This will let new rules delay until then end of the analysis to report defects. This is useful in some special cases, e.g. where a rule needs to walk across types, or even assemblies, itself. poupou — 12 days ago tags: Gendarme

What's a journal?

It's your personal development journal. Learn more at the Journal FAQ .

Statistics

5   Followers

64   Journal Entries