Case Studies as Empirical Research Methods
April, 15th 2009
Software engineering research in general (and software evolution research in particular) must seek to validate its techniques in an realistic context. Indeed, "in vitro" research is necesary to understand where and why a given technique makes a difference. However, it must be followed by "in vivo" research to see whether a given technique delivers upon its promises under the harsh conditions of reality. This explains why Case studies are one of the dominant research methods in Software Engineering, as they provide a lightweight approach to "in vivo" research.
However, what precisely does it mean to do a case study ? When does a case becomes so simple that we speak of a toy-example ? How do we avoid that as a researcher to get too involved (and biased) ?
During this symposium we will try to (at least partially) address these questions. Two leading researchers (namely Prof. Arie Van Deursen from the Delft University of Technology - The Netherlands and Prof. Per Runeson from the Lund University - Sweden) will share their experience with the case study research method in two presentations.
The symposium will be held on Wednesday, April 15th 2009 between 13:30 and 15:30 in the University of Antwerp - Department of Mathematics and Computer Science. (The program, directions on how to get there and other practical information can be found at http://www.lore.ua.ac.be/Events/MovesCasestudies2009/). The symposium will be followed by the Ph.D. defense of Bart Van Rompaey concerning Developer testing as an asset during software evolution: a series of empirical studies.
Both the symposium and the ph.d. defense are open to everyone interested and free of charge. However participants should register by sending an e-mail to Prof. Serge Demeyer.
This symposium is organized as an event for the MoVES (Modeling, verification and evolution of software) project. Consequently, it is sponsored by the Belgian Science Policy, under theInteruniversity Attraction Poles (IAP) programme.
- 13:30 - 14:30
- Arie Van Deursen (Delft University of Technology - The Netherlands)
Two Case-studies concerning the Testing of Ajax-based Web 2.0 applications
Ajax-based Web 2.0 applications rely on stateful asynchronous
client/server communication, and client-side run-time
manipulation of the DOM tree. This not only makes them
fundamentally different from traditional web applications, but
also more error-prone and harder to test.
We propose a method for testing Ajax applications automatically,
based on a crawler to infer a flow graph for all (client-side)
user interface states. We identify Ajax-specific faults that can
occur in such states (related to DOM validity, error messages,
discoverability, back-button compatibility, etc.) as well as
DOM-tree invariants that can serve as oracle to detect such
faults. We implemented our approach in ATUSA, a tool offering
generic invariant checking components, a plugin-mechanism to add
application-specific state validators, and generation of a test
suite covering the paths obtained during crawling. We describe
two case studies evaluating the fault revealing capabilities,
scalability, required manual effort and level of automation of
This is joint work with Ali Mesbah from Delft University of
- 14:30 - 15:30
- Prof. Per Runeson (Lund University - Sweden)
Guidelines for conducting and reporting case study research in software engineering
Case study is a suitable research methodology for software engineering research
since it studies contemporary phenomena in its natural context. However, the understanding
of what constitutes a case study varies, and hence the quality of the resulting studies. This
seminar aims at providing an introduction to case study methodology and guidelines for
researchers conducting case studies and readers studying reports of such studies. The
content is based on the authorsŐ own experience from conducting and reading case studies.
The terminology and guidelines are compiled from different methodology handbooks in
other research domains, in particular social science and information systems, and adapted to
the needs in software engineering.
- 15:30 - 16:00
- 16:00 - ...
- Drs. Bart Van Rompaey
- Ph.D. Defense
Developer testing as an asset during software evolution: a series of empirical studies