SlideShare a Scribd company logo
On Issues with Software
       Quality Model

       Khashayar Khosravi and Yann-Gaël Guéhéneuc
                      9th ECOOP workshop on Quantitative Approaches
                           in Object-Oriented Software Engineering
                                      Glasgow, Scotland
                                         2005/07/25
GEODES Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns
       Group of Open, Distributed Systems, Experimental Software Engineering
       Department of Informatics and Operations Research
       University of Montreal                                                    © Khosravi and Guéhéneuc 2005
Context

       n Software industry (non-military, life-
        threatening) balance price and quality

       n Very   high expectations of customers

       n No
          clear consensual relation
        among/between models, metrics yet
2/20
Context

       n A.Einstein was right: Everything is
        relative J
         – Rational constructivism
         – Computer science = Creating reality
         – Truth does not exist: Felicity of choices




3/20
Issues with Quality Models

       n Human     estimations

       n Software   metrics

       n Quality   models



4/20
Human Estimations

       n People  are the best to judge the quality
         of programs, designs, architectures…
       n Problems
         – Different tastes, different values
         – Time-consuming
       n Solution?
         – Categorize groups of people dealing with
           the software product
5/20
Software Metrics

       n Only  automatic means to evaluate the
         quality systematically
       n Problems
         – Evaluation of source code is not enough
         – With different viewpoints, finding
           acceptable threshold is difficult
       n Solutions?
         – Combining dynamic, structural metrics
6/20     – Taking into account patterns
Quality Models

       n Several  quality models exist at different
         level of abstraction
       n Problems
         – Affecting weights to quality characteristics
           (sub-, sub-sub-, metrics…)
         – Missing concepts, decomposing quality
       n Solutions?
         – Coefficients
7/20     – Assessing sub-sets of characteristics
Our Approach                        (1/12)

       n Devise a software quality models
        solving some of the previous problems

       n Main   idea: Design patterns
         – Focus on few characteristics
         – Use the patterns to take into account
           design and architecture
         – Use machine learning technique to
8/20       incorporate human evaluations
Our Approach                   (2/12)

       n Design patterns provide “good”
        solutions to recurring design problems

       n Focus   on
         – Flexibility
         – Reusability
         – Robustness
         – Scalability
9/20
         – Usability
Our Approach                        (3/12)

        n Designpatterns are used to build “good”
         designs or architectures

        n Designpatterns provide a means to
         evaluate manually the quality of sets of
         classes (not just single classes)
          – And to learn from these evaluations

10/20
Our Approach                                                         (4/12)
                                                             Metric
        n In   a Nutshell                                    values

                                                ute
                                              mp
                                            Co
                                                                                Link with machine
        Find   Programs   Find   Patterns   Evaluate   Sub-characteristics      learning technique

                                            Ev
                                              alu
                                                 ate

                                                         Characteristics




                                   vs.

11/20
Our Approach                            (5/12)

        n   Steps
            1. Identify the quality characteristics shared
               by a set of patterns
            2. Organise the quality characteristics
            3. Choose internal attributes relevant to the
               patterns and their characteristics
            4. Identify programs using the patterns
            5. Assess the quality of the used patterns
               using the model from step 2
12/20
Our Approach                          (6/12)

        n   Steps
            6. Compute the metrics from step 3 on the
               program from step 4
            7. Link the metric values from step 6 with
               the quality assessment from step 5
            8. Validate the quality model on other used
               patterns from step 5


13/20
Our Approach               (7/12)

        n   Patterns
            – 23 design patterns
              from the GoF


        n   Quality Model




14/20
Our Approach   (8/12)

        n Programs
          – JHotDraw
          – JUnit
          – Lexi




15/20
Our Approach                      (9/12)

        n Metrics
          – ACAIC, ACMIC, AID, CBO, CLD,
            cohesionAttributes, connectivity, DCAEC,
            DCMEC, DIT, ICHClass, LCOM1, LCOM2,
            LCOM5, NCM, NMA, NMI, NMO, NOA,
            NOC, NOD, NOP, SIX, and WMC




16/20
17/20
Our Approach    (10/12)

n Estimations
Our Approach   (11/12)

        n Results




18/20
Our Approach                    (12/12)

        n Previous rules apply to any micro-
         architectures of a OO program

        n Evaluatesubsets of the program
         design, architecture
          – Not the complete program
          – Not just classes

19/20
Conclusion

        n Issueswith quality models
        n A new approach to building quality
          models
          – Patterns
          – Human estimations
          – Design, architecture


        n Software   metrics?
20/20

More Related Content

Viewers also liked

08 actividad de aprendizaje
08 actividad de aprendizaje08 actividad de aprendizaje
08 actividad de aprendizaje
johanapaolaaguilareyes
 
Significado de los meses del año, días y planetas
Significado de los meses del año, días y planetasSignificado de los meses del año, días y planetas
Significado de los meses del año, días y planetas
Partida_de_ajedrez
 
Đà lạt liên khúc 2- Phạm thành Tri
Đà lạt liên khúc 2- Phạm thành TriĐà lạt liên khúc 2- Phạm thành Tri
Đà lạt liên khúc 2- Phạm thành Tri
Doanhdoanh Le
 
Khuc tinh ca- Phạm thành Tri
Khuc tinh ca- Phạm thành TriKhuc tinh ca- Phạm thành Tri
Khuc tinh ca- Phạm thành Tri
Doanhdoanh Le
 
La planta tacobo diseñada para tratamiento de gas
La planta tacobo diseñada para tratamiento de gasLa planta tacobo diseñada para tratamiento de gas
La planta tacobo diseñada para tratamiento de gas
Maria Yvon Moreno Vega
 
La Dinámica: Tensiones
La Dinámica: TensionesLa Dinámica: Tensiones
La Dinámica: Tensiones
rocket5
 
Medical Terminology of the body systems
Medical Terminology of the body systemsMedical Terminology of the body systems
Medical Terminology of the body systems
Kareem Hussien
 

Viewers also liked (7)

08 actividad de aprendizaje
08 actividad de aprendizaje08 actividad de aprendizaje
08 actividad de aprendizaje
 
Significado de los meses del año, días y planetas
Significado de los meses del año, días y planetasSignificado de los meses del año, días y planetas
Significado de los meses del año, días y planetas
 
Đà lạt liên khúc 2- Phạm thành Tri
Đà lạt liên khúc 2- Phạm thành TriĐà lạt liên khúc 2- Phạm thành Tri
Đà lạt liên khúc 2- Phạm thành Tri
 
Khuc tinh ca- Phạm thành Tri
Khuc tinh ca- Phạm thành TriKhuc tinh ca- Phạm thành Tri
Khuc tinh ca- Phạm thành Tri
 
La planta tacobo diseñada para tratamiento de gas
La planta tacobo diseñada para tratamiento de gasLa planta tacobo diseñada para tratamiento de gas
La planta tacobo diseñada para tratamiento de gas
 
La Dinámica: Tensiones
La Dinámica: TensionesLa Dinámica: Tensiones
La Dinámica: Tensiones
 
Medical Terminology of the body systems
Medical Terminology of the body systemsMedical Terminology of the body systems
Medical Terminology of the body systems
 

Similar to ECOOP05 QAOOSEb.ppt

Ecoop05 qaoos eb.ppt
Ecoop05 qaoos eb.pptEcoop05 qaoos eb.ppt
Ecoop05 qaoos eb.ppt
Yann-Gaël Guéhéneuc
 
ECOOP05 WOORa.ppt
ECOOP05 WOORa.pptECOOP05 WOORa.ppt
ECOOP05 WOORa.ppt
Ptidej Team
 
Toolsusa01.ppt
Toolsusa01.pptToolsusa01.ppt
Toolsusa01.ppt
Yann-Gaël Guéhéneuc
 
ECOOP05 BSUP.ppt
ECOOP05 BSUP.pptECOOP05 BSUP.ppt
ECOOP05 BSUP.ppt
Ptidej Team
 
Ecoop05 bsup.ppt
Ecoop05 bsup.pptEcoop05 bsup.ppt
Ecoop05 bsup.ppt
Yann-Gaël Guéhéneuc
 
Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...
Juan J. Merelo
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software Development
Francis Palma
 
ECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.pptECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.ppt
Ptidej Team
 
Ecoop05 woo ra.ppt
Ecoop05 woo ra.pptEcoop05 woo ra.ppt
Ecoop05 woo ra.ppt
Yann-Gaël Guéhéneuc
 
Ch03-Software Engineering Model
Ch03-Software Engineering ModelCh03-Software Engineering Model
Ch03-Software Engineering Model
Bala Ganesh
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2
Glen Alleman
 
Ijcai01 mspc.ppt
Ijcai01 mspc.pptIjcai01 mspc.ppt
Ijcai01 mspc.ppt
Yann-Gaël Guéhéneuc
 
Software Development for Processionals.ppt
Software Development for Processionals.pptSoftware Development for Processionals.ppt
Software Development for Processionals.ppt
NaeemAhmed654645
 
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
PMI_IREP_TP
 
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
Day 1   1620 - 1705 - maple - pranabendu bhattacharyyaDay 1   1620 - 1705 - maple - pranabendu bhattacharyya
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
PMI2011
 
14 software technical_metrics
14 software technical_metrics14 software technical_metrics
14 software technical_metrics
University of Computer Science and Technology
 
LECT9.ppt
LECT9.pptLECT9.ppt
LECT9.ppt
AnSHiKa187943
 
The Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scopingThe Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scoping
Ivano Malavolta
 
MTech- Viva_Voce
MTech- Viva_VoceMTech- Viva_Voce
MTech- Viva_Voce
Vijayananda Mohire
 

Similar to ECOOP05 QAOOSEb.ppt (20)

Ecoop05 qaoos eb.ppt
Ecoop05 qaoos eb.pptEcoop05 qaoos eb.ppt
Ecoop05 qaoos eb.ppt
 
ECOOP05 WOORa.ppt
ECOOP05 WOORa.pptECOOP05 WOORa.ppt
ECOOP05 WOORa.ppt
 
Toolsusa01.ppt
Toolsusa01.pptToolsusa01.ppt
Toolsusa01.ppt
 
ECOOP05 BSUP.ppt
ECOOP05 BSUP.pptECOOP05 BSUP.ppt
ECOOP05 BSUP.ppt
 
Ecoop05 bsup.ppt
Ecoop05 bsup.pptEcoop05 bsup.ppt
Ecoop05 bsup.ppt
 
Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software Development
 
ECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.pptECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.ppt
 
Ecoop05 woo ra.ppt
Ecoop05 woo ra.pptEcoop05 woo ra.ppt
Ecoop05 woo ra.ppt
 
Ch03-Software Engineering Model
Ch03-Software Engineering ModelCh03-Software Engineering Model
Ch03-Software Engineering Model
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2Alleman coonce-agile-2017 may2
Alleman coonce-agile-2017 may2
 
Ijcai01 mspc.ppt
Ijcai01 mspc.pptIjcai01 mspc.ppt
Ijcai01 mspc.ppt
 
Software Development for Processionals.ppt
Software Development for Processionals.pptSoftware Development for Processionals.ppt
Software Development for Processionals.ppt
 
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
 
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
Day 1   1620 - 1705 - maple - pranabendu bhattacharyyaDay 1   1620 - 1705 - maple - pranabendu bhattacharyya
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
 
14 software technical_metrics
14 software technical_metrics14 software technical_metrics
14 software technical_metrics
 
LECT9.ppt
LECT9.pptLECT9.ppt
LECT9.ppt
 
The Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scopingThe Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scoping
 
MTech- Viva_Voce
MTech- Viva_VoceMTech- Viva_Voce
MTech- Viva_Voce
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
Ptidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
Ptidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
Ptidej Team
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
Ptidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
Ptidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
Ptidej 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 crisis
Ptidej Team
 
MIPA
MIPAMIPA
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
Ptidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
Ptidej Team
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
Ptidej Team
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
Ptidej Team
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
Ptidej Team
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
Ptidej Team
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
Ptidej Team
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
Ptidej Team
 

More from 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
 

Recently uploaded

AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 

Recently uploaded (20)

AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 

ECOOP05 QAOOSEb.ppt

  • 1. On Issues with Software Quality Model Khashayar Khosravi and Yann-Gaël Guéhéneuc 9th ECOOP workshop on Quantitative Approaches in Object-Oriented Software Engineering Glasgow, Scotland 2005/07/25 GEODES Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns Group of Open, Distributed Systems, Experimental Software Engineering Department of Informatics and Operations Research University of Montreal © Khosravi and Guéhéneuc 2005
  • 2. Context n Software industry (non-military, life- threatening) balance price and quality n Very high expectations of customers n No clear consensual relation among/between models, metrics yet 2/20
  • 3. Context n A.Einstein was right: Everything is relative J – Rational constructivism – Computer science = Creating reality – Truth does not exist: Felicity of choices 3/20
  • 4. Issues with Quality Models n Human estimations n Software metrics n Quality models 4/20
  • 5. Human Estimations n People are the best to judge the quality of programs, designs, architectures… n Problems – Different tastes, different values – Time-consuming n Solution? – Categorize groups of people dealing with the software product 5/20
  • 6. Software Metrics n Only automatic means to evaluate the quality systematically n Problems – Evaluation of source code is not enough – With different viewpoints, finding acceptable threshold is difficult n Solutions? – Combining dynamic, structural metrics 6/20 – Taking into account patterns
  • 7. Quality Models n Several quality models exist at different level of abstraction n Problems – Affecting weights to quality characteristics (sub-, sub-sub-, metrics…) – Missing concepts, decomposing quality n Solutions? – Coefficients 7/20 – Assessing sub-sets of characteristics
  • 8. Our Approach (1/12) n Devise a software quality models solving some of the previous problems n Main idea: Design patterns – Focus on few characteristics – Use the patterns to take into account design and architecture – Use machine learning technique to 8/20 incorporate human evaluations
  • 9. Our Approach (2/12) n Design patterns provide “good” solutions to recurring design problems n Focus on – Flexibility – Reusability – Robustness – Scalability 9/20 – Usability
  • 10. Our Approach (3/12) n Designpatterns are used to build “good” designs or architectures n Designpatterns provide a means to evaluate manually the quality of sets of classes (not just single classes) – And to learn from these evaluations 10/20
  • 11. Our Approach (4/12) Metric n In a Nutshell values ute mp Co Link with machine Find Programs Find Patterns Evaluate Sub-characteristics learning technique Ev alu ate Characteristics vs. 11/20
  • 12. Our Approach (5/12) n Steps 1. Identify the quality characteristics shared by a set of patterns 2. Organise the quality characteristics 3. Choose internal attributes relevant to the patterns and their characteristics 4. Identify programs using the patterns 5. Assess the quality of the used patterns using the model from step 2 12/20
  • 13. Our Approach (6/12) n Steps 6. Compute the metrics from step 3 on the program from step 4 7. Link the metric values from step 6 with the quality assessment from step 5 8. Validate the quality model on other used patterns from step 5 13/20
  • 14. Our Approach (7/12) n Patterns – 23 design patterns from the GoF n Quality Model 14/20
  • 15. Our Approach (8/12) n Programs – JHotDraw – JUnit – Lexi 15/20
  • 16. Our Approach (9/12) n Metrics – ACAIC, ACMIC, AID, CBO, CLD, cohesionAttributes, connectivity, DCAEC, DCMEC, DIT, ICHClass, LCOM1, LCOM2, LCOM5, NCM, NMA, NMI, NMO, NOA, NOC, NOD, NOP, SIX, and WMC 16/20
  • 17. 17/20 Our Approach (10/12) n Estimations
  • 18. Our Approach (11/12) n Results 18/20
  • 19. Our Approach (12/12) n Previous rules apply to any micro- architectures of a OO program n Evaluatesubsets of the program design, architecture – Not the complete program – Not just classes 19/20
  • 20. Conclusion n Issueswith quality models n A new approach to building quality models – Patterns – Human estimations – Design, architecture n Software metrics? 20/20