Hello,
I just created some visualizations (Marcus's idea) using DistributionMap with SmallLint rules to check how distributed are the lint problems in a class. I enclosed some figures with the distribution for some packages of Moose. So, the small boxes represent methods. The red color is a method with more than 3 lint problems, the orange 2 problems, green 1 problem and white no problem. We can clearly see a lot of "lint problems" in Famix package. Of course, we have some false-positives mainly for Glamour and Mondrian as we can check in [1].
Btw, I also created a job in Hudson to generate a simple report with smallLint rules in Moose (and Pharo): Job: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose Report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
regards,
[1] Lukas Renggli, Stéphane Ducasse, Tudor Gîrba and Oscar Nierstrasz, “ Domain-Specific Program Checking,” Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS’10)
Hi Andre,
distribution maps are cool. I just added them to AspectMaps as an alternate visualization and I think some of the ideas could be applied to your visualization as well. You have a large amount of classes, making it difficult to get an overview / navigate. In AspectMaps this is addressed as follows: you start from a high level view on packages and then zoom in where you want, revealing more detail.
An example is below. The distribution map shows for each aspect where it applies, so for example in the first hierarchy root the two squares mean that the blue aspect applies twice. By clicking on it you get a zoomed in view, in the example these are Robot and Player. (here instvars = diamonds, methods = rectangles) There you see the same, but at method granularity. (I have no packages in this example, you can imagine what it looks like).
In my experience, this allows you to quickly pinpoint interesting namespaces / classes / methods by interacting with the visualization.
Also, I dont put borders around the distribution map rectangles, as there is no information conveyed by the borders they add clutter.
On 11 May 2011, at 12:04, Andre Hora wrote:
Hello,
I just created some visualizations (Marcus's idea) using DistributionMap with SmallLint rules to check how distributed are the lint problems in a class. I enclosed some figures with the distribution for some packages of Moose. So, the small boxes represent methods. The red color is a method with more than 3 lint problems, the orange 2 problems, green 1 problem and white no problem. We can clearly see a lot of "lint problems" in Famix package. Of course, we have some false-positives mainly for Glamour and Mondrian as we can check in [1].
Btw, I also created a job in Hudson to generate a simple report with smallLint rules in Moose (and Pharo): Job: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose Report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
regards,
[1] Lukas Renggli, Stéphane Ducasse, Tudor Gîrba and Oscar Nierstrasz, “Domain-Specific Program Checking,” Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS’10)
-- Andre Hora
<Moose-Dsm.png><Moose-Algos.png><Moose-Core.png><Merlin.png><EyeSee.png><Glamour.png><Mondrian.png><Fame.png><Famix.png>_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Nice! (or not very nice actually, but useful)
I t seems a bit strange that all methods of FamixClass, FamixPackages, ... even FamixEntity, are coloured. It would be interesting to know what are the rules that are violated.
nicolas
----- Mail original -----
De: "Andre Hora" andrehoraa@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch, "Marcus Denker" marcus.denker@inria.fr Envoyé: Mercredi 11 Mai 2011 18:04:21 Objet: [Moose-dev] DistributionMap and SmallLint rules
Hello,
I just created some visualizations (Marcus's idea) using DistributionMap with SmallLint rules to check how distributed are the lint problems in a class. I enclosed some figures with the distribution for some packages of Moose. So, the small boxes represent methods. The red color is a method with more than 3 lint problems, the orange 2 problems, green 1 problem and white no problem. We can clearly see a lot of "lint problems" in Famix package. Of course, we have some false-positives mainly for Glamour and Mondrian as we can check in [1].
Btw, I also created a job in Hudson to generate a simple report with smallLint rules in Moose (and Pharo): Job: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose Report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
regards,
[1] Lukas Renggli, Stéphane Ducasse, Tudor Gîrba and Oscar Nierstrasz, “ Domain - Specific Program Checking ,” Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS’10)
Yes I think that we should really learn how to evaluate the rules and reconsider the ones having too many false positives. In fact this is part of the experience Andre what would be fun is to keep all the results so that we can also see how we are actually fixing the code and also improving the lint rules. Co evolution of rules checking and code :)
Stef
On May 11, 2011, at 10:50 PM, Nicolas Anquetil wrote:
Nice! (or not very nice actually, but useful)
I t seems a bit strange that all methods of FamixClass, FamixPackages, ... even FamixEntity, are coloured. It would be interesting to know what are the rules that are violated.
nicolas
De: "Andre Hora" andrehoraa@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch, "Marcus Denker" marcus.denker@inria.fr Envoyé: Mercredi 11 Mai 2011 18:04:21 Objet: [Moose-dev] DistributionMap and SmallLint rules
Hello,
I just created some visualizations (Marcus's idea) using DistributionMap with SmallLint rules to check how distributed are the lint problems in a class. I enclosed some figures with the distribution for some packages of Moose. So, the small boxes represent methods. The red color is a method with more than 3 lint problems, the orange 2 problems, green 1 problem and white no problem. We can clearly see a lot of "lint problems" in Famix package. Of course, we have some false-positives mainly for Glamour and Mondrian as we can check in [1].
Btw, I also created a job in Hudson to generate a simple report with smallLint rules in Moose (and Pharo): Job: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose Report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
regards,
[1] Lukas Renggli, Stéphane Ducasse, Tudor Gîrba and Oscar Nierstrasz, “Domain-Specific Program Checking,” Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS’10)
-- Andre Hora
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
Hello,
Johan, thanks for the pointer. I will have a look. In fact, with AspectMaps I can have a hierarchic view (package, classes, methods) of the problems. It is interesting.
Nicolas, in fact most of these problems are related to the RBSpellingRule. This rule produces a lot of problems and most of them are false positives. I think I should not use it.
Stef, as I said in the previous email, I created a job in Hudson to generate a simple report with smallLint rules for Moose and Pharo. These reports are generated every day with the last version of Moose/Pharo and stored..
Moose report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
Pharo report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportPharo1....
regards,
On Wed, May 11, 2011 at 11:13 PM, Stéphane Ducasse < stephane.ducasse@inria.fr> wrote:
Yes I think that we should really learn how to evaluate the rules and reconsider the ones having too many false positives. In fact this is part of the experience Andre what would be fun is to keep all the results so that we can also see how we are actually fixing the code and also improving the lint rules. Co evolution of rules checking and code :)
Stef
On May 11, 2011, at 10:50 PM, Nicolas Anquetil wrote:
Nice! (or not very nice actually, but useful)
I t seems a bit strange that all methods of FamixClass, FamixPackages,
... even FamixEntity, are coloured.
It would be interesting to know what are the rules that are violated.
nicolas
De: "Andre Hora" andrehoraa@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch, "Marcus Denker"
Envoyé: Mercredi 11 Mai 2011 18:04:21 Objet: [Moose-dev] DistributionMap and SmallLint rules
Hello,
I just created some visualizations (Marcus's idea) using DistributionMap
with SmallLint rules to check how distributed are the lint problems in a class. I enclosed some figures with the distribution for some packages of Moose.
So, the small boxes represent methods. The red color is a method with
more than 3 lint problems, the orange 2 problems, green 1 problem and white no problem.
We can clearly see a lot of "lint problems" in Famix package. Of course,
we have some false-positives mainly for Glamour and Mondrian as we can check in [1].
Btw, I also created a job in Hudson to generate a simple report with
smallLint rules in Moose (and Pharo):
Job:
https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose
Report:
https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
regards,
[1] Lukas Renggli, Stéphane Ducasse, Tudor Gîrba and Oscar Nierstrasz,
“Domain-Specific Program Checking,” Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS’10)
-- Andre Hora
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
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Hi Andre,
You should also install the correspondent plugin to see the result :).
Cheers, Doru
On 12 May 2011, at 01:03, Andre Hora wrote:
Hello,
Johan, thanks for the pointer. I will have a look. In fact, with AspectMaps I can have a hierarchic view (package, classes, methods) of the problems. It is interesting.
Nicolas, in fact most of these problems are related to the RBSpellingRule. This rule produces a lot of problems and most of them are false positives. I think I should not use it.
Stef, as I said in the previous email, I created a job in Hudson to generate a simple report with smallLint rules for Moose and Pharo. These reports are generated every day with the last version of Moose/Pharo and stored..
Moose report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
Pharo report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportPharo1....
regards,
On Wed, May 11, 2011 at 11:13 PM, Stéphane Ducasse stephane.ducasse@inria.fr wrote: Yes I think that we should really learn how to evaluate the rules and reconsider the ones having too many false positives. In fact this is part of the experience Andre what would be fun is to keep all the results so that we can also see how we are actually fixing the code and also improving the lint rules. Co evolution of rules checking and code :)
Stef
On May 11, 2011, at 10:50 PM, Nicolas Anquetil wrote:
Nice! (or not very nice actually, but useful)
I t seems a bit strange that all methods of FamixClass, FamixPackages, ... even FamixEntity, are coloured. It would be interesting to know what are the rules that are violated.
nicolas
De: "Andre Hora" andrehoraa@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch, "Marcus Denker" marcus.denker@inria.fr Envoyé: Mercredi 11 Mai 2011 18:04:21 Objet: [Moose-dev] DistributionMap and SmallLint rules
Hello,
I just created some visualizations (Marcus's idea) using DistributionMap with SmallLint rules to check how distributed are the lint problems in a class. I enclosed some figures with the distribution for some packages of Moose. So, the small boxes represent methods. The red color is a method with more than 3 lint problems, the orange 2 problems, green 1 problem and white no problem. We can clearly see a lot of "lint problems" in Famix package. Of course, we have some false-positives mainly for Glamour and Mondrian as we can check in [1].
Btw, I also created a job in Hudson to generate a simple report with smallLint rules in Moose (and Pharo): Job: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose Report: https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
regards,
[1] Lukas Renggli, Stéphane Ducasse, Tudor Gîrba and Oscar Nierstrasz, “Domain-Specific Program Checking,” Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS’10)
-- Andre Hora
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
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Andre Hora
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Presenting is storytelling."
Yes Doru, I will check it ASAP (the problem was that only *now* our Hudson is updated and able to deal with report plugins) The message of Marcus below:
On May 12, 2011, at 1:03 AM, Andre Hora wrote:
Hello,
Johan, thanks for the pointer. I will have a look. In fact, with
AspectMaps I can have a hierarchic view (package, classes, methods) of the problems. It is interesting.
Nicolas, in fact most of these problems are related to the RBSpellingRule.
This rule produces a lot of problems and most of them are false positives. I think I should not use it.
Yes, far too many false positives.
Stef, as I said in the previous email, I created a job in Hudson to
generate a simple report with smallLint rules for Moose and Pharo. These reports are generated every day with the last version of Moose/Pharo and stored..
Moose report:
https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/l...
Pharo report:
https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportPharo1....
The current Hudson should already have the violations plugin installed:
- in the "Post-build Actions" section, enable "Report Violations" (requires the Violations plugin to be installed) - enter "**/*-Lint.xml" into the text input labelled "pmd XML filename pattern"
-- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.