Hi all,

During the last days I've been trying to get some statistical thresholds about smalltalk to use with the OverviewPyramid Moose visualisation. 

So here are the numbers I've got so far: 
MetricName Low Average High
 #cycloLoc 0,18 0,22 0,26
 #locNom 5,59 6,91 8,89
 #nomNoc 9,28 11,24 14,18
 #nocNop 6,38 8,57 12,62
 #callNom 3,59 5,46 7,33
 #fanoutCalls 0,18 0,23 0,31
 #andc 0,41 0,60 0,76
 #ahh 1,72 2,22 2,98

The number were computer based on the evaluation of 20 smalltalk projects. The Metacello configuration of each project was used to get the particular composing packages. The Projects in question are:  

'SmallDude' 
'Gofer' 
'Magma' 
'Pier2' 
'Merlin' 
'Seaside30' 
'Magritte2' 
'Fame' 
'DSM' 
'Filesystem' 
'HelpSystem' 
'EyeSee' 
'Metacello' 
'Fuel' 
'Glamour' 
'MooseAlgos' 
'Kumpel' 
'Mondrian' 
'PetitParser' 
'XMLSupport' 

Please let me know what do you think about the quality of the results... I'm open to suggestions especially in terms other projects which could be includes. The constraint being that I need to have the Metacello configuration for the package.

As for the code used to get these results I'll make it available on the squeaksource repository, once I clean it up a little bit.

Have a great day,
Ciprian

On Tue, Oct 25, 2011 at 12:36 AM, Ciprian Teodorov <ciprian.teodorov@univ-brest.fr> wrote:


On Tue, Oct 25, 2011 at 12:10 AM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,

Going purely the Metacello way is less proper for your purpose because you are looking for a statistics, and due to project dependencies, you will get to measure common projects multiple times.
yep ... you are right 

However, if you have a Metacello configuration, you can easily obtain the packages involved and their respective repositories. You can then use this information with the Monticello importer. At least theoretically :)

ok I will look into that... for now I have an MonticelloImporter that works .... well almost ... ;) 
Cheers,
Doru


On 24 Oct 2011, at 23:47, Ciprian Teodorov wrote:

> That's cool ... from my perspective I think a metacello importer will do a better job... since it is closer to the idea of a project than the monticello repositories which sometimes are very fine grained.
>
> So if you manage to get a working version of the metacello importer please let me know. Meanwhile I'll try to figure this out using the monticello importer - importing either the whole repository or just selected packages following a handcrafted, subjective heuristic ;)
>
> On Mon, Oct 24, 2011 at 11:18 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
> I am currently working on a metacello importer. I have been slow on this due to numerous deadlines. Having someone bothering me regularly will definitely help reshuffling my todo list :-)
>
> Cheers,
> Alexandre
>
>
>
> Le 24 oct. 2011 à 17:58, Tudor Girba <tudor@tudorgirba.com> a écrit :
>
> > Hi Ciprian,
> >
> > That is precisely what I had in mind when I said that we need someone to do it :).
> >
> > For a list of projects, I would indeed do it like Alex is saying: by traversing projects from squeaksource. One idea is to use the MonticelloImporter to do it from Moose. The only thing would be to implement the relevant metrics for this importer.
> >
> > Cheers,
> > Doru
> >
> >
> > On 24 Oct 2011, at 22:47, Ciprian Teodorov wrote:
> >
> >> Hi Doru,
> >>
> >> Thank you for your answer... It's too bad we don't have these figures... What do you say about creating a list of projects that could be used to create such a baseline. I don't really have a precise idea about the number of projects that we might need to compute this thing ... but I think starting such a list might be a good idea. And then based on that we can eventually try to get the results.
> >>
> >> In the Book: Object-oriented Metrics in Practice the authors used 45 java and 37 c++ systems to get these numbers ... so I think we have to find at least 30 projects maybe.
> >>
> >> I am not promising anything but maybe I will find some time over the next few weeks that I can dedicate to doing this.
> >>
> >> What do you guys say?
> >>
> >>
> >> On Mon, Oct 24, 2011 at 10:27 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
> >> Hi,
> >>
> >> We do not have those thresholds for Smalltalk, yet. It would be interesting to get them, though. We only need someone to do it :)
> >>
> >> Cheers,
> >> Doru
> >>
> >> On 24 Oct 2011, at 22:03, Ciprian Teodorov wrote:
> >>
> >>> Thanks for your prompt answer.
> >>>
> >>> On Mon, Oct 24, 2011 at 9:13 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
> >>> No idea about the threshold. I find system complexity and class blueprint quite useful to get a first impression of a system. I then usually visualize the dependencies.
> >>> If I really want to understand the system, then writing unit tests will do the thing.
> >>>
> >>> I completely agree with you on these points...
> >>> but from my point of view I think that the overviewpyramid can be a very good visualisation
> >>> to quickly present your system's complexity to others... especially during a presentation...
> >>> and then you can freely dive into more detailed aspect with the system complexity and
> >>> class blueprint - to show specific points. However, without a statistically significant smalltalk baseline (the threshold)
> >>> the pyramid doesn't convey much information especially to an external viewer...
> >>>
> >>> so my point is, since we have the java and c++ cases, why not get some smalltalk (or maybe pharo-specific)
> >>> numbers also - especially since Moose is implemented in smalltalk.
> >>>
> >>> regards,
> >>> ciprian
> >>>
> >>> Alexandre
> >>>
> >>>
> >>> On 24 Oct 2011, at 16:06, Ciprian Teodorov wrote:
> >>>
> >>>> Hi all,
> >>>>
> >>>> I'm new to using moose for analyzing a rather large smalltalk project developed during the last 16-17 years.
> >>>> I hope that using Moose framework will give positive insights on the hot-spots of the system in order to improve its structure, and make it more maintainable.
> >>>> The project name is Madeo (http://stiff.univ-brest.fr/BINIOU/MADEO) a FPGA design-automation toolkit developed mainly by one of my PhD supervisors (Loic Lagadec).
> >>>>
> >>>> To start the evaluation I believe that the overview pyramid is a very good starting point in order to get a generic idea about the system.
> >>>> However, I was not able to find any smalltalk threshold values in the moose image.
> >>>>
> >>>> So my question is if there is somebody having some idea about the
> >>>> smalltalk threshold values for the OverviewPyramid.
> >>>>
> >>>> If yes, could you provide me these figures, and eventually point me to a scientific paper presenting these results.
> >>>> If not, I'm willing to try to get these figures myself... however I don't really know which smalltalk projects I could use to get good results.
> >>>>
> >>>> Thank you very much for your attention.
> >>>>
> >>>> Best wishes,
> >>>> --
> >>>> PhDc Ciprian TEODOROV
> >>>> Lab-STICC/AS CNRS UMR 3192
> >>>> University of Brest
> >>>>
> >>>> phone: (+33)(0) 6 08 54 73 48
> >>>> mail: ciprian.teodorov@univ-brest.fr
> >>>> www.teodorov.ro
> >>>> _______________________________________________
> >>>> Moose-dev mailing list
> >>>> Moose-dev@iam.unibe.ch
> >>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>>
> >>> --
> >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> >>> Alexandre Bergel  http://www.bergel.eu
> >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Moose-dev mailing list
> >>> Moose-dev@iam.unibe.ch
> >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>>
> >>>
> >>>
> >>> --
> >>> PhDc Ciprian TEODOROV
> >>> Lab-STICC/AS CNRS UMR 3192
> >>> University of Brest
> >>>
> >>> phone: (+33)(0) 6 08 54 73 48
> >>> mail: ciprian.teodorov@univ-brest.fr
> >>> www.teodorov.ro
> >>> _______________________________________________
> >>> Moose-dev mailing list
> >>> Moose-dev@iam.unibe.ch
> >>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>
> >> --
> >> www.tudorgirba.com
> >>
> >> "Next time you see your life passing by, say 'hi' and get to know her."
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> Moose-dev mailing list
> >> Moose-dev@iam.unibe.ch
> >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>
> >>
> >>
> >> --
> >> PhDc Ciprian TEODOROV
> >> Lab-STICC/AS CNRS UMR 3192
> >> University of Brest
> >>
> >> phone: (+33)(0) 6 08 54 73 48
> >> mail: ciprian.teodorov@univ-brest.fr
> >> www.teodorov.ro
> >> _______________________________________________
> >> Moose-dev mailing list
> >> Moose-dev@iam.unibe.ch
> >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> > --
> > www.tudorgirba.com
> >
> > "What we can governs what we wish."
> >
> >
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev@iam.unibe.ch
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
> --
> PhDc Ciprian TEODOROV
> Lab-STICC/AS CNRS UMR 3192
> University of Brest
>
> phone: (+33)(0) 6 08 54 73 48
> mail: ciprian.teodorov@univ-brest.fr
> www.teodorov.ro
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Quality cannot be an afterthought."


_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



--
PhDc Ciprian TEODOROV
Lab-STICC/AS CNRS UMR 3192
University of Brest

phone: (+33)(0) 6 08 54 73 48

mail: ciprian.teodorov@univ-brest.fr
www.teodorov.ro




--
PhDc Ciprian TEODOROV
Lab-STICC/AS CNRS UMR 3192
University of Brest

phone: (+33)(0) 6 08 54 73 48

mail: ciprian.teodorov@univ-brest.fr
www.teodorov.ro