On Sat, May 07, 2005 at 05:41:42PM +0200, Leif Bladt wrote:
> I wrote a little document about "Static source code analysis with
> SrcML". It describes what I want to do in my practical :-) I cut out
> the part about "Available software", which isn't ready to be published
> yet.
>
> http://www.bladt.info/leif/srcml/static_analyze.pdf
>
> Please feel free to tell me what you think about (criticism, proposals,
> etc.).
Just a few remarks:
- "The API should provide a basic set of plug-ins for the Analyze Platform"
Why the API? The API can be considered to be only a collection of helper
classes and methods for writing programs which use SrcML. It doesn't
provide any plugins. A plugin can be provided by any third party too.
- You grouped them by subject, but what I'm missing is how the actual
interface between Analyze Platform and the plugin looks like. Which
methods does every plugin need to perform its work when run through
the Analyze Platform? Preferably we don't want to have to call a special
method for each plugin. To see what I mean think of a third party plugin,
and how the Analyze Platform will be able to handle it without any
modifications needed even though you know nothing about what the plugin
actually does. (We also need a way for the results to be handled)
- I don't quite see the difference between the EmptyStatementNotInLoop and
the EmptyStructures. Besides the loop exception the only empty statement
not involved with a structure I can think of would be a NOP command.
- OverrideEqualsHashcode and SuspiciousHashcode are explained a bit too
shortly. Which two methdos are you thinking of in the first place? And
what's a hashcode method anyways?
- For 3.2.2 (Javadoc) I was thinking of a more generic support for Javadoc
(or basically anything like it, as it could as well be used in other
languages) within the API. At least something like the dissecting of the
comment into a description part and the individual "@name text" pairs
should be available there.
- We already thought about something like NamingConvention too. It would be
nice if you were able to specify what exactly the naming convention is,
which was the major problem for implementing that earlier. How can you
keep the plugin generic, yet give it information about the naming convention
without knowing to call a special method. And we especially don't want that
call to happen inside the Analyze Platform.
But with the new plugin system this problem has been solved on the way.
The plugin itself defines a naming convention and a company wanting to
enforce their own naming conventions can simply write a plugin which
extends from the original one and only modifies the relevant parts to match
their naming conventions.
- What does SuspiciousEquals do?
--
Raiser, Frank
Student @ University of Ulm (www.uni-ulm.de)
All sorts of computer errors are now turning up. You'd be surprised to know
the number of doctors who claim they are treating pregnant men. (Isaac Asimov)
|