Understanding Case Studies in Empirical Software Engineering: Types & Analysis, Assignments of Integrated Case Studies

An in-depth exploration of case studies in empirical software engineering. It covers the definition of case studies, their types (causal and exploratory), study propositions, unit of analysis, and the process of generalizing findings from a case study to theory. The document also discusses analytic and statistical generalization, data analysis strategies, and the characteristics and benefits of case study analysis.

Typology: Assignments

2019/2020

Uploaded on 08/04/2020

dan-bilzerian-1
dan-bilzerian-1 🇮🇳

1 document

1 / 55

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
382C Empirical Studies in Software Engineering Lecture 6
© 2000-present, Dewayne E Perry 1
© 2000-present, Dewayne E Perry
Case Studies
Dewayne E Perry
ENS 623
Adapted from Perry, Sim & Easterbrook,Case Studies for Software Engineering, ICSE 2004 Tutorial
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37

Partial preview of the text

Download Understanding Case Studies in Empirical Software Engineering: Types & Analysis and more Assignments Integrated Case Studies in PDF only on Docsity!

382C Empirical Studies in Software Engineering

Lecture 6

© 2000-present, Dewayne E Perry © 2000-present, Dewayne E Perry

Case Studies^ Dewayne E Perry

ENS 623

[email protected]

Adapted from Perry, Sim & Easterbrook,Case Studies for Software Engineering, ICSE 2004 Tutorial

382C Empirical Studies in Software Engineering

Lecture 6

What is a case study?

™^ A case study is an empirical research method.^ 

It is not a subset or variant of other methods, such asexperiments, surveys or historical study.

™^ Best suited to applied problems that need to be studied incontext.^ 

Phenomena under study cannot be separated from context.Effects can be wide-ranging.  How and why questions

™^ Settings where researcher has little control overvariables, e.g. field sites. ™^ Effects take time to appear.^ 

Days, weeks, months, or years rather than minutes or hours.

382C Empirical Studies in Software Engineering

Lecture 6

Why conduct a case study?

™^ To gain a deep understanding of a phenomenon^ 

Example: To understand the capability of a new tool  Example: To identify factors affecting communication in codeinspections  Example: To characterize the process of coming up to speedon a project

™^ Objective of Investigation^ 

Exploration- To find what’s out there  Characterization- To more fully describe  Validation- To find out whether a theory/hypothesis is true

™^ Subject of Investigation^ 

An intervention, e.g. tool, technique, method, approach todesign, implementation, or organizational structure  An existing thing or process, e.g. a team, releases, defects

382C Empirical Studies in Software Engineering

Lecture 6

When to use case studies

Strategy

Form of Research

Question

Requires Controlof Behavioral

Events?

Focuses oncontemporaryevents?

Experiment

How, why?

Yes^

Yes

Survey

Who, what, where,how many, how much?

No^

Yes

ArchivalAnalysis

Who, what where,how many, how much?

No^

Yes/No

History

How, why?

No^

No

Case Study

How, why?

No^

Yes

382C Empirical Studies in Software Engineering

Lecture 6

What is a case study?

™^ A case study is an empirical inquiry that^ 

Investigates a contemporary phenomenon within its real-lifecontext, especially when  The boundaries between phenomenon and context are notclearly evident.

™^ The case study inquiry^ 

Copes with the technically distinctive situation in which therewill be many more variables of interest that data points, andas one result  Relies on multiple sources of evidence, with data needing toconverge in a triangulating fashion, and as another result  Benefits from the prior development of theoreticalpropositions to guide data collection and analysis.

382C Empirical Studies in Software Engineering

Lecture 6

Parts of a Case Study Research Design

™^ A research design is a “blueprint” for a study^ 

Deals more with the logic of the study than the logistics  Plan for moving from questions to answers  Ensures that the data is collected and analyzed to producean answer to the initial research question  Strong similarities between a research design and a systemdesign

™^ Five parts of a case study research design^ 1.

Research questions 2. Propositions (if any) 3. Unit(s) of analysis 4. Logic linking the data to the propositions 5. Criteria for interpreting the findings

382C Empirical Studies in Software Engineering

Lecture 6

Types of Case Studies

™^ Explanatory^ 

Adjudicates between competing explanations  Example: How important is implementation bias in requirementsengineering?^ ¾^ Rival theories: existing architectures are useful for anchoring, vs.existing architectures are over-constraining during RE ™^ Descriptive^ 

Describes sequence of events and underlying mechanisms  Example: How does pair programming actually work?  Example: How do software immigrants naturalize? ™^ Causal^ 

Looks for causal relationship between concepts  Example: Requirements errors are more likely to cause safety-related defects than programming errors are^ ¾^ See study by Robyn Lutz on the Voyager and Galileo spacecraft ™^ Exploratory^ 

Criteria or parameters instead of purpose  Example: Christopher Columbus’ voyage to the new world  Example: What do CMM level 3 organizations have in common?

382C Empirical Studies in Software Engineering

Lecture 6

Part 2:

Study Propositions

™^ Propositions are statements that help direct attention tosomething that should be examined in the case study, i.e.point to what should be studied^ 

Example: “Organizations collaborate because they derivemutual benefits”

™^ Propositions will tell you where to look for relevantevidence^ 

Example: Define and ascertain the specific benefits to eachorganization

™^ Some studies may not have propositions – this implies atopic of “exploration”^ 

Note: Even exploratory studies should have both clearly-stated purposes and clearly-stated criteria for success

382C Empirical Studies in Software Engineering

Lecture 6

Examples of Units of Analysis

™^ For a study of how software immigrants naturalize^ 

Individuals  Development team  Organization

™^ For a study of pair programming^ 

Programming episode  Pairs of programmers  Development team  Organization

™^ For a study of software evolution^ 

Modification report  File  System  Release  Stable release

382C Empirical Studies in Software Engineering

Lecture 6

Part 4:

Linking Logic

™^ Logic or reasoning to link data to propositions ™^ One of the least well developed components in casestudies ™^ Many ways to perform this, but none as precisely definedas the treatment/subject approach used in experiments ™^ One possibility is pattern matching^ 

Describe several potential patterns, then compare the casestudy data to the patterns and see which one is closer

382C Empirical Studies in Software Engineering

Lecture 6

Generalizing from Case Study to Theory

™^ “The appropriately developed theory is also at the levelat which generalization of the case study results willoccur” ™^ Theory for case studies is characterized as analyticgeneralization and is contrasted with another way ofgeneralizing results known as statistical generalization ™^ Understanding the difference between these two types ofgeneralization is important

382C Empirical Studies in Software Engineering

Lecture 6

Analytical and Statistical Generalization

Figure 2.2 Making Inferences: Two Levels

382C Empirical Studies in Software Engineering

Lecture 6

Analytical Generalization

™^ Previously developed theory is used as a template withwhich to compare the empirical results of the case study ™^ If 2 or more cases support the same theory, replicationmay be claimed ™^ Results may be considered more “potent” if 2 or morecases support the same theory but don’t support the samerival theory ™^ Analytical generalizations are considered a Level 2Inference ™^ Aim toward analytical generalization in doing case studies^ 

Avoid thinking in terms of samples when doing case studies

382C Empirical Studies in Software Engineering

Lecture 6

How can I evaluate a case study?

™^ Using the same criteria for other empirical research ™^ Construct Validity^ 

Concepts being studied are operationalized and measuredcorrectly

™^ Internal Validity^ 

Establish a causal relationship and distinguish spuriousrelationships

™^ External Validity^ 

Establish the domain to which a study’s findings can begeneralized

™^ Experimental Reliability^ 

Demonstrate that the study can be repeated with the sameresults