On Fri, Oct 28, 2011 at 7:07 PM, Mariano Martinez Peck < marianopeck@gmail.com> wrote:
Hi guys. Maybe what I have is completly useless, but if you get:
Gofer new squeaksource: 'Marea'; package: 'CodeStats'; load.
And the do a print of:
CodeStats default setCodeStatsFor: 'Fuel'; printReport.
Then you get the statistics for Fuel package:
'Code stats
for: #(''Fuel'') Nr of packages: 1 Nr of categories 9 Nr of classes: 71 Nr of methods: 496 lines of code: 1861 Avg methods/class: 7.0s1 Avg lines/method: 3.8s1 Nr of test methods: 0 % of commented methods: 16 % of commented classes: 96'
Maybe you can get some code from there....
This is very interesting I'll have a look at it... thanks
Cheers
On Fri, Oct 28, 2011 at 6:55 PM, Nicolas Anquetil < nicolas.anquetil@inria.fr> wrote:
what are the metrics?
- cycloLoc is cyclomatic / loc ?
- locNom = loc / #method ?
- nomNoc = avergae number of method per class ?
- nocNop = avergae number of class per package ?
- callNom = average # of calls to methods ?
- fanoutCalls = average number of calls a method makes ? (only one call
every 4 methods !?!?!)
- andc ?
- ahh ?
nicolas
*De: *"Ciprian Teodorov" ciprian.teodorov@univ-brest.fr *À: *"Moose-related development" moose-dev@iam.unibe.ch *Envoyé: *Vendredi 28 Octobre 2011 18:21:47 *Objet: *[Moose-dev] Re: OverviewPyramid smalltalk thresholds?
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.comwrote:
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
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
-- Mariano http://marianopeck.wordpress.com
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev