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@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.
> https://gforge.inria.fr/frs/?group_id=3329&release_id=6023

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, 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, 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@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@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev