SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Des signatures numériques
  pour améliorer la recherche
    structurelle de patrons


                       Yann-Gaël Guéhéneuc
                         Houari Sahraoui
                  {guehene,sahraouh}@iro.umontreal.ca
                              2005/10/03

Group of Open and Distributed Systems, Experimental Software Engineering
Department of Informatics and Operations Research
University of Montreal
Motivations

       n Restructuration   informée des
        programmes
         – Refactorings


       n Motifs   de conception (MC)
         – Implantations souvent adaptées
         – Opportunités de restructurations

2/??
Motivations

       n MC définissent des rôles
       n Occurrence d’un MC
         – Combinaison de classes qui correspondent
           aux rôles
         – Micro-architecture du programme
       n Identifier   des MC
         – Trouver toutes les combinaisons de
           classes qui satisfont les rôles
3/??     – Tâche complexe, coûteuse
Recherche structurelle

       n Programmation   par contraintes avec
        explications

       n Coûteuse


       n…


4/??
Exemple

       n Identifier
                Abstract Factory dans un
         programme de taille moyenne
         – JREFACTORY (575 classes)
         – 5 rôles (AbstractFactory, ConcreteFactory,
           AbstractProduct, Product et Client)
         – ~ 5755 = 6.28549E+13 combinaisons
           possibles


5/??
Idée

       n Réduire  l’espace de recherche par des
         heuristiques
       n Une heuristiques efficaces
         – Caractérisation quantitative des rôles dans
           les MC


       n…

6/??
Idée

       n Approche   déjà expérimentée
         – Par exemple, [Antoniol et al., 98]
       n Limitations   des approches existantes
         – Caractérisations quantitative manuelle
         – Hypothèse forte que l’implantation est
           conforme à la théorie
       n Solution
         – Caractérisation automatique à partir
7/??       d’occurrences de MC connues
Principes des signatures
       numériques
       n   Utilisation d’attributs internes des classes
           – Taille, héritage, couplage, cohésion
       n   Les valeurs des attributs internes ne sont pas
           uniques
           – Une classe peut jouer plus d’un rôle
           – Un rôle peut être joué par plus d’une classe

       n   Les attributs internes sont utilisés pour
           réduire l’espace de recherche
8/??
           – Élimination de classes qui ne joue évidemment
             pas un rôle
Construction des signatures
       numériques
          Repository   Candidate rule     Rule
           creation      derivation     validation




9/??
Construction des signatures
        numériques
              Repository        Candidate rule           Rule
               creation           derivation           validation

        n   Création du référentiel
            – Sources
               • Études de la littérature (cf., [Bieman et al., 03])
               • Outils maison pour l’identification [Guéhéneuc, 01]
               • Travaux dans des cours gradués
            – Structure
               • <program><designmotif><occurrence><role>



10/??
Construction des signatures
        numériques
              Repository                                        Candidate rule                                                  Rule
               creation                                           derivation                                                  validation

        n   Création du référentiel
                                                                                                                      Total    Nombre de      Nombre de




                                                  JREFACTORY
                                     JH OTD RAW




                                                                                                          Q UICKUML
                                                                                              N ETBEANS
                                                                                                                                 rôles     classes jouant un




                                                                               v0.0.1α
                                                    v2.6.24



                                                                   JU NIT




                                                                                                v1.0.x




                                                                                                             2001
                                                                                L EXI
                                        v5.1




                                                                    v3.7
                                                                                                                               [GAM 94]    rôle par motif de
                                                                                                                                              conception

               Nombre de classes      173          575             157          127           5812        224         7 068

               Motif de conception                             Nombre de micro-architectures similaires
                                                                au motif de conception par programme
                 Usine Abstraite                                                               12           1          13         5              217
                  Adaptateur            1          17                                           8                      26         4              230
                  Constructeur                       2                           1                          1           4         4               24
                  Commande              1                                                        1          1           3         5               67
                   Composite            1                           1                                       2           4         4              107
                   Décorateur           1                           1                                                   2         4              64
                 Méthode Usine          3            1                                                                  4         4               67
                   Itérateur                                        1                            5                      6         5               30
                  Observateur           2                           3            2                          1           8         4               93
                   Prototype            2                                                                               2         3               32
                   Singleton            2            2              2            2                          1           9         1               9
                      État              2            2                                                                  4         3               32
                  Stratégie             4                                                                               4         3               36
                Méthode Patron          2                                                                               2         2               36
                    Visiteur                         2                                                                  2          4             138
11/??                                                                                                     Total        93         55            1 182
Construction des signatures
        numériques
              Repository                 Candidate rule                           Rule
               creation                    derivation                           validation

        n   Création du référentiel
            – Extraction des métriques pour chaque classes
                                  Acronymes                Descriptions               Références
                                     NM       Nombre de méthodes                      [LOR 94]
                                    NMA       Nombre de nouvelles méthodes            [LOR 94]
                  Size/complexité    NMI      Nombre de méthodes héritées             [LOR 94]
                                    NMO       Nombre de méthodes surchargées          [LOR 94]
                                    WMC       Poids du nombre de méthodes              [CHI 93]
                                     CLD      Profondeur de la classe                 [TEG 95]
                     Filiation       DIT      Profondeur de l’arbre d’héritage         [CHI 93]
                                     NOC      Nombre d’enfants                         [CHI 93]
                                      C       Connectivité                             [HIT 95]
                     Cohésion
                                   LCOM5      Manque de cohésion des méthodes         [BRI 97b]
                                   ACMIC      Imports classes-méthodes des ancêtres   [BRI 97a]
                     Couplage        CBO      Couplage entre objets                    [CHI 93]
12/??                              DCMEC      Imports classes-méthodes des fils       [BRI 97a]
Construction des signatures
        numériques
              Repository        Candidate rule            Rule
               creation           derivation            validation

        n   Inférence des règles candidates
            – Rule learner, JRIP (outil Weka)
            – Ensemble de données d’apprentissage (pour
              chaque rôle): 4 × n cas
               • n classes jouant le rôle
               • 3 × n classes choisies aléatoirement
            – Chaque cas
               • <metrique1, metrique2, …, metriquem, rôle>


13/??
Construction des signatures
        numériques
              Repository           Candidate rule             Rule
               creation              derivation             validation

        n   Inférence des règles candidates
            – Forme des signatures
               Rules for <Role>:
                    Signature1, confidence
                    …
                    Signaturek, confidence

               où
                    Signature1: {metrique1 ∈ D11; … ; metric m ∈ Dm1}


14/??
Construction des signatures
        numériques
              Repository        Candidate rule          Rule
               creation           derivation          validation

        n   Inférence des règles candidates
            – Élimination des rôles sans un nombre significatif
              d’occurrences (20 sur 55)
            – Validation croisée
               • Méthode leave-one-out
               • Élimination des rôles avec un rappel inférieur à 75% (15
                 sur 35)
               • Erreur pour les 20 rôles restant < 10%


15/??
Construction des signatures
        numériques
              Repository                    Candidate rule                                  Rule
               creation                       derivation                                  validation

        n   Validation des règles
                           Motif de conception         Rôles       Erreur (en %) Rappel (en %)
                                 Itérateur            Client            0,00        100,00
                              Observateur              Sujet            0,00        100,00
                              Observateur          Observateur          2,38        100,00
                            Méthode patron       Classe Concrète        0,00        97,60
                               Prototype        Prototype Concret       0,00        96,30
                               Décorateur      Composant Concret        4,17        89,58
                                 Visiteur        Visiteur Concret       0,00        88,89
                                Stratégie            Contexte           3,70        88,89
                                 Visiteur       Élément Concret         2,04        88,78
                               Singleton            Singleton           8,33        87,50
                            Méthode Usine       Créateur Concret        4,30        87,10
                            Méthode Usine        Produit Concret        3,45        86,21
                               Adaptateur              Cible            4,00        84,00
                               Composite              Feuille           6,47        82,09
                               Décorateur      Décorateur Concret       0,00        80,00
                                 Itérateur           Itérateur          0,00        80,00
                               Commande              Receveur           6,67        80,00
                                    État           État Concret         6,67        80,00
                                Stratégie       Stratégie Concrète      2,38        78,57
16/??                          Commande        Commande Concrète        3,23        77,42
Utilisation des signatures
        numériques
        n   Identification structurelle par contraintes
            – {V, C, D}
            – Variables représentent les rôles d’un MC
            – Domaines contiennent toutes les classes d’un
              programme


        n Signatures numériques réduisent les
          domaines
        n Signatures numériques réduisent le nombre
17/??     de combinaisons possibles
MC Composite
        n   Sans signatures             n   Avec signatures
            – S = Toutes les classes        – Scl, Scn, Sco et S le ⊆ S
            – Variables                     – Variables
                                                 •   client, Dcl = Scl
               •   client, Dcl = S
                                                 •   component, Dcn = Scn
               •   component, Dcn = S
                                                 •   composite, Dco = Sco
               •   composite, Dco = S
                                                 •   leaf, Dle = Sle
               •   leaf, Dle = S
                                               Scl, Scn, Sco, and S le = Classes
                                               avec des signatures similaires
                                               à celles des quatre rôles
            – Contraintes
               • association(client, component), héritage(component,
                 composite), héritage(component, leaf), composition(composite,
18/??            component)
Composite DM

        n Règle        pour le rôle Leaf
              • NMI = 26 ∧ DIT = 5, 23/67
              • NMI = 25 ∧ NMO = 2, 45/67
              • DIT = 3 ∧ NM = 12, 9/67


        n Réduction                de l’espace de recherche
                                     Nombre de classes correspondant   Réduction de l’espace de
           Signatures numériques
                                       à cette signature numérique        recherche (en %)
          NMI grand et DIT grand                    20                          69,00
          NIM grand et NMO petit                     7                          89,15
          DIT moyen et NM moyen                     10                          84,50
19/??
Types de règles

        n Règles    de « bon sens » qui confirment
          l’intuition théorique des rôles
        n Règles contraires au « bon sens » qui
          vont à l’opposé de l’intuition, résultats
          d’un manque de données
        n Règles invérifiables par l’intuition et qui
          demandent une étude plus poussée

20/??
Dernières nouvelles

        n Études plus complètes des signatures
          numériques
        n Application à l’identification
          d’occurrences approchées de MC
        n…




21/??
Conclusion

        n   Caractérisation quantitative expérimentale
            des rôles dans les motifs de conception
        n   Signatures numériques pour les rôles définies
            par des métriques
        n   Signatures numériques utilisée pour
            améliorer l’identification de motifs
        n   Réduction significative du temps et des
            ressources nécessaires à l’identification
        n   Applicable à l’identification d’occurrences
22/??       approchées de motifs de conception
Travail futur (une p’tite blague)




23/??
Travail futur (une p’tite blague)

        n Signatures   numériques de composants




23/??
Travail futur (une p’tite blague)

        n Signatures   numériques de composants
        n   Signatures numériques de frameworks




23/??
Travail futur (une p’tite blague)

        n Signatures      numériques de composants
        n   Signatures numériques de frameworks
        n   Signatures numériques d’aspects




23/??
Travail futur (une p’tite blague)

        n Signatures         numériques de composants
        n   Signatures numériques de frameworks
        n   Signatures numériques d’aspects
        n   Signatures numériques de refactorings




23/??
Travail futur (une p’tite blague)

        n Signatures           numériques de composants
        n   Signatures numériques de frameworks
        n   Signatures numériques d’aspects
        n   Signatures numériques de refactorings
        n   Signatures numériques de services




23/??
Travail futur (une p’tite blague)

        n Signatures             numériques de composants
        n   Signatures numériques de frameworks
        n   Signatures numériques d’aspects
        n   Signatures numériques de refactorings
        n   Signatures numériques de services
        n   Signatures numériques de métriques




23/??
Travail futur (une p’tite blague)

        n Signatures             numériques de composants
        n   Signatures numériques de frameworks
        n   Signatures numériques d’aspects
        n   Signatures numériques de refactorings
        n   Signatures numériques de services
        n   Signatures numériques de métriques
        n   …




23/??
Données

        n   Précision dépend du référentiel
            – P-MARt (Pattern-like Micro-Architecture Repository) est
              un référentiel de micro-architectures similaires à
              des motifs de conception
            – P-MARt et les outils associés sont disponibles
              gratuitement sous licence LPGL

                         S’il vous plaît, contribuez !

            – Information, téléchargement et contributions à
24/??         http://www.iro.umontreal.ca/~labgelo/p-mart/

Más contenido relacionado

Similar a LMO05.ppt (7)

Lmo05.ppt
Lmo05.pptLmo05.ppt
Lmo05.ppt
 
030225+seminar+gelo+diro.ppt
030225+seminar+gelo+diro.ppt030225+seminar+gelo+diro.ppt
030225+seminar+gelo+diro.ppt
 
040423+seminar+info+uqam.ppt
040423+seminar+info+uqam.ppt040423+seminar+info+uqam.ppt
040423+seminar+info+uqam.ppt
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011
 
Elaborer un logiciel
Elaborer un logicielElaborer un logiciel
Elaborer un logiciel
 
cours de Matlab
 cours de Matlab cours de Matlab
cours de Matlab
 
Modélisation métier (2004)
Modélisation métier (2004)Modélisation métier (2004)
Modélisation métier (2004)
 

Más de Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

Más de Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

LMO05.ppt

  • 1. Des signatures numériques pour améliorer la recherche structurelle de patrons Yann-Gaël Guéhéneuc Houari Sahraoui {guehene,sahraouh}@iro.umontreal.ca 2005/10/03 Group of Open and Distributed Systems, Experimental Software Engineering Department of Informatics and Operations Research University of Montreal
  • 2. Motivations n Restructuration informée des programmes – Refactorings n Motifs de conception (MC) – Implantations souvent adaptées – Opportunités de restructurations 2/??
  • 3. Motivations n MC définissent des rôles n Occurrence d’un MC – Combinaison de classes qui correspondent aux rôles – Micro-architecture du programme n Identifier des MC – Trouver toutes les combinaisons de classes qui satisfont les rôles 3/?? – Tâche complexe, coûteuse
  • 4. Recherche structurelle n Programmation par contraintes avec explications n Coûteuse n… 4/??
  • 5. Exemple n Identifier Abstract Factory dans un programme de taille moyenne – JREFACTORY (575 classes) – 5 rôles (AbstractFactory, ConcreteFactory, AbstractProduct, Product et Client) – ~ 5755 = 6.28549E+13 combinaisons possibles 5/??
  • 6. Idée n Réduire l’espace de recherche par des heuristiques n Une heuristiques efficaces – Caractérisation quantitative des rôles dans les MC n… 6/??
  • 7. Idée n Approche déjà expérimentée – Par exemple, [Antoniol et al., 98] n Limitations des approches existantes – Caractérisations quantitative manuelle – Hypothèse forte que l’implantation est conforme à la théorie n Solution – Caractérisation automatique à partir 7/?? d’occurrences de MC connues
  • 8. Principes des signatures numériques n Utilisation d’attributs internes des classes – Taille, héritage, couplage, cohésion n Les valeurs des attributs internes ne sont pas uniques – Une classe peut jouer plus d’un rôle – Un rôle peut être joué par plus d’une classe n Les attributs internes sont utilisés pour réduire l’espace de recherche 8/?? – Élimination de classes qui ne joue évidemment pas un rôle
  • 9. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation 9/??
  • 10. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation n Création du référentiel – Sources • Études de la littérature (cf., [Bieman et al., 03]) • Outils maison pour l’identification [Guéhéneuc, 01] • Travaux dans des cours gradués – Structure • <program><designmotif><occurrence><role> 10/??
  • 11. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation n Création du référentiel Total Nombre de Nombre de JREFACTORY JH OTD RAW Q UICKUML N ETBEANS rôles classes jouant un v0.0.1α v2.6.24 JU NIT v1.0.x 2001 L EXI v5.1 v3.7 [GAM 94] rôle par motif de conception Nombre de classes 173 575 157 127 5812 224 7 068 Motif de conception Nombre de micro-architectures similaires au motif de conception par programme Usine Abstraite 12 1 13 5 217 Adaptateur 1 17 8 26 4 230 Constructeur 2 1 1 4 4 24 Commande 1 1 1 3 5 67 Composite 1 1 2 4 4 107 Décorateur 1 1 2 4 64 Méthode Usine 3 1 4 4 67 Itérateur 1 5 6 5 30 Observateur 2 3 2 1 8 4 93 Prototype 2 2 3 32 Singleton 2 2 2 2 1 9 1 9 État 2 2 4 3 32 Stratégie 4 4 3 36 Méthode Patron 2 2 2 36 Visiteur 2 2 4 138 11/?? Total 93 55 1 182
  • 12. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation n Création du référentiel – Extraction des métriques pour chaque classes Acronymes Descriptions Références NM Nombre de méthodes [LOR 94] NMA Nombre de nouvelles méthodes [LOR 94] Size/complexité NMI Nombre de méthodes héritées [LOR 94] NMO Nombre de méthodes surchargées [LOR 94] WMC Poids du nombre de méthodes [CHI 93] CLD Profondeur de la classe [TEG 95] Filiation DIT Profondeur de l’arbre d’héritage [CHI 93] NOC Nombre d’enfants [CHI 93] C Connectivité [HIT 95] Cohésion LCOM5 Manque de cohésion des méthodes [BRI 97b] ACMIC Imports classes-méthodes des ancêtres [BRI 97a] Couplage CBO Couplage entre objets [CHI 93] 12/?? DCMEC Imports classes-méthodes des fils [BRI 97a]
  • 13. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation n Inférence des règles candidates – Rule learner, JRIP (outil Weka) – Ensemble de données d’apprentissage (pour chaque rôle): 4 × n cas • n classes jouant le rôle • 3 × n classes choisies aléatoirement – Chaque cas • <metrique1, metrique2, …, metriquem, rôle> 13/??
  • 14. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation n Inférence des règles candidates – Forme des signatures Rules for <Role>: Signature1, confidence … Signaturek, confidence où Signature1: {metrique1 ∈ D11; … ; metric m ∈ Dm1} 14/??
  • 15. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation n Inférence des règles candidates – Élimination des rôles sans un nombre significatif d’occurrences (20 sur 55) – Validation croisée • Méthode leave-one-out • Élimination des rôles avec un rappel inférieur à 75% (15 sur 35) • Erreur pour les 20 rôles restant < 10% 15/??
  • 16. Construction des signatures numériques Repository Candidate rule Rule creation derivation validation n Validation des règles Motif de conception Rôles Erreur (en %) Rappel (en %) Itérateur Client 0,00 100,00 Observateur Sujet 0,00 100,00 Observateur Observateur 2,38 100,00 Méthode patron Classe Concrète 0,00 97,60 Prototype Prototype Concret 0,00 96,30 Décorateur Composant Concret 4,17 89,58 Visiteur Visiteur Concret 0,00 88,89 Stratégie Contexte 3,70 88,89 Visiteur Élément Concret 2,04 88,78 Singleton Singleton 8,33 87,50 Méthode Usine Créateur Concret 4,30 87,10 Méthode Usine Produit Concret 3,45 86,21 Adaptateur Cible 4,00 84,00 Composite Feuille 6,47 82,09 Décorateur Décorateur Concret 0,00 80,00 Itérateur Itérateur 0,00 80,00 Commande Receveur 6,67 80,00 État État Concret 6,67 80,00 Stratégie Stratégie Concrète 2,38 78,57 16/?? Commande Commande Concrète 3,23 77,42
  • 17. Utilisation des signatures numériques n Identification structurelle par contraintes – {V, C, D} – Variables représentent les rôles d’un MC – Domaines contiennent toutes les classes d’un programme n Signatures numériques réduisent les domaines n Signatures numériques réduisent le nombre 17/?? de combinaisons possibles
  • 18. MC Composite n Sans signatures n Avec signatures – S = Toutes les classes – Scl, Scn, Sco et S le ⊆ S – Variables – Variables • client, Dcl = Scl • client, Dcl = S • component, Dcn = Scn • component, Dcn = S • composite, Dco = Sco • composite, Dco = S • leaf, Dle = Sle • leaf, Dle = S Scl, Scn, Sco, and S le = Classes avec des signatures similaires à celles des quatre rôles – Contraintes • association(client, component), héritage(component, composite), héritage(component, leaf), composition(composite, 18/?? component)
  • 19. Composite DM n Règle pour le rôle Leaf • NMI = 26 ∧ DIT = 5, 23/67 • NMI = 25 ∧ NMO = 2, 45/67 • DIT = 3 ∧ NM = 12, 9/67 n Réduction de l’espace de recherche Nombre de classes correspondant Réduction de l’espace de Signatures numériques à cette signature numérique recherche (en %) NMI grand et DIT grand 20 69,00 NIM grand et NMO petit 7 89,15 DIT moyen et NM moyen 10 84,50 19/??
  • 20. Types de règles n Règles de « bon sens » qui confirment l’intuition théorique des rôles n Règles contraires au « bon sens » qui vont à l’opposé de l’intuition, résultats d’un manque de données n Règles invérifiables par l’intuition et qui demandent une étude plus poussée 20/??
  • 21. Dernières nouvelles n Études plus complètes des signatures numériques n Application à l’identification d’occurrences approchées de MC n… 21/??
  • 22. Conclusion n Caractérisation quantitative expérimentale des rôles dans les motifs de conception n Signatures numériques pour les rôles définies par des métriques n Signatures numériques utilisée pour améliorer l’identification de motifs n Réduction significative du temps et des ressources nécessaires à l’identification n Applicable à l’identification d’occurrences 22/?? approchées de motifs de conception
  • 23. Travail futur (une p’tite blague) 23/??
  • 24. Travail futur (une p’tite blague) n Signatures numériques de composants 23/??
  • 25. Travail futur (une p’tite blague) n Signatures numériques de composants n Signatures numériques de frameworks 23/??
  • 26. Travail futur (une p’tite blague) n Signatures numériques de composants n Signatures numériques de frameworks n Signatures numériques d’aspects 23/??
  • 27. Travail futur (une p’tite blague) n Signatures numériques de composants n Signatures numériques de frameworks n Signatures numériques d’aspects n Signatures numériques de refactorings 23/??
  • 28. Travail futur (une p’tite blague) n Signatures numériques de composants n Signatures numériques de frameworks n Signatures numériques d’aspects n Signatures numériques de refactorings n Signatures numériques de services 23/??
  • 29. Travail futur (une p’tite blague) n Signatures numériques de composants n Signatures numériques de frameworks n Signatures numériques d’aspects n Signatures numériques de refactorings n Signatures numériques de services n Signatures numériques de métriques 23/??
  • 30. Travail futur (une p’tite blague) n Signatures numériques de composants n Signatures numériques de frameworks n Signatures numériques d’aspects n Signatures numériques de refactorings n Signatures numériques de services n Signatures numériques de métriques n … 23/??
  • 31. Données n Précision dépend du référentiel – P-MARt (Pattern-like Micro-Architecture Repository) est un référentiel de micro-architectures similaires à des motifs de conception – P-MARt et les outils associés sont disponibles gratuitement sous licence LPGL S’il vous plaît, contribuez ! – Information, téléchargement et contributions à 24/?? http://www.iro.umontreal.ca/~labgelo/p-mart/