An Experimental Framework

advertisement
Software Engineering
Experimentation
An Experimental Framework
Jeff Offutt
http://www.cs.gmu.edu/~offutt/
Experimental Framework
•
Victor Basili, Richard Selby and David Hutchens,
“Experimentation in Software Engineering”, IEEE
Transactions on Software Engineering, SE-12(7):733–743,
July 1986
•
•
A little old but still relevant and helpful
Three objectives
1. Framework for performing experiments
2. Classify and discuss experiments
3. Problem areas and lessons learned
© Jeff Offutt, 2005-2012
2
Framework
Four categories
1.
2.
3.
4.
Definition
Planning
Operation
Interpretation
– Problem definition and hypothesis
– Design
– Conduct test
– Hypothesis test, disseminate
© Jeff Offutt, 2005-2012
3
Framework – 1. Definition
Motivation
(why)
Object
(what)
Purpose
(what)
Perspective
(who)
Domain
(which)
Understand
Assess
Manage
Engineer
Learn
Improve
Validate
Assure
Product
Process
Model
Metric
Theory
Characterize
Evaluate
Predict
Motivate
Developer
Modifier
Maintainer
Project
manager
Corp. manager
Customer
User
Researcher
Programmer
Program /
project
© Jeff Offutt, 2005-2012
Scope
(which)
Single project
Multi-project
Replicated project
Blocked subjectproject
4
Framework – 2. Planning
Design
(samples, control)
Criteria
(what to measure)
Measurement
(how to measure)
Experimental designs
Incomplete block
Completely
random
Randomized block
Fractional factorial
Multivariate analysis
Correlation
Factor analysis
Regression
Statistical models
Non-parametric
Sampling
Direct reflections of cost / quality
Cost
Errors
Changes
Reliability
Correctness
Indirect reflections of cost / quality
Data coupling
Information visibility
Programmer comprehension
Execution coverage
Size
Complexity
Metric definition
Goal-question-metric
Factor-criteria-metric
Metric validation
Data collection
Automatability
Form design and test
Objective vs. subjective
Level of measurement
Nominal / classificatory
Ordinal / ranking
Interval
Ratio
© Jeff Offutt, 2005-2012
5
Framework – 3. Operation
Preparation
Pilot study
Execution
Data collection
Data validation
© Jeff Offutt, 2005-2012
Analysis
Quantitative vs. qualitative
Preliminary data analysis
Plots and histograms
Model assumptions
Primary data analysis
Model application
6
Framework – 4. Interpretation
Interpretation
context
Statistical framework
Study purpose
Field of research
Extrapolation
Impact
Sample representativeness Visibility
Replication
Application
© Jeff Offutt, 2005-2012
7
Framework Example Definition
Definition Element
Example
Motivation
To improve unit testing
Object
characterize and evaluate
Purpose
the process of functional & structural testing
Perspective
from the perspective of the developer
Domain: programmer
Domain: program
as they are applied by experienced
programmers
to unit-size software
Scope
in a blocked subject-project study
© Jeff Offutt, 2005-2012
8
Download