Re: [SrcML] Static source code analysis with SrcML
Status: Beta
Brought to you by:
crashchaos
From: Frank R. <fra...@in...> - 2005-05-08 10:41:17
|
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) |