SlideShare a Scribd company logo
The Benchmark for Software Quality
www.uni-stuttgart.de




                       The Quamoco
                       Product Quality Modelling
                        and
                       Assessment Approach

                                                   Stefan Wagner
                                     Institute of Software Technology

                                                              ICSE 2012
                                                     Zürich, Switzerland
                                                             8 June 2012
"Quality is a complex and multi-faceted concept...
          it is also the source of great confusion."
                                     –David A. Garvin
Software Quality Models
                                                                              IEC 61508
                                               Siemens Technical
                                                     Topic
CMMI                                             Classification
                         COQUALMO                                           ISO 15504 -
                                                                               SPICE
          ISO 9126
                                      Maintainability Index
                     Musa basic                                     SAP Q-Index
Visser et al.
                                         Activity-Based
                Musa-Okumoto             Quality Models                     Littlewood-Verall
                                                                                 Bayesian
iDAVE                              Avizienis et al.
                    Marinescu &                           Boehm et al.            MISRA
                       Ratiu
   McCall &                              Dromey                 Common Criteria
   Walters
                            NHPP                                               ISO 15005
                                              SAP Quality
Capgemini sd&m                                 Standards           SQUID
Software-Blutbild         ISO 25000                                                 ROSQ
                                                                   Models
ISO 9126
                   Reliability

 Functionality                   Performance
                     Quality
                     model

 Maintainability                  Usability

                   Portability
Quality Models
                              in Practical Use
                 Percentages of answers, multiple answers possible


Company-specific 71


       ISO 9126 28


 Domain-specific 20


          None 4
                                                     Wagner et al., 2010
„The -ilities are good
for management talk only.“
                         –Anonymous developer




Wagner et al., ESEM'09
ISO 9126
                 ISO 25010
Quality
attribute



            Comment           Clone
              ratio          coverage
Measure           Cyclomatic
                  complexity
ISO 9126
                  ISO 25010
Quality
attribute



              ?
            Comment            Clone
              ratio           coverage
Measure            Cyclomatic
                   complexity
Quality attribute
       ISO 9126
      ISO 25010




Measure
 Comment           Clone
   ratio          coverage

        Cyclomatic
        complexity
Quality attribute            Multitude of models
       ISO 9126
      ISO 25010




Measure
 Comment           Clone
   ratio          coverage

        Cyclomatic
        complexity
Quality attribute            Multitude of models
       ISO 9126              Too abstract
      ISO 25010




Measure
 Comment           Clone
   ratio          coverage

        Cyclomatic
        complexity
Quality attribute            Multitude of models
       ISO 9126              Too abstract
      ISO 25010              Not operationalised




Measure
 Comment           Clone
   ratio          coverage

        Cyclomatic
        complexity
Quality attribute            Multitude of models
       ISO 9126              Too abstract
      ISO 25010              Not operationalised
                             Not adaptable



Measure
 Comment           Clone
   ratio          coverage

        Cyclomatic
        complexity
Quality attribute            Multitude of models
       ISO 9126              Too abstract
      ISO 25010              Not operationalised
                             Not adaptable
                             Unreproducible
                             assessments
Measure
 Comment           Clone
   ratio          coverage

        Cyclomatic
        complexity
Quality attribute            Multitude of models
       ISO 9126              Too abstract
      ISO 25010              Not operationalised
                             Not adaptable
                             Unreproducible
                             assessments
Measure
                             Differing definitions
 Comment           Clone
   ratio          coverage

        Cyclomatic
        complexity
Quality attribute            Multitude of models
       ISO 9126              Too abstract
      ISO 25010              Not operationalised
                             Not adaptable
                             Unreproducible
                             assessments
Measure
                             Differing definitions
 Comment           Clone
   ratio          coverage   Unclear relationship
                             to quality goals
        Cyclomatic
        complexity
1
Quality
 Model
ISO 9126
                  ISO 25010
Quality
attribute



              ?
            Comment            Clone
              ratio           coverage
Measure            Cyclomatic
                   complexity
ISO 9126
                 ISO 25010
Quality
attribute




            Comment           Clone
              ratio          coverage
Measure           Cyclomatic
                  complexity
ISO 9126
                 ISO 25010
Quality
attribute




            Comment           Clone
              ratio          coverage
Measure           Cyclomatic
                  complexity
ISO 9126
                 ISO 25010
Quality
attribute


Product
factor

            Comment           Clone
              ratio          coverage
Measure           Cyclomatic
                  complexity
Maintainability

  Analysability      Modifiability




Duplication of source code parts



              Clone
             coverage
Quality
attribute


Product
factor

Measure
Quality
attribute


Product
factor

Measure

Instrument
Maintainability
Quality
attribute       Analyzability



Product       Usefulness of
                method
factor

               Statically
Measure     unused method

Instrument     Gendarme:         PMD: Unused
             Avoid Uncalled     Private Method
              Private Code
Base Model

                  root




    C        object-oriented   GUI




   C++            Java         C#
2
    Quality
Assessment
Quality
attribute


Product
factor

Measure

Instrument
Quality
attribute


Product
factor

Measure

Instrument
                      Measurement
             Software product
Quality                 Aggregation

attribute        Aggregation     Aggregation



Product
                  Evaluation     Evaluation
factor

Measure

Instrument
                       Measurement
             Software product
Quality                Aggregation

attribute       Aggregation     Aggregation



Product
                 Evaluation     Evaluation
factor

Measure
                  Measurement
            Software product
Quality                Aggregation

attribute       Aggregation     Aggregation



Product
                 Evaluation     Evaluation
factor

Measure
                  Measurement                 Normalisation
            Software product
Quality                Aggregation

attribute       Aggregation     Aggregation



Product                                          Utility
                 Evaluation     Evaluation
factor                                           functions

Measure
                  Measurement                 Normalisation
            Software product
Quality                Aggregation
                                                 Weights
attribute       Aggregation     Aggregation



Product                                          Utility
                 Evaluation     Evaluation
factor                                           functions

Measure
                  Measurement                 Normalisation
            Software product
Calibration for Java
  6000 compilable open source systems
Calibration for Java
  6000 compilable open source systems
               Random selection
Calibration for Java
  6000 compilable open source systems
               Random selection

       110 open source systems
Calibration for Java
  6000 compilable open source systems
               Random selection

       110 open source systems
               Measurement
Calibration for Java
  6000 compilable open source systems
               Random selection

       110 open source systems
               Measurement

     Distributions for all measures
Calibration for Java
  6000 compilable open source systems
               Random selection

       110 open source systems
               Measurement

     Distributions for all measures
               Calculations and reviews
Calibration for Java
  6000 compilable open source systems
               Random selection

       110 open source systems
               Measurement

     Distributions for all measures
               Calculations and reviews

          Evaluation functions
Interpretation with School Grades
                                                                   10


                 Worst
             6
Assessment




             5
             4
             3
             2
                                                            Best
             1

             0.80 0.82 0.84 0.86 0.88 0.90 0.92 0.94 0.96 0.98 1.00
                                Evaluation (Utility)

Fig. 7. Interpretation Model
3
   Tool
Support
HTML
Quality Model Editor                   Dash-
                                       board




                       Code, documentation,
                       tool results
The Quamoco Quality Modelling and Assessment Approach
Published under
Apache License, Version 2.0


      Available at
    www.quamoco.de
4
 Empirical
Validation
Experiment with OSS Projects

        Ranking         Ranking
         Model          Experts
Good    Checkstyle      Checkstyle
       Log4J RSSOwl       Log4J
                         RSSOwl
        TV-Browser      TV-Browser
Bad
          JabRef          JabRef
Experiment with Industry System

        Ranking         Ranking
         Model          Expert
Good    Subsystem D    Subsystem D
        Subsystem A    Subsystem A
        Subsystem C   Subsystem B, E
        Subsystem E    Subsystem C
Bad     Subsystem B
Visibility of Quality
 Improvements
Grade
    4.2




    2.8
                                   Investment in
                                   quality improvement

    1.4




        0
         1.9.0   2.0.0   2.0.1         2.0.2    2.1.0    2.2.1

                                 Version
Drill-Downs
Drill-Downs


„Modeled relations are comprehensible
and reasonable.“
Drill-Downs


„Modeled relations are comprehensible
and reasonable.“
„It is good to get an overall view on the
quality of a software product.“
Drill-Downs


„Modeled relations are comprehensible
and reasonable.“
„It is good to get an overall view on the
quality of a software product.“
„It clarifies software metrics.“
Drill-Downs


„Modeled relations are comprehensible
and reasonable.“
„It is good to get an overall view on the
quality of a software product.“
„It clarifies software metrics.“
„It is the best that can be done
with static code analysis.“
The Quamoco Quality Modelling and Assessment Approach
Integrated attributes,
measures and
evaluations
Integrated attributes,
measures and
evaluations
Modular
Integrated attributes,
measures and
evaluations
Modular
Automatic and
systematic evaluations
Integrated attributes,
measures and
evaluations
Modular
Automatic and
systematic evaluations
Base model
Integrated attributes,
measures and
evaluations
Modular
Automatic and
systematic evaluations
Base model
Calibration
Integrated attributes,
measures and
evaluations
Modular
Automatic and
systematic evaluations
Base model
Calibration
Tool support
Integrated attributes,
measures and
evaluations
Modular
Automatic and
systematic evaluations
Base model
Calibration
Tool support
Empirically validated
The Benchmark for Software Quality
www.uni-stuttgart.de




                       The Quamoco
                       Product Quality Modelling
                        and
                       Assessment Approach
                         Stefan Wagner, Klaus Lochmann, Lars Heinemann, Michael
                            Kläs, Adam Trendowicz, Reinhold Plösch, Andreas Seidl,
                                                Andreas Goeb and Jonathan Streit
Linear Utility Function


           1.0
                                    Measure M4
                                                 Linear decreasing
          0.74
                                                   utility function
Utility




           0.0
              min = 0.0   M4 = 2.17E-06                  max = 8.50E-6

More Related Content

PDF
Guide iso 20000
PDF
D'ITIL à ISO 20000 une démarche complémentaire
PDF
Censum - Garbage Collection Log Analyser
PDF
O que deus ainda procura
PPTX
Dependency injection
PDF
Introduction to BPM
PDF
Itil v4-mindmap
PDF
Lcos显示产业在中国的机遇
Guide iso 20000
D'ITIL à ISO 20000 une démarche complémentaire
Censum - Garbage Collection Log Analyser
O que deus ainda procura
Dependency injection
Introduction to BPM
Itil v4-mindmap
Lcos显示产业在中国的机遇

Viewers also liked (18)

PDF
Begrüssung Erstsemester am Fachbereich Informatik – Wintersemester 2014/15
PPT
Educational lifecycle process assessment
PDF
Software and product quality for videogames
PDF
03 club qualimetrie_presentation_s_qua_re
PPT
Quality Models for Web Sites
PPTX
Quesionnaire
PPTX
Evaluacion del software educativo
PDF
Analisis iso 25010
PDF
Evaluating and Improving Software Usability
PPTX
Iwsm2014 performance measurement for cloud computing applications using iso...
ODP
Software quality requirements and evaluation
PPTX
Quality characteristics
PPT
Guide25 vs ISO/IEC17025
PPT
Capturing Measurable Non Functional Requirements
PDF
Exigences de qualité des systèmes / logiciels
ODP
Web application security test tools
PDF
SonarQube et la Sécurité
PDF
Analyser la sécurité de son code source avec SonarSource
Begrüssung Erstsemester am Fachbereich Informatik – Wintersemester 2014/15
Educational lifecycle process assessment
Software and product quality for videogames
03 club qualimetrie_presentation_s_qua_re
Quality Models for Web Sites
Quesionnaire
Evaluacion del software educativo
Analisis iso 25010
Evaluating and Improving Software Usability
Iwsm2014 performance measurement for cloud computing applications using iso...
Software quality requirements and evaluation
Quality characteristics
Guide25 vs ISO/IEC17025
Capturing Measurable Non Functional Requirements
Exigences de qualité des systèmes / logiciels
Web application security test tools
SonarQube et la Sécurité
Analyser la sécurité de son code source avec SonarSource
Ad

Similar to The Quamoco Quality Modelling and Assessment Approach (20)

PDF
Evaluating the Quality of Software in ERP Systems Using the ISO 9126 Model
PDF
A suite of rules for developing and evaluating software quality models jean...
PPT
factors
PPTX
Machine Learning Approach for Quality Assessment and Prediction in Large Soft...
PDF
Identification & analysis of parameters for program quality improvement a ree...
DOCX
ISOIEC 9126Software engineering — Product quality was an intern.docx
PDF
Seng421 08 handout
PPT
3. quality.ppt
PPTX
Product metrics
PDF
A comparative studies of software quality model for the software product eval...
PPTX
comparative study software quality models
PDF
2010 01 lecture SIG UM MFES 2 - Patterns metrics quality
PPT
Software quality
PPTX
Quality Software Models in Software Engineering.pptx
PPT
Software quality
PDF
Webinar de la Comunidad de Implementación de Software: Métricas de Calidad de...
PPTX
SE PRESENTATION :Quality Assurance[1].pptx
PDF
A Novel Method for Quantitative Assessment of Software Quality
PPTX
STQA 1.pptx
PPTX
PRESENTATION of Software Engineering.pptx
Evaluating the Quality of Software in ERP Systems Using the ISO 9126 Model
A suite of rules for developing and evaluating software quality models jean...
factors
Machine Learning Approach for Quality Assessment and Prediction in Large Soft...
Identification & analysis of parameters for program quality improvement a ree...
ISOIEC 9126Software engineering — Product quality was an intern.docx
Seng421 08 handout
3. quality.ppt
Product metrics
A comparative studies of software quality model for the software product eval...
comparative study software quality models
2010 01 lecture SIG UM MFES 2 - Patterns metrics quality
Software quality
Quality Software Models in Software Engineering.pptx
Software quality
Webinar de la Comunidad de Implementación de Software: Métricas de Calidad de...
SE PRESENTATION :Quality Assurance[1].pptx
A Novel Method for Quantitative Assessment of Software Quality
STQA 1.pptx
PRESENTATION of Software Engineering.pptx
Ad

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Machine Learning_overview_presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
August Patch Tuesday
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Encapsulation theory and applications.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25-Week II
Encapsulation_ Review paper, used for researhc scholars
Machine Learning_overview_presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Getting Started with Data Integration: FME Form 101
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Univ-Connecticut-ChatGPT-Presentaion.pdf
August Patch Tuesday
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Encapsulation theory and applications.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

The Quamoco Quality Modelling and Assessment Approach

  • 1. The Benchmark for Software Quality www.uni-stuttgart.de The Quamoco Product Quality Modelling and Assessment Approach Stefan Wagner Institute of Software Technology ICSE 2012 Zürich, Switzerland 8 June 2012
  • 2. "Quality is a complex and multi-faceted concept... it is also the source of great confusion." –David A. Garvin
  • 3. Software Quality Models IEC 61508 Siemens Technical Topic CMMI Classification COQUALMO ISO 15504 - SPICE ISO 9126 Maintainability Index Musa basic SAP Q-Index Visser et al. Activity-Based Musa-Okumoto Quality Models Littlewood-Verall Bayesian iDAVE Avizienis et al. Marinescu & Boehm et al. MISRA Ratiu McCall & Dromey Common Criteria Walters NHPP ISO 15005 SAP Quality Capgemini sd&m Standards SQUID Software-Blutbild ISO 25000 ROSQ Models
  • 4. ISO 9126 Reliability Functionality Performance Quality model Maintainability Usability Portability
  • 5. Quality Models in Practical Use Percentages of answers, multiple answers possible Company-specific 71 ISO 9126 28 Domain-specific 20 None 4 Wagner et al., 2010
  • 6. „The -ilities are good for management talk only.“ –Anonymous developer Wagner et al., ESEM'09
  • 7. ISO 9126 ISO 25010 Quality attribute Comment Clone ratio coverage Measure Cyclomatic complexity
  • 8. ISO 9126 ISO 25010 Quality attribute ? Comment Clone ratio coverage Measure Cyclomatic complexity
  • 9. Quality attribute ISO 9126 ISO 25010 Measure Comment Clone ratio coverage Cyclomatic complexity
  • 10. Quality attribute Multitude of models ISO 9126 ISO 25010 Measure Comment Clone ratio coverage Cyclomatic complexity
  • 11. Quality attribute Multitude of models ISO 9126 Too abstract ISO 25010 Measure Comment Clone ratio coverage Cyclomatic complexity
  • 12. Quality attribute Multitude of models ISO 9126 Too abstract ISO 25010 Not operationalised Measure Comment Clone ratio coverage Cyclomatic complexity
  • 13. Quality attribute Multitude of models ISO 9126 Too abstract ISO 25010 Not operationalised Not adaptable Measure Comment Clone ratio coverage Cyclomatic complexity
  • 14. Quality attribute Multitude of models ISO 9126 Too abstract ISO 25010 Not operationalised Not adaptable Unreproducible assessments Measure Comment Clone ratio coverage Cyclomatic complexity
  • 15. Quality attribute Multitude of models ISO 9126 Too abstract ISO 25010 Not operationalised Not adaptable Unreproducible assessments Measure Differing definitions Comment Clone ratio coverage Cyclomatic complexity
  • 16. Quality attribute Multitude of models ISO 9126 Too abstract ISO 25010 Not operationalised Not adaptable Unreproducible assessments Measure Differing definitions Comment Clone ratio coverage Unclear relationship to quality goals Cyclomatic complexity
  • 18. ISO 9126 ISO 25010 Quality attribute ? Comment Clone ratio coverage Measure Cyclomatic complexity
  • 19. ISO 9126 ISO 25010 Quality attribute Comment Clone ratio coverage Measure Cyclomatic complexity
  • 20. ISO 9126 ISO 25010 Quality attribute Comment Clone ratio coverage Measure Cyclomatic complexity
  • 21. ISO 9126 ISO 25010 Quality attribute Product factor Comment Clone ratio coverage Measure Cyclomatic complexity
  • 22. Maintainability Analysability Modifiability Duplication of source code parts Clone coverage
  • 25. Maintainability Quality attribute Analyzability Product Usefulness of method factor Statically Measure unused method Instrument Gendarme: PMD: Unused Avoid Uncalled Private Method Private Code
  • 26. Base Model root C object-oriented GUI C++ Java C#
  • 27. 2 Quality Assessment
  • 30. Quality Aggregation attribute Aggregation Aggregation Product Evaluation Evaluation factor Measure Instrument Measurement Software product
  • 31. Quality Aggregation attribute Aggregation Aggregation Product Evaluation Evaluation factor Measure Measurement Software product
  • 32. Quality Aggregation attribute Aggregation Aggregation Product Evaluation Evaluation factor Measure Measurement Normalisation Software product
  • 33. Quality Aggregation attribute Aggregation Aggregation Product Utility Evaluation Evaluation factor functions Measure Measurement Normalisation Software product
  • 34. Quality Aggregation Weights attribute Aggregation Aggregation Product Utility Evaluation Evaluation factor functions Measure Measurement Normalisation Software product
  • 35. Calibration for Java 6000 compilable open source systems
  • 36. Calibration for Java 6000 compilable open source systems Random selection
  • 37. Calibration for Java 6000 compilable open source systems Random selection 110 open source systems
  • 38. Calibration for Java 6000 compilable open source systems Random selection 110 open source systems Measurement
  • 39. Calibration for Java 6000 compilable open source systems Random selection 110 open source systems Measurement Distributions for all measures
  • 40. Calibration for Java 6000 compilable open source systems Random selection 110 open source systems Measurement Distributions for all measures Calculations and reviews
  • 41. Calibration for Java 6000 compilable open source systems Random selection 110 open source systems Measurement Distributions for all measures Calculations and reviews Evaluation functions
  • 42. Interpretation with School Grades 10 Worst 6 Assessment 5 4 3 2 Best 1 0.80 0.82 0.84 0.86 0.88 0.90 0.92 0.94 0.96 0.98 1.00 Evaluation (Utility) Fig. 7. Interpretation Model
  • 43. 3 Tool Support
  • 44. HTML Quality Model Editor Dash- board Code, documentation, tool results
  • 46. Published under Apache License, Version 2.0 Available at www.quamoco.de
  • 48. Experiment with OSS Projects Ranking Ranking Model Experts Good Checkstyle Checkstyle Log4J RSSOwl Log4J RSSOwl TV-Browser TV-Browser Bad JabRef JabRef
  • 49. Experiment with Industry System Ranking Ranking Model Expert Good Subsystem D Subsystem D Subsystem A Subsystem A Subsystem C Subsystem B, E Subsystem E Subsystem C Bad Subsystem B
  • 50. Visibility of Quality Improvements Grade 4.2 2.8 Investment in quality improvement 1.4 0 1.9.0 2.0.0 2.0.1 2.0.2 2.1.0 2.2.1 Version
  • 52. Drill-Downs „Modeled relations are comprehensible and reasonable.“
  • 53. Drill-Downs „Modeled relations are comprehensible and reasonable.“ „It is good to get an overall view on the quality of a software product.“
  • 54. Drill-Downs „Modeled relations are comprehensible and reasonable.“ „It is good to get an overall view on the quality of a software product.“ „It clarifies software metrics.“
  • 55. Drill-Downs „Modeled relations are comprehensible and reasonable.“ „It is good to get an overall view on the quality of a software product.“ „It clarifies software metrics.“ „It is the best that can be done with static code analysis.“
  • 61. Integrated attributes, measures and evaluations Modular Automatic and systematic evaluations Base model Calibration
  • 62. Integrated attributes, measures and evaluations Modular Automatic and systematic evaluations Base model Calibration Tool support
  • 63. Integrated attributes, measures and evaluations Modular Automatic and systematic evaluations Base model Calibration Tool support Empirically validated
  • 64. The Benchmark for Software Quality www.uni-stuttgart.de The Quamoco Product Quality Modelling and Assessment Approach Stefan Wagner, Klaus Lochmann, Lars Heinemann, Michael Kläs, Adam Trendowicz, Reinhold Plösch, Andreas Seidl, Andreas Goeb and Jonathan Streit
  • 65. Linear Utility Function 1.0 Measure M4 Linear decreasing 0.74 utility function Utility 0.0 min = 0.0 M4 = 2.17E-06 max = 8.50E-6

Editor's Notes

  • #2: I‘m delighted to present to you the results on quality modelling and assessment of our three year research project Quamoco.\nI‘ve always found quality an interesting concept because it determines so much about a system, but also it is very complex.\n
  • #3: As David Garvin pointed out: Quality is complex and multifaceted and therefore it is also the source of great confusion“.\nSo what do computer scientists do to handle complexity? They abstract! Researchers have developed a variety of software quality models.\n\n
  • #4: The range of quality models goes from collections of metrics over academic models, domain standards to company-specific models. But none of them has been able to get really broad acceptance. When we set out to work on quality assessments, we wanted to find a good basis. What do you do when there is no clear leader? You looked at the ISO standard, here 9126.\nISO 15005: Road vehicles - Ergonomic aspects of transport information and control systems - Dialogue management principles and compliance procedures\nNHPP: Non-homogeneous Poisson process (reliability growth models)\n
  • #5: It breaks down quality into quality attributes such as reliability or maintainability – the „-ilities“. It then breaks them further down and gives some metrics to measure them.\nHow well is it doing in practice? We asked over a hundred practicioners.\n
  • #6: And the result is not pretty good.\nOnly 28% of the respondents of our international survey said that they use ISO 9126. Only 28%. A bit more than a quarter.\nWhy is that so? We asked in detailed interviews about the reasons.\n
  • #7: The developers told us taht there is a huge gap between the abstract quality attributes of ISO 9126 and the concrete implementation and assessment on the product. Operationalising the quality attributes is considered extremely difficult. Hence, they use some metrics.\nThe existing metrics are concrete but lack a clear connection to quality goals.\n
  • #8: Hence, we have the abstract quality attributes of ISO 9126 or similarly the new standard 25010 as well as various measures.\n
  • #9: And there is this gap that prevents quality attributes from being assessed and measures from clearly contributing to quality goals.\n
  • #10: The Quamoco project has worked three years on providing – among other things – four results to help to overcome this problems.\n
  • #11: The Quamoco project has worked three years on providing – among other things – four results to help to overcome this problems.\n
  • #12: The Quamoco project has worked three years on providing – among other things – four results to help to overcome this problems.\n
  • #13: The Quamoco project has worked three years on providing – among other things – four results to help to overcome this problems.\n
  • #14: The Quamoco project has worked three years on providing – among other things – four results to help to overcome this problems.\n
  • #15: The Quamoco project has worked three years on providing – among other things – four results to help to overcome this problems.\n
  • #16: The Quamoco project has worked three years on providing – among other things – four results to help to overcome this problems.\n
  • #17: \n
  • #18: \n
  • #19: Schließen der Lücke, durchgängie Zusammenhänge\n
  • #20: Beispiel\n
  • #21: The higher in this quality model, the more general the model should be. So on the top level, we have ISO 25010 quality attribute, which are almost applicable to all software products.\nThe product factors should be quite generally applicable but on the measure level, we are often specific for technologies or languages. To have general measures and to decouple them from technical implementations, we introduced instruments.\n
  • #22: For example, we have a product factor „Uselessness of Methods“, which we measure, for example, with „Statically unused method“. This measure is applicable to different languages. Hence, we refine this with an instrument that uses Gendarme for C# and PMD for Java.\n
  • #23: Base model describes qualities important for almost any kind of software\nAim is to use it as basis for more specific quality models and also to be able to apply it directly for very popular paradigms and technologies\nIt has a modular structure\nroot contains quality attributes and very general product factors, modules for object-oriented factors and operationalisation for Java and C#\nmostly static analysis tools and inspection\nprototypical development for C, C++ and GUI\n 284 Faktoren\n 524 Maße\n
  • #24: \n
  • #25: With that, we can do an actual assessment or evaluation of a software product.\nWe measure using the instruments and collect values for all the measures.\nNow, we need evaluations and aggregations for the product factors and quality attributes.\n
  • #26: With that, we can do an actual assessment or evaluation of a software product.\nWe measure using the instruments and collect values for all the measures.\nNow, we need evaluations and aggregations for the product factors and quality attributes.\n
  • #27: \n
  • #28: \n
  • #29: \n
  • #30: From over a hundred systems, found typical distributions, eliminated outliers and analysed quartiles\nThe result of an evaluation function is a value between 0 and one.\n
  • #31: From over a hundred systems, found typical distributions, eliminated outliers and analysed quartiles\nThe result of an evaluation function is a value between 0 and one.\n
  • #32: From over a hundred systems, found typical distributions, eliminated outliers and analysed quartiles\nThe result of an evaluation function is a value between 0 and one.\n
  • #33: From over a hundred systems, found typical distributions, eliminated outliers and analysed quartiles\nThe result of an evaluation function is a value between 0 and one.\n
  • #34: From over a hundred systems, found typical distributions, eliminated outliers and analysed quartiles\nThe result of an evaluation function is a value between 0 and one.\n
  • #35: From over a hundred systems, found typical distributions, eliminated outliers and analysed quartiles\nThe result of an evaluation function is a value between 0 and one.\n
  • #36: The model was a dictation in school, if you have some errors you will get a bad grade\nHere: German school grades but you could plug in any interpretation wodel\n
  • #37: \n
  • #38: \n
  • #39: \n
  • #40: \n
  • #41: \n
  • #42: Eine solche Bewertung muss valide sein, um Entscheidungen darauf abzustützen. Haben wir eine gute Aussage über das System gemacht?\nHier haben wir unsere Bewertungen mit Expertenbewertungen verglichen.\nEs ergab sich fast exakt die gleiche Rangfolge. Wir waren in dieser Auflösung also bereits so gut wie Experten.\n
  • #43: Hier für fünf Subsysteme eines kommerziellen Systems für den Maintainability-Teil.\n
  • #44: \n
  • #45: \n
  • #46: \n
  • #47: \n
  • #48: \n
  • #49: \n
  • #50: \n
  • #51: \n
  • #52: \n
  • #53: \n
  • #54: \n
  • #55: \n
  • #56: And with that I want to close with a a thanks to all the Quamoco partners and supporters!\n
  • #57: \n