View Publication

View Publication

Microsoft Research. Technical Report. MSR-TR-2012-93. Representativeness in Software Engineering Research September 5, 2012 Technical Report MSR-TR-2012-93 Microsoft Research Microsoft Corporation One Microsoft Way Redmond, WA 98052 © 2012 Microsoft Corporation. All rights reserved. Page 1 Microsoft Research. Technical Report. MSR-TR-2012-93. Representativeness in Software Engineering Research Meiyappan Nagappan Thomas Zimmermann Christian Bird Software Analysis and Intelligence Lab (SAIL) Microsoft Research Microsoft Research Queen’s University, Kingston, Canada Redmond, WA, USA Redmond, WA, USA [email protected] [email protected] [email protected] Abstract—One of the goals of software engineering research is distinct projects, they all fall within a very narrow range of to achieve generality: Are the phenomena found in a few projects functionality (and are likely similar in terms of structure, size, reflective of what goes on in others? Will a technique benefit running time, etc.). Although such an evaluation would include more than just the projects it is evaluated on? The discipline of many projects, generality would not be achieved because the our community has gained rigor over the past twenty years and is now attempting to achieve generality through evaluation and projects studied are not representative of a larger and wider study of an increasing number of software projects (sometime population of software projects. We would learn about JSON hundreds!). However, quantity is not the only important compo- parsers, but little about other types of software. This extreme nent. Selecting projects that are representative of a larger body illustration is contrived and no serious researcher would select of software of interest is just as critical. Little attention has been projects in such a way. Nonetheless, the majority of studies paid to selecting projects in such a way that generality and repre- that select projects for evaluation or investigation do so in a sentativeness is maximized or even quantitatively characterized fairly subjective or non-obvious objective way. One likely and reported. In this paper, we present a general technique for reason for this is that there is currently no standard method of quantifying how representative a sample of software projects is of selecting projects for study. a population across many dimensions. We also present a greedy algorithm for choosing a maximally representative sample. We Other fields such as medicine and sociology have overcome demonstrate our technique on research presented over the past similar issues through published and accepted methodological two years at ICSE and FSE with respect to a population of 20,000 guidelines for subject selection. For example, guidelines have active open source projects. Finally, we propose methods of re- been provided for the design of clinical trials which include porting objective measures of representativeness in research. how subjects should be selected [2] (see Section 6.3 “Patient Selection” pp. 171-174 and Section 6.6 “Design Considera- I. INTRODUCTION tions” pp. 179-182). Additionally the National Institutes of Over the past twenty years, the discipline of software engi- Health (NIH) in the United States have developed requirements neering research has grown in maturity and rigor. Researchers [4] to make sure that minimum generality bars are met by re- and our community in general have worked towards maximiz- quiring that certain subpopulations are included in such trials. ing the impact that software engineering research has on prac- The aim of these guidelines is to ensure that the subjects are tice. One such way is by providing techniques and results that representative of a larger population. are as general (and thus useful) as possible. However, achiev- Software engineering research lacks such guidelines today, ing generality is challenging. Basili et al. remarked that “gen- but we can fortunately leverage the methodological advances of eral conclusions from empirical studies in software engineering these older fields. In this paper, we present techniques for are difficult because any process depends on a potentially large measuring the representativeness of a sample, relative to a larg- number of relevant context variables” [1]. er population along various dimensions, and for selecting a With the availability of OSS projects, the software engi- maximally representative sample from a population. Our tech- neering research community has called for more extensive val- nique is based on the theories underlying subject selection idation and researchers have answered the call. As an extreme methodologies in other fields. Whereas today, researchers em- example, the study of Smalltalk feature usage by Robbes et al. ploy what we term opportunistic sampling, selecting projects [2] examined 1,000 projects! Another example is the study by that are easiest to mine or display some attribute that makes Gabel and Su that examined 6,000 projects [3]. But if care isn’t them attractive to researchers, we recommend representative taken when selecting which projects to analyze, then increasing sampling, in which a subset of a statistical population is select- the sample size doesn’t actually contribute to the goal of in- ed that accurately reflects the members of the entire population. creased generality. More is not necessarily better. In our work, we present a framework to quantify the repre- As an illustration, consider a researcher that has a technique sentativeness of the sample in the population so that (a) the to evaluate or a hypothesis to investigate and wants to include a researcher can arrive at appropriate conclusions about the re- large number of projects in an effort to demonstrate generality sults of the experiments, (b) the research community can un- and therefore impact. To choose the subject programs, the re- derstand the context under which the results are applicable, and searcher goes to the json.org website, which lists over twenty (c) the practitioners can easily identify if a particular research JSON parsers that are all readily available for download and contribution is applicable to their software. In a way similar to analysis. While the researcher may select and evaluate twenty the adoption of structured abstracts [5] in research papers, we © 2012 Microsoft Corporation. All rights reserved. Page 2 Microsoft Research. Technical Report. MSR-TR-2012-93. hope that researchers will use the techniques and recommenda- The goal of representative research is typically to provide a tions in this paper to achieve consistent methods of reporting high coverage of the space in a universe. The underlying as- representativeness in their research. We make the following sumption of this paper is that projects with similar values in the contributions: dimensions—that is they are close to each other in the space— 1. We present a technique for objectively measuring how are representative of each other. This assumption is common- representative a sample set of projects are of a popula- ly made in the software engineering field, especially in effort tion of projects. estimation research [6,7]. For each dimension d, we define a 2. We present a technique for selecting a sample of pro- similarity function which decides whether two projects p1 and jects to maximize the representativeness of a study. p2 are similar with respect to that dimension: 3. We assess the representativeness of studies in top tier ( ) software engineering research venues and provide guidance for reporting representativeness. The list of the similarity functions for a given space is configuration In the rest of this paper, we first present a general frame- called the . work for evaluating representativeness of a sample from a pop- ( ) ulation of software projects and selecting a maximally repre- Similar to universe and space, similarity functions (and the sentative sample (Section II). We then demonstrate this tech- configuration) can vary across projects. For some research nique by calculating the representativeness of research over the topics, projects written in C might be considered similar to past two years at ICSE and FSE (Section III). Finally, we pro- projects written in C++, while for other research they might be vide appropriate methods of reporting representativeness and considered different. discuss implications (Section IV) and related work (Section V). To identify similar projects within the universe, we require all II. FRAMEWORK the projects to be similar to each other in dimensions. In this section, we present our framework for assessing rep- ( ) ⋂ ( ) resentativeness: we first introduce our terminology (Section II.A and II.B) followed by algorithms to score the representa- If no similarity function is defined for a dimension, we as- tiveness of a set of projects (Section II.C) and select the pro- sume the following default functions, with p[d] the score of jects that increase the score the most (Section II.D). project p in dimension d and |e| the absolute (positive) value of We implemented both algorithms in the R programming the specified expression e: language and they will be made available as an R package. For numeric dimensions (e.g., number of developers): The appendix contains a walkthrough on how to use our im- We consider two projects to be similar in a dimension plementation. if their values are in the same order of magnitude (as II.A. Terminology: Universe, Space, Configuration computed by log10). The universe is a large set

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us