concept in ESE.¹ BUT, Frequently papers report context in a generic and implicit way.² 1 – Dyba, et al. What works for whom, where, when, and why?: On the role of context in empirical software engineering. 2012. 2 – Sjøberg et al. The future of empirical methods in software engineering research. 2007. 2
• Replicate experiments.¹ • Transfer knowledge from academy to industry.2 • Integrate evidence on secondary studies.3 • Create families of experiments.4 • Investigate any contextual aspect that possibly had interfered in a research.5 3 1 – Lung, et al. On the difficulty of replicating human subjects studies in software engineering. 2008. 2 – Jedlitschka, et al. Towards evidence in software engineering. 2004. 3 – Lopes, et al. A conceptual framework for the development of applications centred on context and evidence-based practice. 2010. 4 – Basili, et al. Building knowledge through families of experiments. 1999. 5 – Montesi, et al. Software engineering article types: An analysis of the literature. 2008.
of knowledge. Dijk says that a theory of context could easily become a theory of everything.¹ 5 1 – Dyba, et al. What works for whom, where, when, and why?: On the role of context in empirical software engineering. 2012.
that are not the main interest of an empirical research (in other words, they are not the study’s interventions), but they have an influence in the study’s results. 6
a systematic mapping study following Kitchenham et al. guidelines.¹ 8 Studies Selection 1st Round 2nd Round Studies Search Data Extraction 1 – Kitchenham, et al. Guidelines for performing systematic literature reviews in software engineering. 2007.
STRING (mechanism OR framework OR method OR methodology OR guideline OR checklist OR process OR technique) AND (context OR contextual OR scope OR environment OR environmental OR settings OR circumstances OR situations OR situational OR population OR variables OR factors OR setup) AND (“empirical software engineering” OR “experimental software engineering” OR “software engineering experimentation” OR “evidence based software engineering”) 10
2nd Round Studies Search Data Extraction 4 researchers pairs + Conflict Meetings 1. The study is a slideshow or an extended abstract. 2. The study is duplicated. 3. The study is not related to SE. 4. The study does not present or only mentions a mechanism to support. 5. Another justified reason.
Search Data Extraction General information + Research questions RQ1: What are the mechanisms to support context characterization? RQ2: What are the types of mechanisms to characterize context? RQ3: What are the types of context covered by the mechanisms? RQ4: What are the empirical methods covered by the mechanisms? RQ5: What are the SE topics covered by the mechanisms?
support context characterization … ? 17 CODE TITLE SPS01 An Initial Framework for Research on Pair Programming SPS02 Building Knowledge through Families of Experiments SPS03 Context in industrial software engineering research SPS04 Empirical studies in reverse engineering: state of the art and future trends SPS05 Experimental Context Classification: Incentives and Experience of Subjects SPS06 The situational factors that affect the software development process: Towards a comprehensive reference framework SPS07 Using Context Distance Measurement to Analyze Results across Studies SPS08 What Works for Whom, Where, When, and Why? On the Role of Context in Empirical Software Engineering SPS09 Collecting Feedback During Software Engineering Experiments SPS10 Preliminary Guidelines for Empirical Research in Software Engineering SPS11 Extreme Programming Evaluation Framework for Object-Oriented Languages Version 1.4 SPS12 Rational Unified Process Evaluation Framework Version 1.0 SPS13 Experimentation in Software Engineering: An Introduction
context¹ covered by the mechanisms? Context Type Studies Discrete SPS1, SPS2, SPS3, SPS4, SPS5, SPS6, SPS7, SPS9, SPS10, SPS11, SPS12, SPS13 Omnibus SPS 8 19 Discrete 12 (92,3%) Omnibus 1 (7,7%) Only one study adopts omnibus context. 1 – Dyba, et al. What works for whom, where, when, and why?: On the role of context in empirical software engineering. 2012.
covered by the mechanisms? 21 Topic Studies Software construction SPS1, SPS11 Software process SPS6, SPS12 Software maintenance SPS4 Software engineering management SPS5 Software requirements - Software design - Teste de software - Software configuration management - Tools and methods - Software quality - Software construction 2 (33,3%) Software maintenance 1 (16,7%) Software management 1 (16,7%) Software process 2 (33,3%) Only 4 of the 10 SE topics are covered by the mechanisms. 1 – Abran et al. Guide to the Software Engineering Body of Knowledge -SWEBOK. 2007.
that best fits their empirical method and SE research topic. 22 Empirical Method Software Engineering Topic Studies Controlled experiment Software construction SPS01, SPS11 Software process SPS12 Software maintenance SPS04 Software engineering management SPS05 - SPS02, SPS06, SPS07, SPS09, SPS10, SPS13 Case Study Software construction SPS01, SPS11 Software process SPS12 - SPS03, SPS08, SPS10 Ethnography - SPS08 Action research Software quality SPS08
selected. There are many claims about the need for more and better context characterization of empirical studies in SE. 1,2,3,4 BUT, This research showed that there are few mechanisms that support context characterization in SE. 23 1 – Dyba, et al. What works for whom, where, when, and why?: On the role of context in empirical software engineering. 2012. 2 – Jedlitschka, et al. Towards evidence in software engineering. 2004. 3 – Petersen, et al. Context in industrial software engineering research. 2009. 4 – Sjøberg, et al. The future of empirical methods in software engineering research. 2007.
studies has been characterized. • Define a set of relevant context information for empirical studies focused on each software engineering topic. • Investigate the context characterization for each specific empirical method. 24