Sent this mail yesterday but it seems that the mail got blocked because of
its the size of the attached files. I am resending it, including some edits.
On Thu, May 19, 2011 at 12:08 AM, Tudor Girba <tudor.girba(a)gmail.com> wrote:
Hi Usman,
On 18 May 2011, at 22:56, Usman Bhatti wrote:
Verveinesharp aims to extract program information
from C# code and writes
the information into an MSE for analysis of the info in
Moose. I have placed
a preliminary version of VerveineSharp on its website.
Great news!
Unfortunately, I do not have access to a Windows machine. Would it be
possible to make available an MSE file + sources of some larger C# open
source project?
A small problem is that Mono treats Generics in some specific way that I
need to check. Currently, I cannot parse a project where generics are used
to describe the type at runtime. So, I have created two MSEs from projects
that do not use them. One is an application that can be used to calculate C#
metrics, DrivenMetrics <https://github.com/garrensmith/DrivenMetrics>, the
second is VerveineSharp itself. The purpose is to check the conformance of
the MSE file vis-a-vis Moose. In the meantime, I am trying to parse
Gendarme<http://www.mono-project.com/Gendarme>me>,
a rule checking engine for C#. I'll send its Mse as soon as all the bugs
related to Generics are gone. The VerveineSharp file can be found here:
http://dl.dropbox.com/u/11804892/VSMse.mse
It exports the following code information to
MSE:
- Namespaces
- Classes/Interfaces/Inner Classes
- Class Members
- Invocations/Access/Inheritance/Implements
- Delegates as Inner classes + method attached to delegates...
Interesting solution. You should also know that it is possible to create a
dedicated CSharp extension of FAMIX. Just raise the point and we see what
can be done.
Delegates are just callback method pointers so I think the current FAMIX
model suffices to represent delegates. I'll see if C# needs some specifics
in FAMIX.
Also, there is a UI with VerveineSharp that helps
visualizing all these
elements in a tree-like structure.
The zip file also contains some tests that can be executed through the
bat file.
VerveineSharp is developed and tested on .Net FW 2.0.
There are some known issues:
1. Any assemblies referenced in a program but not present in the program
folder
make VerveineSharp to terminate prematurely. This requires some
reflection to resolve.
2. SourceLanguage is still not set as I am having
some trouble in Java
libs.
What do you mean?
FAMIXRepo says {"String index out of range: -1"} when trying to read
CSharpLanguage object defined in C#. That probably coz I am trying to add a
C# object in FamixRepo that expects a Java object. In the meantime, Nicholas
has created a CSharpSourceLanguage class in verveine.core. I haven't tested
that class yet. Normally, it should work.
Probably, we can use bug db of Moose for
VerveineSharp?
Definitely. I added a tag for this, and I added your Gmail address to the
project members.
Cheers,
Doru
Usman
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Value is always contextual."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev