SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
The Scientific Method in
  Software Evaluation
     Speaker: Benjamin Heitmann
    <benjamin.heitmann@deri.org>




                                   1
Motivation
               • The Scientific Method guarantees a certain
                     degree of objectivity in Science
               • following it improves quality of work
               • our work takes the form of Software
               • part of the scientific method is evaluation
               • How can Software be evaluated?
                                                                 2
Benjamin Heitmann: The Scientific Method in Software Evaluation
                                                                     2
Overview
               • Is Computer Science a Science ?
                                                                       hy
               • The Scientific Method                                W
               • Reasons to (not) Experiment
               • Evaluating the Design                                 ow
                                                                     H
               • Evaluating the Implementation
                                                                 3
Benjamin Heitmann: The Scientific Method in Software Evaluation
                                                                            3
Is Computer Science a
      Science?
               Reference:
 Denning, Is Computer Science Science ?



                                          4
Denning’s Definition
                     Computer Science:
                     the science of information processes and
                     their interactions with the world
               •     studies artificial and natural information
                     processes
               •     blend of Science, Engineering, Mathematics
                     and Art

                                                                 5   Chapter 1 of 5
Benjamin Heitmann: The Scientific Method in Software Evaluation
                                                                                      5
Other Definitions

               •     the study of phenomena related to
                     computers [Newell, Perlis and Simon, 1967]
               •     the study of information structures
                     [Wegner, 1968]
               •     the study and management of complexity
                     [Dijkstra, 1969]


                                                                 6   Chapter 1 of 5
Benjamin Heitmann: The Scientific Method in Software Evaluation
                                                                                      6
Real Science
                     Francis Bacon:
                          Scientific Method:
               • Process of forming hypotheses and verifying
                     them through experimentation
               • Successful hypotheses become models
                     explaining and predicting the world


                                                                 7
Benjamin Heitmann: The Scientific Method in Software Evaluation       Chapter 1 of 5
                                                                                      7
Example
               • Example: the study of algorithms
               • e.g.: sort algorithms
               • Hypothesis:
                     An algorithm executes with certain
                     performance, time and storage requirements
               • Verification: by experimentation with real
                     world data

                                                                 8
Benjamin Heitmann: The Scientific Method in Software Evaluation       Chapter 1 of 5
                                                                                      8
Non-obvious problems solved
                  by computing principles
                    Computation:                                     Communication:

                    Non-computability of                             Lossy but high-fidelity
                    some important                                   audio compression
                    problems
                                                                     Secure cryptographic key
                    Optimal algorithms for                           exchange in open
                    some common problems                             networks

                                                                     Design: Objects and
                                                                     information hiding



                                                                 9                Chapter 1 of 5
Benjamin Heitmann: The Scientific Method in Software Evaluation
                                                                                                   9
Interdisciplinary
                                  Research
                     Constantly new relationships with other
                     research fields:
                   • Bioinformatics
                   • Cognitive science
                   • Computer linguistics
                   • Immersive computing
                   • Quantum computing
Benjamin Heitmann: The Scientific Method in Software Evaluation 10   Chapter 1 of 5
                                                                                     10
True Science needs
                           Validation
                     Tichy:
                     50 % of CS papers proposing models and
                     hypotheses are not validated (papers
                     published before 1995)
                     In other fields, only 15 % not validated.



Benjamin Heitmann: The Scientific Method in Software Evaluation 11   Chapter 1 of 5
                                                                                     11
The Scientific Method
                      Reference:
Dodig-Crnkovic, Scientific Methods in Computer Science




                                                        12
Diagram of the Scientific
                    Method
1                          2                            3
      Existing
    Theories and                Hypothesis                  Predictions
    Observations

                     adjust
                   Hypothesis
                                         4 Tests and new
6 Select among
     competing
                                             Observations
      theories
                    5 Confirm old
                      theory or                                 Recursive
                                         consistency
                     propose new
                                                                and cyclic
                                          achieved
                        theory
                                    13                  Chapter 2 of 5
                                                                             13
Advantages

               • Reproducible Results
               • Impartiality
               • Acceptance based on results of logical
                     reasoning, observations and experiments



Benjamin Heitmann: The Scientific Method in Software Evaluation 14   Chapter 2 of 5
                                                                                     14
Scientific Methods of
                    Computer Science

               • Overlying principle: Modeling
               • Theoretical CS
               • Experimental CS
               • Computer Simulation

Benjamin Heitmann: The Scientific Method in Software Evaluation 15   Chapter 2 of 5
                                                                                     15
Reasons to (not)
           experiment
                   Reference:
Tichy, Should Computer Scientists Experiment More?


                                                     16
Reasons for
                             experimentation
               • Falsification of theories
               • Revealing of assumptions
               • Eliminate alternative explanations
               • Enable induction: deriving theories from
                     observation



Benjamin Heitmann: The Scientific Method in Software Evaluation 17   Chapter 3 of 5
                                                                                     17
But “experiments cost
                      to much”
               • Experimentation requires more resources
                     then theory, so why do it?
               • Rebuttal:
                • Meaningful experiments can fit into small
                         budgets
                   • Expensive experiments can be worth
                         more than their cost


Benjamin Heitmann: The Scientific Method in Software Evaluation 18   Chapter 3 of 5
                                                                                     18
But “too many variables”
               • Impossible to control all variables
               • useless results
               • Rebuttal:
                  • create benchmarks
                  • control variables and errors like e.g. in
                             medicine


Benjamin Heitmann: The Scientific Method in Software Evaluation 19   Chapter 3 of 5
                                                                                     19
But “experimentation
                    slows progress”

               • Slower flow of ideas, if experimentation is
                     required
               • Rebuttal: better identification of
                     questionable ideas




Benjamin Heitmann: The Scientific Method in Software Evaluation 20   Chapter 3 of 5
                                                                                     20
But “technology changes
                    to fast”

               • Experiment duration exceeds lifetime of
                     software tool / product
               • Rebuttal: question is too narrow


Benjamin Heitmann: The Scientific Method in Software Evaluation 21   Chapter 3 of 5
                                                                                     21
Evaluating the Design

                     Reference:
Leist, Zellner; Evaluation of Current Architecture
                    Frameworks




                                                     22
Methodology

               1. establish theoretical foundation
               2. create list of features based on foundation
               3. analyse if subjects exhibit features




Benjamin Heitmann: The Scientific Method in Software Evaluation 23   Chapter 4 of 5
                                                                                     23
Evaluating Enterprise
                      Architecture Descriptions
               • Theoretical foundation: Method Engineering
               • List of features:
                        •    Meta Model

                        •    Procedure Model

                        •    Modeling Technique

                        •    Role document

                        •    Specification Document


Benjamin Heitmann: The Scientific Method in Software Evaluation 24   Chapter 4 of 5
                                                                                     24
Another in
         Table 1 Evaluation of current Architectures
                                                                                         very balan
                                                                                         shows for




                            C4ISR/DoDAF
                                                                                         methodic p
                                                                                         appropriate




                                                                       Zachman
                                                               TOGAF
                                                                                         objectives




                                                        TEAF
                                           FEAF

                                                  MDA
                     ARIS
                                                                                         further rese
                                                                                         focus on si
                                                                                         appropriate
                                                               quot;
                      !     !              !      !     !              !
Specification
document
                                                                                         7.           R
                            #              quot;            #      quot;       #
                      !                           !
Meta model
                     quot;      #                     #            quot;       quot;
                                           !            !
Role                                                                                     [1]   Arch
                                                                                               (MDA
                                           quot;      #     quot;      #       quot;
                      !     !
Technique
                                                                                               http:/
                     quot;                                                 #
                            !              !      !     !      !
Procedure model
                                                                                               (Acc
                   ! Fully accomplished
         Legend:
                                                                                         [2]   Blevi
                   # Partly accomplished
                                                                                               and M
                   quot; Not accomplished
                                                                                               ADM
For most of the architecture frameworks the strengths and                                      2005
weaknesses are very balanced. The adequacy of a architecture                             [3]   Bran
framework to support a development project could be evaluated                                  archi
only in consideration of specific circumstances of a case.                               [4]   Brink
                                          25                            Chapter 4 of 5
                                                                                               Meth
The results of the evaluation indicate at the same time potentials                               25
Evaluating the
           Implementation
                       Reference:
Bansiya, Evaluating Framework Architecture Structural
                        Stability


                                                        26
Methodology

               1. establish hypothesis
               2. Identify characteristics related to hypothesis
               3. define metrics to assess each characteristic
               4. collect data from metrics
               5. determine if data supports hypothesis


Benjamin Heitmann: The Scientific Method in Software Evaluation 27   Chapter 5 of 5
                                                                                     27
Evaluating Structural Stability of Windows
                       Application Frameworks

               • Hypothesis: extent of change stabilises with
                     maturity
                       Characteristics                                    Metric
                     Design Size in Classes                               count
                        number of single/
                                                                           count
                       multiple inheritances
                       average inheritance                          divide sum of maximum
                                                                    path lengths of all classes
                           depth/width                                by number of classes

Benjamin Heitmann: The Scientific Method in Software Evaluation 28                   Chapter 5 of 5
                                                                                                     28
taking the difference of the aggregate-change (Vi) of a version (i,with i > 0) with the aggregate-

change (V1) value of the first version.



      Table 4. Normalized architecture assessment metric values of MFC and OWL frameworks

       Design Metric       MFC       MFC     MFC          MFC     MFC    OWL    OWL      OWL      OWL
                            1.0       2.0     3.0          4.0     5.0    4.0    4.5      5.0      5.2
                             1        1.28    1.43         1.56   1.13     1     1.73     2.51    1.00
        Design Size
                             1         1       1            5     1.20     1     1.33     1.81    0.93
        Hierarchies
                             1        1.27    1.39         1.49   1.11     1     1.65     3.61    0.98
    Single Inheritances
                             1        1.00    1.00         1.00   1.00     1     1.44     2.31    1.00
    Multiple Inheritance
                             1        1.26    1.16         0.95   0.99     1     1.04     1.75    0.99
    Depth of Inheritance
                             1        0.99    0.98         0.96   0.98     1     0.94     1.33    0.98
    Width of Inheritance
                             1        1.26    1.16         0.95   0.99     1     0.97     1.61    0.99
     Number of Parents
                             1        1.70    1.26         1.20   0.96     1     0.87     1.55    0.99
    Number of Methods
                             1        1.26    1.19         1.03   0.96     1     1.21     2.09    1.00
      Class Coupling
                            9.0      11.01   10.57        14.14   9.31    9.0   11.18    18.57    8.86
   Aggregate Change (Vi )
  Extent-of-Change(Vi -V1) 0.0        2.01    1.57         5.14   0.31    0.0    2.18     9.57    -0.14




        The extent-of-change measure can be used as an indicator (index) of framework architecture

stability. The value of the measure indicates the relative stability of the architecture structure, while
                                                     29                          Chapter 5 of 5
higher values of the measure are reflective of higher instability in the structure, values closer to zero
                                                                                                            29
Conclusion
               • Computer Science is a true science
               • In order to have measurable results you have
                     to choose hypotheses which can actually be
                     measured.
               • Remember falsifiability tests!
               • Measure your own progress, by evaluating
                     your approach


Benjamin Heitmann: The Scientific Method in Software Evaluation 30
                                                                    30
References:


                     Denning, Is Computer Science Science? : http://cs.gmu.edu/cne/pjd/PUBS/
                     CACMcols/cacmApr05.pdf


                     Dodig-Crnkovic, Scientific Methods in Computer Science: http://
                     www.mrtc.mdh.se/publications/0446.pdf


                     Tichy, Should Computer Scientists Experiment More? : http://
                     ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=675631


                     Leist, Zellner, Evaluation of Current Architecture Frameworks : http://
                     portal.acm.org/citation.cfm?id=1141635


                     Bansiya, Evaluating Framework Architecture Structural Stability: http://
                     portal.acm.org/citation.cfm?doid=351936.351954


                     Brown, Wallnau, A Framework for Evaluating Software Technology: http://
                     ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=536457


Benjamin Heitmann: The Scientific Method in Software Evaluation
                                                                                                31

Más contenido relacionado

Similar a Applying the scientific method in Software Evaluation

SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationOpenLearningLab
 
A Pragmatic Perspective on Software Visualization
A Pragmatic Perspective on Software VisualizationA Pragmatic Perspective on Software Visualization
A Pragmatic Perspective on Software VisualizationArie van Deursen
 
633-600 Machine Learning
633-600 Machine Learning633-600 Machine Learning
633-600 Machine Learningbutest
 
Bm Systems Disruptive Innovation E Conference 20052010 Manuel Gea
Bm Systems Disruptive Innovation E Conference 20052010 Manuel GeaBm Systems Disruptive Innovation E Conference 20052010 Manuel Gea
Bm Systems Disruptive Innovation E Conference 20052010 Manuel GeaManuel GEA - Bio-Modeling Systems
 
empirical software engineering, v2.0
empirical software engineering, v2.0empirical software engineering, v2.0
empirical software engineering, v2.0CS, NcState
 
Applying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software EngineeringApplying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software EngineeringMajed Ayyad
 
The Science of Software Testing - Experiments, Evolution & Emergence (2011)
The Science of Software Testing - Experiments, Evolution & Emergence (2011)The Science of Software Testing - Experiments, Evolution & Emergence (2011)
The Science of Software Testing - Experiments, Evolution & Emergence (2011)Neil Thompson
 
Machine Learning
Machine LearningMachine Learning
Machine Learningbutest
 
Knowledge based systems
Knowledge based systemsKnowledge based systems
Knowledge based systemsMinoo N
 
Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...
Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...
Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...sipcworkshop
 
Action research for_librarians_carl2012
Action research for_librarians_carl2012Action research for_librarians_carl2012
Action research for_librarians_carl2012srosenblatt
 
Think Big Analytics AWS for Financial Services
Think Big Analytics AWS for Financial ServicesThink Big Analytics AWS for Financial Services
Think Big Analytics AWS for Financial ServicesAmazon Web Services
 
OO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentOO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentRandy Connolly
 
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ Harvard
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ HarvardComputation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ Harvard
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ HarvardHumanity Plus
 
SDPM - Lecture 2 -The STEP WISE Approach to Project Planning
SDPM - Lecture 2 -The STEP WISE Approach to Project PlanningSDPM - Lecture 2 -The STEP WISE Approach to Project Planning
SDPM - Lecture 2 -The STEP WISE Approach to Project PlanningOpenLearningLab
 

Similar a Applying the scientific method in Software Evaluation (20)

C D tutorial
C D tutorialC D tutorial
C D tutorial
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimation
 
Lecture2 - Machine Learning
Lecture2 - Machine LearningLecture2 - Machine Learning
Lecture2 - Machine Learning
 
A Pragmatic Perspective on Software Visualization
A Pragmatic Perspective on Software VisualizationA Pragmatic Perspective on Software Visualization
A Pragmatic Perspective on Software Visualization
 
633-600 Machine Learning
633-600 Machine Learning633-600 Machine Learning
633-600 Machine Learning
 
Lecture1 - Machine Learning
Lecture1 - Machine LearningLecture1 - Machine Learning
Lecture1 - Machine Learning
 
Bm Systems Disruptive Innovation E Conference 20052010 Manuel Gea
Bm Systems Disruptive Innovation E Conference 20052010 Manuel GeaBm Systems Disruptive Innovation E Conference 20052010 Manuel Gea
Bm Systems Disruptive Innovation E Conference 20052010 Manuel Gea
 
empirical software engineering, v2.0
empirical software engineering, v2.0empirical software engineering, v2.0
empirical software engineering, v2.0
 
Applying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software EngineeringApplying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software Engineering
 
The Science of Software Testing - Experiments, Evolution & Emergence (2011)
The Science of Software Testing - Experiments, Evolution & Emergence (2011)The Science of Software Testing - Experiments, Evolution & Emergence (2011)
The Science of Software Testing - Experiments, Evolution & Emergence (2011)
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Secure360 on Risk
Secure360 on RiskSecure360 on Risk
Secure360 on Risk
 
Knowledge based systems
Knowledge based systemsKnowledge based systems
Knowledge based systems
 
Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...
Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...
Studying the Impact of Ubiquitous Monitoring Technology on Office Worker Beha...
 
Action research for_librarians_carl2012
Action research for_librarians_carl2012Action research for_librarians_carl2012
Action research for_librarians_carl2012
 
Think Big Analytics AWS for Financial Services
Think Big Analytics AWS for Financial ServicesThink Big Analytics AWS for Financial Services
Think Big Analytics AWS for Financial Services
 
OO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentOO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented Development
 
Computation of Things
Computation of ThingsComputation of Things
Computation of Things
 
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ Harvard
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ HarvardComputation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ Harvard
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ Harvard
 
SDPM - Lecture 2 -The STEP WISE Approach to Project Planning
SDPM - Lecture 2 -The STEP WISE Approach to Project PlanningSDPM - Lecture 2 -The STEP WISE Approach to Project Planning
SDPM - Lecture 2 -The STEP WISE Approach to Project Planning
 

Más de Benjamin Heitmann

A new direction for recommender systems: balancing privacy and personalisation
A new direction for recommender systems: balancing privacy and personalisationA new direction for recommender systems: balancing privacy and personalisation
A new direction for recommender systems: balancing privacy and personalisationBenjamin Heitmann
 
Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...
Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...
Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...Benjamin Heitmann
 
Lessons and requirements from a decade of deployed Semantic Web apps
Lessons and requirements from a decade of deployed Semantic Web appsLessons and requirements from a decade of deployed Semantic Web apps
Lessons and requirements from a decade of deployed Semantic Web appsBenjamin Heitmann
 
An architecture for privacy-enabled user profile portability on the Web of Data
An architecture for privacy-enabled user profile portability on the Web of DataAn architecture for privacy-enabled user profile portability on the Web of Data
An architecture for privacy-enabled user profile portability on the Web of DataBenjamin Heitmann
 
What your hairstyle says about your political preferences, and why you should...
What your hairstyle says about your political preferences, and why you should...What your hairstyle says about your political preferences, and why you should...
What your hairstyle says about your political preferences, and why you should...Benjamin Heitmann
 
Enabling Case-Based Reasoning on the Web of Data (How to create a Web of Exp...
Enabling Case-Based Reasoning  on the Web of Data (How to create a Web of Exp...Enabling Case-Based Reasoning  on the Web of Data (How to create a Web of Exp...
Enabling Case-Based Reasoning on the Web of Data (How to create a Web of Exp...Benjamin Heitmann
 
Implementing Semantic Web applications: reference architecture and challenges
Implementing Semantic Web applications:  reference architecture and challengesImplementing Semantic Web applications:  reference architecture and challenges
Implementing Semantic Web applications: reference architecture and challengesBenjamin Heitmann
 
Representing discourse and argumentation as an application of Web Science
Representing discourse and argumentation as an application of Web ScienceRepresenting discourse and argumentation as an application of Web Science
Representing discourse and argumentation as an application of Web ScienceBenjamin Heitmann
 
Web Science: Motivation, Goals and Contributions
Web Science: Motivation, Goals and ContributionsWeb Science: Motivation, Goals and Contributions
Web Science: Motivation, Goals and ContributionsBenjamin Heitmann
 
Presentation of current research: distributed architecture for recommendation...
Presentation of current research: distributed architecture for recommendation...Presentation of current research: distributed architecture for recommendation...
Presentation of current research: distributed architecture for recommendation...Benjamin Heitmann
 
Lessons learned from Futures Studies: Towards a method for Web Science
Lessons learned from Futures Studies: Towards a method for Web ScienceLessons learned from Futures Studies: Towards a method for Web Science
Lessons learned from Futures Studies: Towards a method for Web ScienceBenjamin Heitmann
 
RDFa: putting RDF on the Web
RDFa: putting RDF on the WebRDFa: putting RDF on the Web
RDFa: putting RDF on the WebBenjamin Heitmann
 
Transitioning web application frameworks towards the Semantic Web (master the...
Transitioning web application frameworks towards the Semantic Web (master the...Transitioning web application frameworks towards the Semantic Web (master the...
Transitioning web application frameworks towards the Semantic Web (master the...Benjamin Heitmann
 
Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...
Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...
Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...Benjamin Heitmann
 

Más de Benjamin Heitmann (14)

A new direction for recommender systems: balancing privacy and personalisation
A new direction for recommender systems: balancing privacy and personalisationA new direction for recommender systems: balancing privacy and personalisation
A new direction for recommender systems: balancing privacy and personalisation
 
Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...
Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...
Benjamin Heitmann, PhD defence talk: An Open Framework for Multi-source, Cro...
 
Lessons and requirements from a decade of deployed Semantic Web apps
Lessons and requirements from a decade of deployed Semantic Web appsLessons and requirements from a decade of deployed Semantic Web apps
Lessons and requirements from a decade of deployed Semantic Web apps
 
An architecture for privacy-enabled user profile portability on the Web of Data
An architecture for privacy-enabled user profile portability on the Web of DataAn architecture for privacy-enabled user profile portability on the Web of Data
An architecture for privacy-enabled user profile portability on the Web of Data
 
What your hairstyle says about your political preferences, and why you should...
What your hairstyle says about your political preferences, and why you should...What your hairstyle says about your political preferences, and why you should...
What your hairstyle says about your political preferences, and why you should...
 
Enabling Case-Based Reasoning on the Web of Data (How to create a Web of Exp...
Enabling Case-Based Reasoning  on the Web of Data (How to create a Web of Exp...Enabling Case-Based Reasoning  on the Web of Data (How to create a Web of Exp...
Enabling Case-Based Reasoning on the Web of Data (How to create a Web of Exp...
 
Implementing Semantic Web applications: reference architecture and challenges
Implementing Semantic Web applications:  reference architecture and challengesImplementing Semantic Web applications:  reference architecture and challenges
Implementing Semantic Web applications: reference architecture and challenges
 
Representing discourse and argumentation as an application of Web Science
Representing discourse and argumentation as an application of Web ScienceRepresenting discourse and argumentation as an application of Web Science
Representing discourse and argumentation as an application of Web Science
 
Web Science: Motivation, Goals and Contributions
Web Science: Motivation, Goals and ContributionsWeb Science: Motivation, Goals and Contributions
Web Science: Motivation, Goals and Contributions
 
Presentation of current research: distributed architecture for recommendation...
Presentation of current research: distributed architecture for recommendation...Presentation of current research: distributed architecture for recommendation...
Presentation of current research: distributed architecture for recommendation...
 
Lessons learned from Futures Studies: Towards a method for Web Science
Lessons learned from Futures Studies: Towards a method for Web ScienceLessons learned from Futures Studies: Towards a method for Web Science
Lessons learned from Futures Studies: Towards a method for Web Science
 
RDFa: putting RDF on the Web
RDFa: putting RDF on the WebRDFa: putting RDF on the Web
RDFa: putting RDF on the Web
 
Transitioning web application frameworks towards the Semantic Web (master the...
Transitioning web application frameworks towards the Semantic Web (master the...Transitioning web application frameworks towards the Semantic Web (master the...
Transitioning web application frameworks towards the Semantic Web (master the...
 
Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...
Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...
Leveraging existing Web Frameworks for a SIOC explorer (Scripting for the Sem...
 

Último

Shrambal_Distributors_Newsletter_Apr-2024 (1).pdf
Shrambal_Distributors_Newsletter_Apr-2024 (1).pdfShrambal_Distributors_Newsletter_Apr-2024 (1).pdf
Shrambal_Distributors_Newsletter_Apr-2024 (1).pdfvikashdidwania1
 
How Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of ReportingHow Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of ReportingAggregage
 
20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdf20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdfAdnet Communications
 
Log your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaignLog your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaignHenry Tapper
 
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptxOAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptxhiddenlevers
 
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130Suhani Kapoor
 
20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdf20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdfAdnet Communications
 
Instant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School SpiritInstant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School Spiritegoetzinger
 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneCall girls in Ahmedabad High profile
 
Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111Sapana Sha
 
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...shivangimorya083
 
Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]Commonwealth
 
(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Service
(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Service(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Service
(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...Call Girls in Nagpur High Profile
 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...
Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...
Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...makika9823
 
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Delhi Call girls
 
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service NashikHigh Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Último (20)

Shrambal_Distributors_Newsletter_Apr-2024 (1).pdf
Shrambal_Distributors_Newsletter_Apr-2024 (1).pdfShrambal_Distributors_Newsletter_Apr-2024 (1).pdf
Shrambal_Distributors_Newsletter_Apr-2024 (1).pdf
 
How Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of ReportingHow Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of Reporting
 
Veritas Interim Report 1 January–31 March 2024
Veritas Interim Report 1 January–31 March 2024Veritas Interim Report 1 January–31 March 2024
Veritas Interim Report 1 January–31 March 2024
 
20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdf20240429 Calibre April 2024 Investor Presentation.pdf
20240429 Calibre April 2024 Investor Presentation.pdf
 
Log your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaignLog your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaign
 
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptxOAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
 
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
 
20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdf20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdf
 
Instant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School SpiritInstant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School Spirit
 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
 
Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111Call Girls In Yusuf Sarai Women Seeking Men 9654467111
Call Girls In Yusuf Sarai Women Seeking Men 9654467111
 
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 💋✔💕😘 Naughty Call Girls Se...
 
Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]Monthly Market Risk Update: April 2024 [SlideShare]
Monthly Market Risk Update: April 2024 [SlideShare]
 
(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Service
(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Service(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Service
(TANVI) Call Girls Nanded City ( 7001035870 ) HI-Fi Pune Escorts Service
 
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
VVIP Pune Call Girls Katraj (7001035870) Pune Escorts Nearby with Complete Sa...
 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...
Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...
Independent Lucknow Call Girls 8923113531WhatsApp Lucknow Call Girls make you...
 
Commercial Bank Economic Capsule - April 2024
Commercial Bank Economic Capsule - April 2024Commercial Bank Economic Capsule - April 2024
Commercial Bank Economic Capsule - April 2024
 
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
 
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service NashikHigh Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
 

Applying the scientific method in Software Evaluation

  • 1. The Scientific Method in Software Evaluation Speaker: Benjamin Heitmann <benjamin.heitmann@deri.org> 1
  • 2. Motivation • The Scientific Method guarantees a certain degree of objectivity in Science • following it improves quality of work • our work takes the form of Software • part of the scientific method is evaluation • How can Software be evaluated? 2 Benjamin Heitmann: The Scientific Method in Software Evaluation 2
  • 3. Overview • Is Computer Science a Science ? hy • The Scientific Method W • Reasons to (not) Experiment • Evaluating the Design ow H • Evaluating the Implementation 3 Benjamin Heitmann: The Scientific Method in Software Evaluation 3
  • 4. Is Computer Science a Science? Reference: Denning, Is Computer Science Science ? 4
  • 5. Denning’s Definition Computer Science: the science of information processes and their interactions with the world • studies artificial and natural information processes • blend of Science, Engineering, Mathematics and Art 5 Chapter 1 of 5 Benjamin Heitmann: The Scientific Method in Software Evaluation 5
  • 6. Other Definitions • the study of phenomena related to computers [Newell, Perlis and Simon, 1967] • the study of information structures [Wegner, 1968] • the study and management of complexity [Dijkstra, 1969] 6 Chapter 1 of 5 Benjamin Heitmann: The Scientific Method in Software Evaluation 6
  • 7. Real Science Francis Bacon: Scientific Method: • Process of forming hypotheses and verifying them through experimentation • Successful hypotheses become models explaining and predicting the world 7 Benjamin Heitmann: The Scientific Method in Software Evaluation Chapter 1 of 5 7
  • 8. Example • Example: the study of algorithms • e.g.: sort algorithms • Hypothesis: An algorithm executes with certain performance, time and storage requirements • Verification: by experimentation with real world data 8 Benjamin Heitmann: The Scientific Method in Software Evaluation Chapter 1 of 5 8
  • 9. Non-obvious problems solved by computing principles Computation: Communication: Non-computability of Lossy but high-fidelity some important audio compression problems Secure cryptographic key Optimal algorithms for exchange in open some common problems networks Design: Objects and information hiding 9 Chapter 1 of 5 Benjamin Heitmann: The Scientific Method in Software Evaluation 9
  • 10. Interdisciplinary Research Constantly new relationships with other research fields: • Bioinformatics • Cognitive science • Computer linguistics • Immersive computing • Quantum computing Benjamin Heitmann: The Scientific Method in Software Evaluation 10 Chapter 1 of 5 10
  • 11. True Science needs Validation Tichy: 50 % of CS papers proposing models and hypotheses are not validated (papers published before 1995) In other fields, only 15 % not validated. Benjamin Heitmann: The Scientific Method in Software Evaluation 11 Chapter 1 of 5 11
  • 12. The Scientific Method Reference: Dodig-Crnkovic, Scientific Methods in Computer Science 12
  • 13. Diagram of the Scientific Method 1 2 3 Existing Theories and Hypothesis Predictions Observations adjust Hypothesis 4 Tests and new 6 Select among competing Observations theories 5 Confirm old theory or Recursive consistency propose new and cyclic achieved theory 13 Chapter 2 of 5 13
  • 14. Advantages • Reproducible Results • Impartiality • Acceptance based on results of logical reasoning, observations and experiments Benjamin Heitmann: The Scientific Method in Software Evaluation 14 Chapter 2 of 5 14
  • 15. Scientific Methods of Computer Science • Overlying principle: Modeling • Theoretical CS • Experimental CS • Computer Simulation Benjamin Heitmann: The Scientific Method in Software Evaluation 15 Chapter 2 of 5 15
  • 16. Reasons to (not) experiment Reference: Tichy, Should Computer Scientists Experiment More? 16
  • 17. Reasons for experimentation • Falsification of theories • Revealing of assumptions • Eliminate alternative explanations • Enable induction: deriving theories from observation Benjamin Heitmann: The Scientific Method in Software Evaluation 17 Chapter 3 of 5 17
  • 18. But “experiments cost to much” • Experimentation requires more resources then theory, so why do it? • Rebuttal: • Meaningful experiments can fit into small budgets • Expensive experiments can be worth more than their cost Benjamin Heitmann: The Scientific Method in Software Evaluation 18 Chapter 3 of 5 18
  • 19. But “too many variables” • Impossible to control all variables • useless results • Rebuttal: • create benchmarks • control variables and errors like e.g. in medicine Benjamin Heitmann: The Scientific Method in Software Evaluation 19 Chapter 3 of 5 19
  • 20. But “experimentation slows progress” • Slower flow of ideas, if experimentation is required • Rebuttal: better identification of questionable ideas Benjamin Heitmann: The Scientific Method in Software Evaluation 20 Chapter 3 of 5 20
  • 21. But “technology changes to fast” • Experiment duration exceeds lifetime of software tool / product • Rebuttal: question is too narrow Benjamin Heitmann: The Scientific Method in Software Evaluation 21 Chapter 3 of 5 21
  • 22. Evaluating the Design Reference: Leist, Zellner; Evaluation of Current Architecture Frameworks 22
  • 23. Methodology 1. establish theoretical foundation 2. create list of features based on foundation 3. analyse if subjects exhibit features Benjamin Heitmann: The Scientific Method in Software Evaluation 23 Chapter 4 of 5 23
  • 24. Evaluating Enterprise Architecture Descriptions • Theoretical foundation: Method Engineering • List of features: • Meta Model • Procedure Model • Modeling Technique • Role document • Specification Document Benjamin Heitmann: The Scientific Method in Software Evaluation 24 Chapter 4 of 5 24
  • 25. Another in Table 1 Evaluation of current Architectures very balan shows for C4ISR/DoDAF methodic p appropriate Zachman TOGAF objectives TEAF FEAF MDA ARIS further rese focus on si appropriate quot; ! ! ! ! ! ! Specification document 7. R # quot; # quot; # ! ! Meta model quot; # # quot; quot; ! ! Role [1] Arch (MDA quot; # quot; # quot; ! ! Technique http:/ quot; # ! ! ! ! ! Procedure model (Acc ! Fully accomplished Legend: [2] Blevi # Partly accomplished and M quot; Not accomplished ADM For most of the architecture frameworks the strengths and 2005 weaknesses are very balanced. The adequacy of a architecture [3] Bran framework to support a development project could be evaluated archi only in consideration of specific circumstances of a case. [4] Brink 25 Chapter 4 of 5 Meth The results of the evaluation indicate at the same time potentials 25
  • 26. Evaluating the Implementation Reference: Bansiya, Evaluating Framework Architecture Structural Stability 26
  • 27. Methodology 1. establish hypothesis 2. Identify characteristics related to hypothesis 3. define metrics to assess each characteristic 4. collect data from metrics 5. determine if data supports hypothesis Benjamin Heitmann: The Scientific Method in Software Evaluation 27 Chapter 5 of 5 27
  • 28. Evaluating Structural Stability of Windows Application Frameworks • Hypothesis: extent of change stabilises with maturity Characteristics Metric Design Size in Classes count number of single/ count multiple inheritances average inheritance divide sum of maximum path lengths of all classes depth/width by number of classes Benjamin Heitmann: The Scientific Method in Software Evaluation 28 Chapter 5 of 5 28
  • 29. taking the difference of the aggregate-change (Vi) of a version (i,with i > 0) with the aggregate- change (V1) value of the first version. Table 4. Normalized architecture assessment metric values of MFC and OWL frameworks Design Metric MFC MFC MFC MFC MFC OWL OWL OWL OWL 1.0 2.0 3.0 4.0 5.0 4.0 4.5 5.0 5.2 1 1.28 1.43 1.56 1.13 1 1.73 2.51 1.00 Design Size 1 1 1 5 1.20 1 1.33 1.81 0.93 Hierarchies 1 1.27 1.39 1.49 1.11 1 1.65 3.61 0.98 Single Inheritances 1 1.00 1.00 1.00 1.00 1 1.44 2.31 1.00 Multiple Inheritance 1 1.26 1.16 0.95 0.99 1 1.04 1.75 0.99 Depth of Inheritance 1 0.99 0.98 0.96 0.98 1 0.94 1.33 0.98 Width of Inheritance 1 1.26 1.16 0.95 0.99 1 0.97 1.61 0.99 Number of Parents 1 1.70 1.26 1.20 0.96 1 0.87 1.55 0.99 Number of Methods 1 1.26 1.19 1.03 0.96 1 1.21 2.09 1.00 Class Coupling 9.0 11.01 10.57 14.14 9.31 9.0 11.18 18.57 8.86 Aggregate Change (Vi ) Extent-of-Change(Vi -V1) 0.0 2.01 1.57 5.14 0.31 0.0 2.18 9.57 -0.14 The extent-of-change measure can be used as an indicator (index) of framework architecture stability. The value of the measure indicates the relative stability of the architecture structure, while 29 Chapter 5 of 5 higher values of the measure are reflective of higher instability in the structure, values closer to zero 29
  • 30. Conclusion • Computer Science is a true science • In order to have measurable results you have to choose hypotheses which can actually be measured. • Remember falsifiability tests! • Measure your own progress, by evaluating your approach Benjamin Heitmann: The Scientific Method in Software Evaluation 30 30
  • 31. References: Denning, Is Computer Science Science? : http://cs.gmu.edu/cne/pjd/PUBS/ CACMcols/cacmApr05.pdf Dodig-Crnkovic, Scientific Methods in Computer Science: http:// www.mrtc.mdh.se/publications/0446.pdf Tichy, Should Computer Scientists Experiment More? : http:// ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=675631 Leist, Zellner, Evaluation of Current Architecture Frameworks : http:// portal.acm.org/citation.cfm?id=1141635 Bansiya, Evaluating Framework Architecture Structural Stability: http:// portal.acm.org/citation.cfm?doid=351936.351954 Brown, Wallnau, A Framework for Evaluating Software Technology: http:// ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=536457 Benjamin Heitmann: The Scientific Method in Software Evaluation 31