Better Empirical Science for Software Engineering

Similar documents
Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

The Impact of Test Case Prioritization on Test Coverage versus Defects Found

Software Maintenance

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Thesis-Proposal Outline/Template

Two Futures of Software Testing

Practical Research. Planning and Design. Paul D. Leedy. Jeanne Ellis Ormrod. Upper Saddle River, New Jersey Columbus, Ohio

Lecture 1: Machine Learning Basics

What is a Mental Model?

Towards a Collaboration Framework for Selection of ICT Tools

Deploying Agile Practices in Organizations: A Case Study

What is PDE? Research Report. Paul Nichols

Experience and Innovation Factory: Adaptation of an Experience Factory Model for a Research and Development Laboratory

The Nature of Exploratory Testing

STA 225: Introductory Statistics (CT)

Introduction to Simulation

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Three Strategies for Open Source Deployment: Substitution, Innovation, and Knowledge Reuse

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS

Reducing Features to Improve Bug Prediction

An Introduction to Simio for Beginners

Probability and Statistics Curriculum Pacing Guide

TU-E2090 Research Assignment in Operations Management and Services

A cognitive perspective on pair programming

Certified Six Sigma Professionals International Certification Courses in Six Sigma Green Belt

Statistical Analysis of Climate Change, Renewable Energies, and Sustainability An Independent Investigation for Introduction to Statistics

Publication strategies

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

Experiences Using Defect Checklists in Software Engineering Education

learning collegiate assessment]

Designing Propagation Plans to Promote Sustained Adoption of Educational Innovations

Leveraging MOOCs to bring entrepreneurship and innovation to everyone on campus

Generating Test Cases From Use Cases

Stacks Teacher notes. Activity description. Suitability. Time. AMP resources. Equipment. Key mathematical language. Key processes

AGENDA LEARNING THEORIES LEARNING THEORIES. Advanced Learning Theories 2/22/2016

An Empirical Analysis of the Effects of Mexican American Studies Participation on Student Achievement within Tucson Unified School District

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving

*Net Perceptions, Inc West 78th Street Suite 300 Minneapolis, MN

Strategic Planning for Retaining Women in Undergraduate Computing

New Jersey Department of Education World Languages Model Program Application Guidance Document

Self Study Report Computer Science

How to read a Paper ISMLL. Dr. Josif Grabocka, Carlotta Schatten

ASSESSMENT GUIDELINES (PRACTICAL /PERFORMANCE WORK) Grade: 85%+ Description: 'Outstanding work in all respects', ' Work of high professional standard'

University of Toronto

STABILISATION AND PROCESS IMPROVEMENT IN NAB

Entrepreneurial Discovery and the Demmert/Klein Experiment: Additional Evidence from Germany

WORK OF LEADERS GROUP REPORT

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Ph.D. in Behavior Analysis Ph.d. i atferdsanalyse

Unit 3. Design Activity. Overview. Purpose. Profile

Assessment System for M.S. in Health Professions Education (rev. 4/2011)

Fragment Analysis and Test Case Generation using F- Measure for Adaptive Random Testing and Partitioned Block based Adaptive Random Testing

Introduction to CRC Cards

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Visit us at:

Modeling user preferences and norms in context-aware systems

School Inspection in Hesse/Germany

e-portfolios: Issues in Assessment, Accountability and Preservice Teacher Preparation Presenters:

The open source development model has unique characteristics that make it in some

Improving software testing course experience with pair testing pattern. Iyad Alazzam* and Mohammed Akour

The Good Judgment Project: A large scale test of different methods of combining expert predictions

A Pipelined Approach for Iterative Software Process Model

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

Firms and Markets Saturdays Summer I 2014

UCEAS: User-centred Evaluations of Adaptive Systems

On-Line Data Analytics

EXECUTIVE SUMMARY. Online courses for credit recovery in high schools: Effectiveness and promising practices. April 2017

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Integrating simulation into the engineering curriculum: a case study

The Impact of Instructor Initiative on Student Learning: A Tutoring Study

Evaluation of Systems Engineering Methods, Processes and Tools on Department of Defense and Intelligence Community Programs - Phase II

GROUP COMPOSITION IN THE NAVIGATION SIMULATOR A PILOT STUDY Magnus Boström (Kalmar Maritime Academy, Sweden)

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

WHY SOLVE PROBLEMS? INTERVIEWING COLLEGE FACULTY ABOUT THE LEARNING AND TEACHING OF PROBLEM SOLVING

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Python Machine Learning

Measurement & Analysis in the Real World

IMGD Technical Game Development I: Iterative Development Techniques. by Robert W. Lindeman

Introduction and Motivation

NCEO Technical Report 27

Reduce the Failure Rate of the Screwing Process with Six Sigma Approach

Early Warning System Implementation Guide

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

The Strong Minimalist Thesis and Bounded Optimality

The Use of Concept Maps in the Physics Teacher Education 1

Professor Christina Romer. LECTURE 24 INFLATION AND THE RETURN OF OUTPUT TO POTENTIAL April 20, 2017

Virtual Teams: The Design of Architecture and Coordination for Realistic Performance and Shared Awareness

5. UPPER INTERMEDIATE

Telekooperation Seminar

Learning Disabilities and Educational Research 1

Unit 7 Data analysis and design

IT4305: Rapid Software Development Part 2: Structured Question Paper

November 2012 MUET (800)

Calculators in a Middle School Mathematics Classroom: Helpful or Harmful?

Transcription:

Invited Presentation International Conference on Software Engineering May 2006 2006 Experimental Software Engineering Group, University of Maryland Better Empirical Science for Software Engineering How not to get your empirical study rejected: we should have followed this advice Victor Basili Sebastian Elbaum

Motivation for this presentation There is not enough good empirical work appearing in top SE conference venues Our goal is to help authors and reviewers of top SE venues improve this situation 2

Presentation structure Discuss the state of the art in empirical studies in software engineering Debate problems and expectations for papers with empirical components in top SE conference venues 3

What is an empirical study? Empirical study in software engineering is the scientific use of quantitative and qualitative data to understand and improve the software product and software development process. 4

What are we studying? Empirical Studies in Software Engineering Techniques Analytical Constructive Product Processes 5

Why study techniques empirically? Aid the technique developer in Demonstrating the feasibility of the technique Identifying bounds and limits Evolving and improving the technique Providing direction for future work Aid the user of the technique in Gaining confidence of its maturity for context Knowing when, why and how to use it To learn and build knowledge 6

How to study a technique? 1. Identify interesting problem 2. Characterize and scope problem (stakeholders, context, impact, ) 3. Select, develop, or tailor techniques to solve a part of problem 4. Perform studies to assess technique on a given artifact (feasibility, effectiveness, limits, ) 5. Evolve the studies (vary context, artifacts, and aggregate) Repeat steps as necessary and disseminate results! 7

Why is repetition necessary? Need accumulative evidence Each study is limited by goals, context, controls, Families of studies are required Varying goals, context, approaches, types of studies, Increase confidence, grow knowledge over time Need to disseminate studies Each paper is limited by length, scope, audience, Families of papers are required Gain confidence through replications across community Move faster or more meaningfully by leveraging existing work to drive future research 8

Studies of Techniques Large variation across community Is the human part of the study? What are the bounds on sample size? What is the cost per sample? What are the interests, levels of abstraction, model building techniques? What types of studies are used, e.g., qualitative, quantitative, quasiexperiments, controlled experiments? How mature is the area? 9

Studies of Techniques Two Examples Empirical Studies in Software Engineering Techniques Analytical Constructive Product Processes 10

Studies of Techniques Two Examples Techniques Analytical Human Artifacts Artifacts Example 1 Example 2 11

Example 1: Human Based Study on an analytic technique Evaluating a code reading technique Initial version: rejected for ICSE 1984 Invited Talk: American Statistical Association Conference, July 1984 Published TSE 1987 (after much discussion)

A study with human subjects Question and Motivation Is a particular code reading technique State clearly what questions the effective? investigation is intended to address and how you will address them, even if the study is exploratory. Is it feasible? How does it compare to various testing techniques Try to design in uncovering your study so defects? you maximize the number of questions asked in that particular study, if you can. What classes of defects does it uncover? What is the effect of experience, product type,? 13

A study with human subjects Context and Population Environment: NASA/CSC and Specify the University as much context of Maryland as Text formatter, possible plotter, this abstract is often hard data to type, do database so in a short conference paper. Seeded with software faults (9, 6, 7, 12) 145-365 LOC Student studies offer a lot of insights. This led to new questions Experimental design: for professional developers. Fractional factorial design Three applications 74 subjects: 32 NASA/CSC, 42 UM 14

A study with human subjects Variables and Metrics Independent (the technique) Code Reading: Technique Reading by definition Stepwise and Abstraction process Given: Spec and conformance source need to be carefully Functional Testing: specified Boundary in human Value studies. Testing Given: Spec and Executables Structural Testing: % statement coverage Given: Source, Executables, Coverage tool, then spec Dependent (effectiveness) fault detection effectiveness, fault detection cost, classes of faults detected 15

A study with human subjects Controlling Variation Code Reading Functional Testing Structural Testing P1 P2 P3 P1 P2 P3 P1 P2 P3 S1 X X X Advanced S2 The X more people X you can get to X Subjects : review you design, the better. S8 X X X It is easy to miss important points. S9 X X X Inter- S10 X X X mediate : It is easy to contaminate subjects. Subjects S19 X X X It is hard to compare a new technique against the current technique. S20 X X X Junior S21 X X X Subjects : S32 X X X Blocking according to experience level and program tested Each subject uses each technique and tests each program 16

A study with human subjects Quantitative Results (NASA/CSC) Fault Detection Effectiveness Code reading > (functional > structural) Student Study had weaker results but Fault Detection showed Rate similar trends. Code reading > (functional ~ structural) Classes of Faults Detected Interface: code reading > (functional ~ structural) Control: functional > (code reading ~ structural) 17

A study with human subjects Qualitative Results (NASA/CSC) Code readers Empirical more studies accurately are important estimated their performance Participants results believed should be functional self-evident. testing worked best When inspections were applied on a live project, reading It may be had difficult very to little generalize effect, if any Threat to Validity: External Validity: Generalization, interaction of environmental Human subject setting studies and treatment are expensive. You cannot easily repeat studies. Study Cost: even when you believe the from in vitro to in vivo. 32 professional programmers for 3 days 18

A study with human subjects New Ideas (NASA/CSC) Reading using a defined technique is more It is important to make clear the practical effective importance and of cost results effective independent than of the specific testing technique statistical significance. Different techniques may be more effective for different types of defects Don t expect perfection or decisive The reading answers. motivation For example, is insights important about context variables alone are valuable. The reading technique may be different from the reading method 19

Studies with human subjects Evolution of Studies Each study opens new questions. # Projects Scaling up is difficult and the empirical methods change. One More than one # of Teams per Project One 3. Cleanroom 4. Cleanroom (SEL Project 1) (SEL Projects, 2,3,4,...) More than 2. Cleanroom 1. Reading vs. Testing one at Maryland 5. Scenario reading vs.... 20

Evolution of Studies: Families of Reading Techniques Reading Process:Technique PROBLEM SPACE... Construction Analysis Effect: Class We need to combine small focused studies to build knowledge. Each unit can be a small contribution to the knowledge tapestry. Reuse Maintenance Defect Detection Traceability Usability Effect: Goal Test Plan Code Design Requirements Design User Interface Product:Type In the tapestry of studies it is important to integrate negative results. Negative results and repeated experiments and important and valuable. Project Code White Box Black Box Source Library Framework Framework Code SCR English OO Diagram Scope Based Defect Based Perspective Based OO Reading SOLUTION SPACE Product:Notation Screen Shot Family Usability Based Tester User Developer Expert Novice Error System Task Inconsistent Incorrect Omission Technique 21 Wide Oriented Ambiguity Horizontal Vertical

Example 2: Artifact Based, Analytic The Impact of Test Suite Granularity on the Cost Effectiveness of Regression Testing (ICSE 2002) Evaluating the effects of test suite composition (TOSEM 2004)

A study with artifacts Question and Motivation How do we compose test suites? 10 tests, each issuing 100 commands Separate believes from knowledge. 100 tests each issuing 10 commands What we know Experience can help to shape interesting and meaningful conjectures. Boris Beizer: It s better to use several simple, obvious tests than to do the job with fewer, grander tests. Cem Kaner: Large tests save time if they aren t too complicated; otherwise, simpler tests are more efficient. James Bach: Small tests cause fewer cascading errors, but large tests are better at exposing system level failures involving interactions. 23

A study with artifacts Context and Population Context Identify context that is likely to have greatest impact! What tests should we re-run? In what order should we re-run them? We do not have a good idea of our populations but this should not stop us from Development versus Evolution (regression) Population and sample Two open source programs +50KLocs, specifying ~10 scope releases of findings. Seeded faults Non-seeded versions were the oracles Test suite Original + enhanced 24

A study with artifacts Type of Study Family of controlled experiments Manipulate Conjectures test suite should composition lead to more formal Test and (likely case granularity more constrained) and test hypotheses. case grouping Measure effects on Time Carefully and fault identify detection and explain dependent, Main hypotheses: independent, and fixed variables. Does granularity and grouping matter? High levels of controls Process, execution, replicability 25

A study with artifacts Controlling sources of variation Controlled manipulation Controlling is not just about the chosen Goal is experimental to make comparable design, is also test suites of tests with different granularity about controlling noise so that we really measure the desired variables. 1. Start with a given test suite 2. Partition in test grains 3. To generate test suite of granularity k Select k grains from pool 26

A study with artifacts Controlling sources of variation Experimental designs Randomized Once Block automated, Factorial application Design of Multiple treatment hypothesis, to units multiple is inexpensive. factors (granularity, grouping), We can blocking get many per observations program, multiple quickly levels, and inexpensively. All Granularity G1 G2 G4 G8 G16 Test Case Selection Test Case Prioritization Provide detailed definition of data collection process, including costs Granularity Granularity and constrains that justify choices. Safe Random Feedback G1 G2 G4 G8 G16 Empire (10 versions) Bash (10 versions) G1 G2 G4 G8 G16 Granularity G1 G2 G4 G8 G16 27

A study with artifacts Analysis and Results Analysis Exploratory Richness to of observe results tendencies may be in interactions Formal between to assess factors. if effect Question is due is just not to really random about variation Post-analysis does it matter? to dig but deeper when into does interesting it matter? areas Results Test Combine suite efficiency exploratory increased and at formal data analysis. Very coarse granularity - it saved on test start/clean-up time Very fine granularity - it enabled better test case selection/prio. Test suite fault detection effectiveness improved at Coarse granularity but only for easy-to-detect faults Fine granularity when faults were detected by single grains 28

A study with artifacts Qualified Implications Test suite comp. mattered, specially for extremes Keep chain of significance throughout the paper. Close with distilled implications. Hard-to-detect faults But it mattered less in the presence of Aggressive test case selection or reduction techniques Threats Generalizations Early testing, significant program changes: coarser suites Mature stage, stable product: finer granularity 29

A study with artifacts Building a Family for Regression Test Case Prioritization Selecting Cost-effective Technique Techniques Techniques with Feedback Techniques With History Identifying Source of Variation Techniques Cost Cognizant Composition Test Suite Granularity Effect of coverage and changes Fault Types Techniques Fault Severities Techniques with Processes Supporting Infrastructure A 6 year lifespan, over 15 researchers from many institutions, building knowledge incrementally. 30

Looking at Some Recurring Issues What is the target and scope? What is representative? What is an appropriate sample? What are the sources of variation? What infrastructure is needed? 31

Recurring Issues What is the target and scope? With humans Effect of people applying technique Costly. Little margin for error in a single study Hard to replicate, context variables critical With artifacts Effect of technique on various artifacts Summative evaluations, confirmatory studies Replicable through infrastructure/automation 32

Recurring Issues What is representative? With humans Participants ability, experience, motivation, Technique type, level of specificity, Context for technique application With artifacts and humans Product: domain, complexity, changes, docs,.. Fault: actual or seeded, target, protocols, Test Suite: unit or system, original or generated, Specifications: notation, type of properties, 33

Recurring Issues What is an appropriate sample? With humans: mostly opportunistic Small data samples Learning effect issues Unknown underlying distributions Potentially huge variations in behavior With artifacts: previously used artifacts/testbeds Reusing toy examples to enable comparisons Available test beds for some dynamic analysis Not natural occurring phenomenon 34

Recurring Issues What are the sources of variation? With humans Learning and maturation Motivation and training Process conformance and domain understanding Hawthorn Effect With artifacts Setup/clean residual effects Perturbations caused by program profiling Non-deterministic behavior 35

Recurring Issues How objective can we be? Comparing a new technique with Current practices is hard without contaminating subjects Other techniques on same test bed can be suspect to tweaking Ideal is not to have a vested interested in techniques we are studying But we are in the best position to identify problems and suggest solutions 36

Recurring Issues How do we support empirical studies? Need for infrastructure Test beds are set of artifacts and support for running experiments Testbeds are applicable to limited classes of techniques need many testbeds Costly but necessary How do we share and evolve infrastructures? 37

Success Story Aiding the Empirical Researcher http://esquared.unl.edu/sir Software-artifact Infrastructure Repository Goal is to support controlled experimentation on Static and dynamic program analysis techniques Programs with faults, versions, tests, specs, +30 institutions are utilizing and helping to evolve SIR! 38

Success Story: Aiding the Technique Developer Testbed : TSAFE -a safety critical air traffic control software component 40 versions of TSAFE source code were created via fault Trying seeding out a technique on a testbed - helps Faults identify created its bounds to resemble and limits possible errors that can arise in - focuses using the improvement concurrency opportunities controller pattern Evaluated - provides a technology: context for its interaction Tevfik Bultan s with other model techniques checking design for - helps verification build the approach body of knowledge applied about to concurrent the class of programming technique in Java Results: The experimental study resulted in a Better fault classification Identified strengths and weaknesses of the technology Helped improve the design for verification approach Recognized one type of fault that could not be caught 39

Success Story: Aiding the Technique User Testbed : a variety of class projects for high performance computing artifacts at UM, MIT, USC, UCSB, UCSD, MSU Evaluated technology: Message Passing (MPI) vs. other models, e.g., threaded models (OpenMP) Results It is important to build a body of evidence about a domain, based upon experience, recognizing what works and doesn t work under what conditions On certain small problems: OpenMP requires 35-80% less effort than MPI UPC/CAF requires around 5-35% less effort than OpenMP XMT-C requires around 50% less effort than MPI. For certain kinds of embarrassingly parallel problems, messagepassing requires less effort than threaded. The type of communication pattern does not have an impact on the difference in effort across programming models. 40

Motivation for this presentation Discuss the state of the art in empirical studies in software engineering Debate problems and expectations for papers with empirical components in top SE conference venues 41

For the Author: How do we deal with reviews? Like with any other review The reviewer is right The reviewer has misunderstood something We led them astray They went astray by themselves The reviewer is wrong 42

Review example It is well-known that shared memory is easier to program than distributed memory (message passing). So well known is this, that numerous attempts exist to overcome the drawbacks of distributed memory. Issue: How do you argue that empirical evidence about known ideas is of value? 43

Review example it is hard to grasp, from the way the results are presented, what is the practical significance of the results. This is mostly due to the fact that the analysis focuses on statistical significance and leaves practical significance aside. Though this, with substantial effort, can partially be retrieved from tables and figures, this burden should not be put on the reader. Issue: analysis/results disconnected from practical goals 44

Review example There are two groups in the study with effective sizes of 13 and 14 observations. As the authors point out, the phenomena under study would need samples of more like 40 to 60 subjects given the variance observed. Thus the preferred approach would have been to either treat this study as a pilot, or to obtain data from other like studies to establish the needed sample size for the power needed. Issue: How do you present and justify your empirical strategy? 45

Review example (The technique) was tried on a single form page on five web applications. This is actually quite a limited experiment. Web sites such as those they mention have thousands of pages, and hundreds of those with forms. Perhaps a more extensive study would have produced more interesting results. Issue: how much evidence is enough? Depends on ideas maturity and sub-community empirical expertise 46

Review example the population of inexperienced programmers make it likely that results may be quite different for expert population or more varied tasks Issue: Are empirical studies of students of value? 47

Review example It is well-known that the composition of the original test suite has a huge impact on the regression test suite. The authors say that they created test cases using the category partition method. Why was only one suite generated for each program? Perhaps it would be better to generate several test suites, and consider the variances. Issue: what factors can and should be controlled? We cannot control them all. Tradeoffs: cost, control, representativeness 48

Review example The basic approach suggested in this paper is very labour intensive. There would appear to be other less labour intensive approaches that were not considered You have not presented a strong argument to confirm that your approach is really necessary. Issue: Have the steps been justified against alternatives? 49

Review example This paper represents a solid contribution, even though the technique is lightweight 6 of the 10 submitted pages are about results, analysis of the results, discussion with only a single page required for the authors to describe their approach. Thus, the technique is straightforward and might be construed as lightweight!. Issue: is there such as thing as too much study of a straightforward technique? 50

From our experience Ask questions that matter Why do they matter? To Who? When? State tradeoffs and threats Control versus exposure Cost versus representativeness Constructs versus variables Solicit/share expertise/resources with Authors (as a reviewer) Readers (as an author) Researchers (as a researcher) Maintain chain of significance Conjecture, Impact, Results, Impact, Conjecture 51

For authors and reviewers Checklists One example: Preliminary Guidelines for Empirical Research in Software Engineering by B. Kitchenham et al. TSE 02 Relevant to previous reviews Differentiate between statistical significance and practical importance. Be sure to specify as much of the context as possible. If the research is exploratory, state clearly and, prior to data analysis, what questions the investigation is intended to address, and how it will address them. If you cannot avoid evaluating your own work, then make explicit any vested interests (including your sources of support), and report what you have done to minimize bias. Justify the choice of outcome measures in terms of their relevance to the objectives of the empirical study. 52

For the Reviewer Hints for Reviewing SE Empirical Work - Tichy, EMSE 2000 Don t expect perfection Don t expect a chapter of a statistics book Don t expect decisive answers Don t reject obvious results Don t be casual about asking authors to redo their experiment Don t dismiss a paper merely for using students as subjects (or small programs) Don t reject negative results Don t reject repetition of experiments 53

Advice from our studies: About overall design State clearly what questions the investigation is intended to address and how you will address them, especially if the study is exploratory Justify your methodology and the particular steps Justify your selection of dependent variables Try to design your study so you maximize the number of questions asked in that particular study Make clear the practical importance of the results independent of the statistical significance Specify as much context as possible; it is often hard to do so in a short conference paper The more people you can get to review you design, the better, it is easy to miss important points. 54

Advice from our studies: About scope, sample, representation Student studies can show trends that are of real value Student studies offer a lot of insights leading to improved questions for professional developers It is easy to contaminate subjects in human studies It is hard to compare a new technique against the current technique Technique definition and process conformance need to be carefully specified in human studies Human subject studies are expensive. You cannot easily repeat studies. Don t expect perfection of decisive answers, for example, insights about context variables alone are valuable 55

Advice from our studies: About building a body of knowledge Empirical studies are important even when you believe the results should be self-evident It may be difficult to generalize from in vitro to in vivo It is important to make clear the practical importance of the results independent of the statistical significance Each study open new questions scaling up is difficult and the empirical methods change We need to combine small focused studies to build knowledge, each unit can be a small contribution to the knowledge tapestry In the tapestry of studies it is important to integrate negative results; negative results and repeated experiments and important and valuable 56

Improving the odds of getting a paper accepted at a conference Define a complete story (motivation, design, analysis, results, practical relevance) Achieve a balance among the Control on the context Generalization of the findings Level of detail in a 10 page paper Get as many reviews beforehand as possible 57

Better Empirical Science for Software Engineering How not to get your empirical study rejected: we should have followed this advice Victor Basili Sebastian Elbaum

References V. Basili, "Evolving and Packaging Reading Technologies, Journal of Systems and Software, 38 (1): 3-12, July 1997. V. Basili, F. Shull, and F. Lanubile, "Building Knowledge through Families of Experiments, IEEE Transactions on Software Engineering, 25(4): 456-473, July 1999. S. Elbaum, A. Malishevsky, and G. Rothermel, "Test Case Prioritization: A Family of Empirical Studies", IEEE Transactions on Software Engineering, 28-2:159-182, 2002. H. Do, S. Elbaum, and G. Rothermel, Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact, Empirical Software Engineering: An International Journal, 10(4):405-435, 2005. G. Rothermel, S. Elbaum, A. Malishevsky, P. Kallakuri and X. Qiu, "On Test Suite Composition and Cost-Effective Regression Testing", ACM Transactions of Software Engineering and Methodologies, 13(3):277-331, July 2004. B. Kitchenham, S. Pfleeger, L. Pickard, P. Jones, D. Hoaglin, K. Emam and J. Rosenberg, Preliminary Guidelines for Empirical Research in Software Engineering, IEEE Transactions on Software Engineering, 28(8):721--734, 2002. R. Selby, V. Basili, and T. Baker, Cleanroom Software Development: An Empirical Evaluation, IEEE Transactions on Software Engineering, 13(9): 1027-1037, September 1987. W. Tichy, Hints for Reviewing Empirical Work in Software Engineering, Empirical Software Engineering: An International Journal 5(4): 309-312, December 2000. 59