VerveineSharp Pre-Alpha

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

VerveineSharp Pre-Alpha

Usman Bhatti
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. 

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...

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.

Probably, we can use bug db of Moose for VerveineSharp?

Usman

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: VerveineSharp Pre-Alpha

Stéphane Ducasse
cool :)

Stef


> 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
>
> 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...
>
> 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.
>
> Probably, we can use bug db of Moose for VerveineSharp?
>
> Usman
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: VerveineSharp Pre-Alpha

Tudor Girba
In reply to this post by Usman Bhatti
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?

> 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.

> 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?

> 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Value is always contextual."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: VerveineSharp Pre-Alpha

Usman Bhatti
On Thu, May 19, 2011 at 12:08 AM, Tudor Girba <[hidden email]> 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 attributes (annotations) in some specific way that I need to check. Currently, I cannot parse a project where attributes are used. 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 attributes are gone.
 

> 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. I need to look into more detail to ascertain why the exception is thrown and what information is missing in my class.
 

> 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.

Ok. I'll add a few issues.
 

Cheers,
Doru


> Usman
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Value is always contextual."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

NDrivenMse.mse (111K) Download Attachment
VSMse.mse (233K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Fwd: Re: VerveineSharp Pre-Alpha

Usman Bhatti
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 <[hidden email]> 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:
 

> 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Value is always contextual."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

NDrivenMse.mse (111K) Download Attachment