


























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of research methods in software engineering, focusing on deductive analytical models and experimental designs. It discusses the role of research paradigms, experimental classifications, and the importance of gaining understanding about the usefulness of tools through experiments and the scientific method. The document also covers the experimental discipline, types of analysis, and the importance of validity in experimental designs.
Typology: Study notes
1 / 34
This page cannot be seen from the preview
Don't miss anything!



























Software techniques, methods, models. etc. need to be validated via experimentation refined and tailored to the application environment logically or physically integrated be easily transferred into practice
There is a need to
understand the relationships between process and product learn and evolve our knowledge based upon experience
We need an experimental, evolutionary software development framework that deals with the symbiotic relationship between research and development so that learning can take place in a practical way
Experimentation can take many forms
Need research to establish a scientific and engineering basis for software engineering
Required research methods involve the need to build, analyze, and evaluate
models of the software processes and products various aspects of the environment, e.g the people, the organization and the interactions of these models.
The goal is to develop the conceptual scientific foundations of software engineering upon which future researchers can build.
This is often a process of
discovering and validating small but important concepts that can be applied in many different ways and that can be used to build more complex and advanced ideas rather than merely providing a tool or methodology without
experimental validation of its underlying assumptions or careful analysis and verification of its properties
A fact is information obtained through direct observation
A hypothesis is an educated guess that precedes an experiment
An experiment is -- a test, trial or tentative procedure policy; -- an act or operation for the purpose of discovering something unknown or of testing a principle, supposition, etc.; -- an operation carried out under controlled conditions in order to discover an unknown effect or law, to test or establish a hypothesis, or to illustrate a known law
The Scientific Method is an inductive paradigm which can be used to: understand the software process, product, people, environment extract models from the world that explain underlying phenomena, and evaluate if the model is representative of the phenomenon observed
Example: an attempt to understand the way software is developed by an organization to see if their process model can be abstracted or a tool can be built to automate the process
There are two variations of the inductive paradigm which we will call the
engineering method empirical method
The Engineering Method:
observe existing solutions, propose better solutions, build/develop, measure and analyze, and repeat the process until no more improvements appear possible.
This version of the paradigm is
an evolutionary improvement oriented approach assumes models exist modifies model to improve the thing being studied
Example: study improvements to methods or demonstrate that a tool performs better than its predecessor relative to certain characteristics
The Empirical Method:
propose a model, develop statistical/qualitative methods, apply to case studies, measure and analyze, validate the model and repeat the procedure.
This version of the paradigm is
a revolutionary improvement oriented approach proposes a new model studies effects of process or product suggested by the new model
Example: proposal of a new method or tool and validation that the model or tool is an advance over current models or tools
There must be a rationale for collecting data.
Experiments must be designed to acquire information useful for the building of a suitable description (model or theory) of the systems under study. It is an approach to model/theory/law building.
Experimentation alone is of no value if there is no underlying framework or context where experimental results can be interpreted.
Other issues involved in these inductive, experimental methods include
Level of variable relationship
Descriptive: there may be patterns in the data but the relationship among the variables has not been examined
Correlational: the variation in the dependent variable(s) is related to the variation of the independent variable (s)
Cause-effect: the treatment variable(s) is the only possible cause of variation in the dependent variable(s)
Experience of Subjects novice: students or individuals not experienced in domain experts: practitioners or people with experience in domain
Experimental Setting In vivo: in the field under normal conditions In vitro: in the laboratory under controlled conditions
Type of Study Experiment: at least one treatment or controlled variable Observational study: no treatment or controlled variables
Types of Analysis
Quantitative Analysis
Qualitative Analysis
Study
Studies can be
Eight different classes of extraneous variables, which, if not controlled in the experimental design, might produce effects confounded with the effect of the experimental stimulus.
The factors jeopardizing external validity or representativeness are:
Design 4: The pretest post test Control Group design R O 1 X O 2 R O 3 O 4
Design 5: The Solomon Four group design
R O 1 X O 2 R O 3 O 4 R X O 5 R O 6
Design 6: Posttest Only Control Group Design
R X O 1 R O 2
Factorial Designs: Several treatments (ala Design 6) R X 1 O 1 R X 2 O 2 R X 3 O 3 … R Xn On
Can be done with Design 4 and 5 also
Can be done with a control group as well
When the experimenter lacks full control over the scheduling of experimental stimuli, something like an experimental design can be introduced
Time Series Design O 1 O 2 O 3 O 4 X O 5 O 6 O 7 O 8
Equivalent Time Samples Design X 1 O 1 , X 2 O 2 , X 1 O 3 , X 2 O 4 , (^) .. …
Non-Equivalent Control Group Design O X O O O
Campbell & Stanley, Experimental and Quasi-experimental Designs for Research
There are several different approaches to experimenting in the software domain
The approaches vary in
•Level of variable relationship
•Cost
Observational studies
Qualitative/quantitative analysis: observer has identified, a priori, a set of variables for observation There are a large number of case studies and some field studies
observation
A priori defined No a priori defined variables variables
# of
Sites
One Case Study Case Qualitative Study
More than Field Study Field Qualitative One Study
Sign of maturity in a field: level of sophistication of the goals of an experiment understanding interesting things about the discipline
For software engineering that might mean:
Can we build models that allow use to measure and differentiate processes and products?
Can we measure the effect of a change in a particular process variable on the product variable?
Can we predict the characteristics of a product (values of product variable) based upon the model of the process (values of the process variables), within a particular context?
Can we control for product effects, based upon goals, given a particular set of context variables?
Sign of maturity in a field: a pattern of knowledge built from a series of experiments
Does the discipline build on prior (knowledge, models, experiments).
Was the study an isolated event?
Did it lead to other studies that made use of the information obtained from it Have studies been replicated under similar or differing conditions?
Does the building of knowledge exist in one research group or environment, or has it spread to others - researchers building on each other's experimental work?
For example, inspections, in general, are well studied experimentally
However, there has been very little combining of results, replication, analysis of the differentiating variables
Early experiments (Hetzel, Meyers) showed very little difference between reading and testing
But reading was simply reading, without a technological base
We discuss a series of experiments at the University of Maryland and at NASA used to learn about, evaluate, and evolve reading techniques
This example
The experiments start with the early reading vs. testing experiments to various Cleanroom experiments to the scenario based reading techniques currently under study
# Projects
One More than one
# of Teams
per Project
One 3. Cleanroom 4. Cleanroom (SEL Project 1) (SEL Projects, 2,3,4,...)
More than 2. Cleanroom 1. Reading vs. Testing one at Maryland 5. Scenario reading vs. ...
When introducing any form of process, method or tool, the organization needs to evaluate its effectiveness
That effectiveness of a process can be measured by higher than normal quality cheaper development costs improved cycle time to delivery improved product functionality more predictable behavior … It is important to understand the relationship between the process and the product It is important to have a data as a basis of comparison