Fan out.metric computation

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

Fan out.metric computation

pascal.vollmer
Hi,

I try to use Moose to get the fan out-metric computed for a small Smalltalk project.

In order to have type inference I checked "Compute type of attributes (using Roel Typer)" when importing my project.
Unfortunately I do not understand what "Select a strategy to compute invocation candidates" says. I left this as it is set by default ("Use the standard CandidateListOperation"). The same is true for "Choose an importer".

Now, I look at a certain class C which is interesting for me. "InvokedClasses in C" shows several classes to which C does not send a message.

What can I do about that?

1) Is there a possibility to "help" Roel Typer manually when automatic type inference is not feasible?

2) What about the approach of Alexandre Bergel shown at ESUG 2011. Can I try it?

Kind regards,
Pascal
 

Pascal Vollmer
Email: [hidden email]

Arcor empfiehlt: Mal über die Karriere nachdenken! Wissenswertes und Nützliches finden Sie hierzu unter http://www.arcor.de/content/finanzen_job/job_karriere/bewerbung_karriere/ratgeber/

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

Re: Fan out.metric computation

Tudor Girba-2
Hi,

On 28 Aug 2011, at 15:04, [hidden email] wrote:

> Hi,
>
> I try to use Moose to get the fan out-metric computed for a small Smalltalk project.
>
> In order to have type inference I checked "Compute type of attributes (using Roel Typer)" when importing my project.
> Unfortunately I do not understand what "Select a strategy to compute invocation candidates" says.
> I left this as it is set by default ("Use the standard CandidateListOperation"). The same is true for "Choose an importer".


This means the followings. An invocation has
- sender: the method from which the message is sent
- receiver: the static variable that receives the message
- candidate list: a list of potential methods that might be the target of the message

The CandidateListOperator is the default strategy to try to limit the candidates based on information related to the variable. At the moment, we take into account: self, super and classes. For these we can identify the target method without a doubt.

The RoelTyper is currently used only for trying to compute the type of the attributes. For example, import a Smalltalk system using RoelTyper, then select all attributes and then check the result of selecting "each declaredType notNil".

Unfortunately, when computing the candidate list the types of variables are not taken into account. It would be great if someone would improve this.

> Now, I look at a certain class C which is interesting for me. "InvokedClasses in C" shows several classes to which C does not send a message.
> What can I do about that?
>
> 1) Is there a possibility to "help" Roel Typer manually when automatic type inference is not feasible?

As I said above, RoelTyper is currently not used at all. The first thing would be to add this to the CandidateListOperator.

Manually, you would have to edit each invocation to remove elements from the candidateList. However, I do not think that this is feasible.

> 2) What about the approach of Alexandre Bergel shown at ESUG 2011. Can I try it?

I believe you are referring to exercising the code and inferring some partial typing based on the dynamic information. Alex, is this available easily for Moose?

Cheers,
Doru



> Kind regards,
> Pascal
>
>
> Pascal Vollmer
> Email: [hidden email]
>
> Arcor empfiehlt: Mal über die Karriere nachdenken! Wissenswertes und Nützliches finden Sie hierzu unter http://www.arcor.de/content/finanzen_job/job_karriere/bewerbung_karriere/ratgeber/
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Speaking louder won't make the point worthier."


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