> >> And how about correctness of the measured values? The class comment
> >> states: "Right now only Number of MessageSends is computed in a
> >> correct manner." On the first glance, I cannot see which of the
> >> measured values could be wrong. Any hint on inappropriate
> >> computation or improvement would be appreciated. The only thing I
> >> see a bit confusing is the computation of two McCabe numbers
> >> #cyclomaticNumber and #cyclomaticNumber2. Unfortunately, the class
> >> comment does not tell enough.
> >
> > Correctness of measured values is a big issue. The correctness of
> the
> > numbers that Moose produces is unknown. Even such simple
> measurements
> > as the number of classes or method invocations might be wrong!
>
> I think that adrian is a bit simplifying too much.
> What is the language that you want to analyse?
> For Smalltalk, since the langage is dynamically typed nobody on earth
> can be precise when talking about invocations!
> Now for the number of classes I think that this is correct.
>
> Now if you take any "professional" tools you have to ask yourself
Example of error range in senders:
FAMIX does not model shared variables and their initializers, thus
any sender in an initializer is lost. If you browse senders with VW
you get them. And RBCrawler gets them as well, but filters senders by
the result of a flow analysis with method scope (by doing the same
abstract interpretation as RoelTyper does, as I found out later when
comparing the two tools).
That is, three numbers with different precision for the same metric.
Example of error range in number of classes and methods:
Fame uses 4 anonymous subclasses of Fame.MetaDescription to
instantiate primitive descriptions. FAMIX will not model them, but
Object withAllSubclasses will list them.
That is, two numbers for the same metric.
i.e., even something as simple as the number of classes is more than
one number and thus the correct number of classes is rather a range
of possible numbers. In physics error ranges are given as N+/-Err, in
software analysis they could be given by making clear what has been
measured and what is missing. See examples above.
Of course, whether the above errors matter or not will depend on your
use case. For some use cases they might be no problem, for other use
cases they are critical or at least annoying.
Whether you care are not also depends on your distance from source
code. Consider for example a class blueprint. In smalltalk most #new
methods call an #initialize method that typically creates new objects
of a different type by calling #new again. Moose will thus visualize
the two methods as calling each other even though any developer can
tell they do not! For a consultant doing an offline analysis at
10'000 feet altitude that might be good enough, but for the developer
using the tool while working at ground level the visualization must
be precise or they stop using it because its results are obviously
false... and this is why RBCrawler takes the whole pain of running a
flow analysis, because I was eating my own dogfood :)
cheers,
AA
Dear List,
When I am browsing a Java model, let's say ArgoUML, I cannot browse
the source code of the model.
Pressing 'Browsing source code' when right clicking on an entity seems
ineffective.
Is there a way to fix this? If no, I could work on this. Any hint
where to start?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
is there a good web site about oo metrics ? I need to get an overview
over different metrics (independent if moose implement them or not)
Greetings
Hans
We are on freenode
irc://chat.freenode.net/fame-dev
cheers,
AA
> Any way to remotely join (mostly as an observer)?
>
> Thanks ... Sophie
>
> ----- Original Message -----
>
> > Dear All,
> >
> > this Friday, a Fame sprint will take place in Bern.
> >
> > Program
> > - 11:00 rehearsal of Models at Runtime presentation.
> > - Afterwards, happy hacking and pair programing.
> >
> > Links
> > - http://www.iam.unibe.ch/~akuhn/d/Kuhn-2008-MRT-Fame.pdf
> > - http://smallwiki.unibe.ch/fame/issues
> >
> > You are welcome to participate and/or attend the rehearsal.
> >
> > @Moose - if you have feature requests, please reply to this mail or
> > add them on the wiki page! For example, I have seen that you are
> > about to impl a visitor, this sounds like a nice job for Fame code
> > generation.
> >
> > cheers,
> > Adrian
> >
> > --
> > Adrian Kuhn
> > Software Composition Group
> > University of Bern, Switzerland
> > http://www.iam.unibe.ch/~akuhn
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev at iam.unibe.ch
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
can we get all the packages from a list of classes?
Doru
is there a way that the script does not just need a predicate and
return a subset but can get a full block
If I have a list of classes I would like to get a group with all the
packages of the classes.
So a kind of flatCollect on the result
Stef
Dear All,
this Friday, a Fame sprint will take place in Bern.
Program
- 11:00 rehearsal of Models at Runtime presentation.
- Afterwards, happy hacking and pair programing.
Links
- http://www.iam.unibe.ch/~akuhn/d/Kuhn-2008-MRT-Fame.pdf
- http://smallwiki.unibe.ch/fame/issues
You are welcome to participate and/or attend the rehearsal.
@Moose - if you have feature requests, please reply to this mail or
add them on the wiki page! For example, I have seen that you are
about to impl a visitor, this sounds like a nice job for Fame code
generation.
cheers,
Adrian
--
Adrian Kuhn
Software Composition Group
University of Bern, Switzerland
http://www.iam.unibe.ch/~akuhn
Hi all,
I would like to add some properties in the list "Select properties to
add:" when I push "+" button.
I have added this in my fonction in FamoosClass :
<property: #LCOM1
longName: 'Lake of cohesion'
description: 'Lake of cohesion'
>
but it don't appear in the list.
Thanks for help
Jannik
On 22 Sep 2008, at 16:37 , Holger Guhl wrote:
> The project is for company CAST that has software for software
> quality assessment.
I know them, that's cool!
> I have a simple question: Do you have more analysis methods and
> metrics that are not yet published with Moose?
You can find a pre-release of (some of) my current work here
http://www.iam.unibe.ch/~akuhn/d/Kuhn-2008-WCRE-SoftwareMap.pdf
> And how about correctness of the measured values? The class comment
> states: "Right now only Number of MessageSends is computed in a
> correct manner." On the first glance, I cannot see which of the
> measured values could be wrong. Any hint on inappropriate
> computation or improvement would be appreciated. The only thing I
> see a bit confusing is the computation of two McCabe numbers
> #cyclomaticNumber and #cyclomaticNumber2. Unfortunately, the class
> comment does not tell enough.
Correctness of measured values is a big issue. The correctness of the
numbers that Moose produces is unknown. Even such simple measurements
as the number of classes or method invocations might be wrong! Why?
Moose uses the FAMIX model that has the aim to be language
independent, which can only be achieved at the cost of less
precision. Famix is this a lossy representation of software rather
than precise, think JPEG vs PNG. For that reason I suggested some
time ago to add an error range to all numbers, and started to take a
look at some of the numbers. That is why there are two diff McCabe
measurements. As far I recall, #cyclomaticNumber2 is more correct
than #cyclomaticNumber. I only looked at McCabe and found it is not
correct, so I guess other measurements need careful review too. But
alas, I did not have time to complete that work...
cheers,
AA