NOTE FOR PARTICIPANTS: IASESE will start promptly at 8:30, please be sure you are in Camelia/Dogwood at this time!

Selecting Research Methods for Empirical Software Engineering

Despite widespread interest in empirical software engineering, there is little guidance available on which research methods are suitable for which research problems, and how to choose amongst them. If you have a new software engineering technique or a new tool, should you test it in controlled experiment in the lab, or conduct a field study in a real software project? If you're studying how software engineers work, should you survey a wide cross section, or perform an in-depth study of just a few? If you want to assess the effect of a new technology, should you attempt to measure its effect on specific variables such as development time, or should you explore the perspectives of different project participants? We have a wide choice of empirical research methods to help shed new light on our research questions, but each method also has known weaknesses. At this year's IASESE we will characterize the available research research methods, and consider how to use them to build effective research strategies.

Part 1. Introduction: research perspectives and theory building

Part 2. Quantitative methods: laboratory experiments, survey research, benchmarking

Part 3. Qualitative methods: case studies, ethnographies, action research

Part 4. Putting it all together: strategies for mixed methods research

Learning Objectives

The goal of the International Advanced School on Empirical Software Engineering (IASESE) is to provide attendees with the opportunity to learn and practice advanced empirical software engineering techniques from leaders in the empirical software engineering community. The course is aimed at researchers interested in deepening their knowledge and skills in empirical research.

Participants in this year's school will:

  • Understand the available empirical research methods, and their strengths and weaknesses.
  • Understand the philosophical context for each research method and judge what counts as valid empirical knowledge.
  • Be able to formulate their research questions clearly and identify the key methodological choices for their research questions.
  • Be able to design a research strategy to produce meaningful answers to their research questions.
  • Evaluate research designs and compare them with the alternatives.
  • Understand the practice considerations (e.g. resources, expertise, access to subjects) that constrain the choice of research method.

Who should attend?

Anyone with a basic knowledge of software engineering and empirical studies of software engineering, who is interested in increasing his/her repertoire of empirical methods. The course is especially appropriate for newcomers to empirical research, and to those who have tried one particular method and found it wanting.

What will participants take away?

Participants will come away with a "toolbox" of empirical research methods, a clear understanding of the value of each method, and a set of pointers to resources with further guidance for applying each method, and how to get started if they wish to apply the methods in their own research.


International Advanced School of Empirical Software Engineering 2009 will be presented by,

Steve Easterbrook
University of Toronto

Steve Easterbrook is a professor of computer science at the University of Toronto. He received his Ph.D. (1991) in Computing from Imperial College in London (UK), and was a lecturer at the School of Cognitive and Computing Science, University of Sussex from 1990 to 1995. In 1995 he moved to the US to lead the research team at NASA's Independent Verification and Validation (IV&V) Facility in West Virginia, where he investigated software verification on the Space Shuttle Flight Software, the International Space Station, the Earth Observation System, and several planetary probes. He moved to the University of Toronto in 1999. His research interests range from modelling and analysis of complex software software systems to the socio-cognitive aspects of team interaction, including communication, coordination, and shared understanding in large software teams. He has served on the program committees for many conferences and workshops in Requirements Engineering and Software Engineering, and was general chair for RE'01 and program chair for ASE'06. In the summer of 2008, he was a visiting scientist at the UK Met Office Hadley Centre.

Jorge Aranda
University of Toronto

Jorge Aranda is a Ph.D. student of Computer Science at the University of Toronto. He studies communication and coordination in software organizations, focusing on the impact that organizational size and environmental factors have in coordination dynamics. He also studies the efficacy of the paradigms and methods used by the community, sometimes inadvertently, to research these and similar topics.