Survey Research in Software Engineering: Problems and Mitigation Strategies

Background: The need for empirical investigations in software engineering is growing. Many researchers nowadays, conduct and validate their solutions using empirical research. The Survey is an empirical method which enables researchers to collect data from a large population. The main aim of the survey is to generalize the findings. Aims: In this study, we aim to identify the problems researchers face during survey design and mitigation strategies. Method: A literature review, as well as semi-structured interviews with nine software engineering researchers, were conducted to elicit their views on problems and mitigation strategies. The researchers are all focused on empirical software engineering. Results: We identified 24 problems and 65 strategies, structured according to the survey research process. The most commonly discussed problem was sampling, in particular, the ability to obtain a sufficiently large sample. To improve survey instrument design, evaluation and execution recommendations for question formulation and survey pre-testing were given. The importance of involving multiple researchers in the analysis of survey results was stressed. Conclusions: The elicited problems and strategies may serve researchers during the design of their studies. However, it was observed that some strategies were conflicting. This shows that it is important to conduct a trade-off analysis between strategies.

[1]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[2]  Jesper Andersson,et al.  Information Sources and Their Importance to Prioritize Test Cases in the Heterogeneous Systems Context , 2014, EuroSPI.

[3]  Vahid Garousi,et al.  A Survey of Software Engineering Practices in Turkey (extended version) , 2014, J. Syst. Softw..

[4]  Terry Rout,et al.  Addressing the challenges of replications of surveys in software engineering research , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[5]  Earl R. Babbie,et al.  Survey Research Methods , 1984 .

[6]  Annabel Bhamani Kajornboon,et al.  Using interviews as research instruments , 2004 .

[7]  Helen Sharp,et al.  Tensions around the adoption and evolution of software quality management systems: a discourse analytic approach , 2004, Int. J. Hum. Comput. Stud..

[8]  Kai Petersen,et al.  Heterogeneous Systems Testing Techniques: An Exploratory Survey , 2015, SWQD.

[9]  Martin Höst,et al.  Guidelines for Conducting Surveys in Software Engineering , 2015 .

[10]  J. Rowley Conducting research interviews , 2012 .

[11]  Pat Doyle,et al.  Using Field Experiments to Improve Instrument Design: The SIPP Methods Panel Project , 2004 .

[12]  Helvi Kyngäs,et al.  The qualitative content analysis process. , 2008, Journal of advanced nursing.

[13]  J. Knottnerus,et al.  Real world research. , 2010, Journal of clinical epidemiology.

[14]  KitchenhamBarbara,et al.  Principles of survey research part 6 , 2002 .

[15]  Stefan Biffl,et al.  Practical Experiences in the Design and Conduct of Surveys in Empirical Software Engineering , 2003, ESERNET.

[16]  Aiko Fallas Yamashita,et al.  Surveying developer knowledge and interest in code smells through online freelance marketplaces , 2013, 2013 2nd International Workshop on User Evaluations for Software Engineering Researchers (USER).

[17]  Lefteris Angelis,et al.  A large-scale empirical study of practitioners' use of object-oriented concepts , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[18]  Vahid Garousi,et al.  Cross-factor analysis of software engineering practices versus practitioner demographics: An exploratory study in Turkey , 2016, J. Syst. Softw..

[19]  Lorraine Carter,et al.  How to Conduct Surveys: A Step-by-Step Guide , 2010 .

[20]  Shari Lawrence Pfleeger,et al.  Experimental design and analysis in software engineering , 1995, Ann. Softw. Eng..

[21]  Christian W. Dawson,et al.  Projects in Computing and Information Systems: A Student's Guide , 2009 .

[22]  Georgios Gousios,et al.  Work Practices and Challenges in Pull-Based Development: The Integrator's Perspective , 2014, ICSE.

[23]  Emerson R. Murphy-Hill,et al.  Improving developer participation rates in surveys , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[24]  Marco Torchiano,et al.  Reflections on conducting an international survey of software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[25]  Sjaak Brinkkemper,et al.  The Use and Effectiveness of User Stories in Practice , 2016, REFSQ.

[26]  Guilherme Horta Travassos,et al.  Investigating probabilistic sampling approaches for large-scale surveys in software engineering , 2015, Journal of Software Engineering Research and Development.

[27]  Pekka Abrahamsson,et al.  Making the leap to a software platform strategy: Issues and challenges , 2012, Inf. Softw. Technol..

[28]  Kai Petersen,et al.  Checklists to Support Test Charter Design in Exploratory Testing , 2017, XP.

[29]  Silvio Romero de Lemos Meira,et al.  Towards understanding software change request assignment: a survey with practitioners , 2013, EASE '13.

[30]  Reidar Conradi,et al.  Some lessons learned in conducting software engineering surveys in china , 2008, ESEM '08.

[31]  Guilherme Horta Travassos,et al.  Would Sociable Software Engineers Observe Better? , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[32]  Muhammad Ali Babar,et al.  Systematic reviews in software engineering: An empirical investigation , 2013, Inf. Softw. Technol..

[33]  Neil A. Ernst,et al.  Measure it? Manage it? Ignore it? software practitioners and technical debt , 2015, ESEC/SIGSOFT FSE.

[34]  Hsiu-Fang Hsieh,et al.  Three Approaches to Qualitative Content Analysis , 2005, Qualitative health research.

[35]  Xianggui Qu,et al.  Multivariate Data Analysis , 2007, Technometrics.

[36]  Jan Bosch,et al.  A multiple case study on the inter‐group interaction speed in large, embedded software companies employing agile , 2016, J. Softw. Evol. Process..

[37]  Klaus Opwis,et al.  Are Engineers Condemned to Design? A Survey on Software Engineering and UI Design in Switzerland , 2007, INTERACT.

[38]  Shari Lawrence Pfleeger,et al.  Principles of survey research: part 5: populations and samples , 2002, SOEN.

[39]  Elizabeth Martin,et al.  METHODS FOR TESTING AND EVALUATING SURVEY QUESTIONS , 2004 .

[40]  Peng Liang,et al.  A survey on software architectural assumptions , 2016, J. Syst. Softw..

[41]  Sardar Muhammad Sulaman,et al.  Guidelines for Conducting Surveys in Software , 2015 .

[42]  Harald C. Gall,et al.  The making of cloud applications: an empirical study on software development for the cloud , 2014, ESEC/SIGSOFT FSE.

[43]  Guilherme Horta Travassos,et al.  Towards a framework to characterize ubiquitous software projects , 2012, Inf. Softw. Technol..

[44]  Marco Torchiano,et al.  Six reasons for rejecting an industrial survey paper , 2013, 2013 1st International Workshop on Conducting Empirical Studies in Industry (CESI).

[45]  Per Runeson,et al.  Levels of Exploration in Exploratory Testing: From Freestyle to Fully Scripted , 2018, IEEE Access.

[46]  Marco Torchiano,et al.  Evaluating the Perceived Effect of Software Engineering Practices in the Italian Industry , 2009, ICSP.

[47]  M. Ruiz Espejo Sampling , 2013, Encyclopedic Dictionary of Archaeology.

[48]  M. Couper,et al.  Methods for Testing and Evaluating Survey Questionnaires , 2004 .

[49]  Mark S. Litwin,et al.  How to Measure Survey Reliability and Validity , 1995 .

[50]  Daniela E. Damian,et al.  Risk Identification and Risk Mitigation Instruments for Global Software Development: Systematic Review and Survey Results , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering Workshop.

[51]  M. F. Hassan,et al.  A framework of software process tailoring for small and medium size IT companies , 2012, 2012 International Conference on Computer & Information Science (ICCIS).

[52]  Jonas Boustedt,et al.  A methodology for exploring students' experiences and interaction with large-scale software through role-play and phenomenography , 2008, ICER '08.

[53]  Kai Petersen,et al.  Survey Guidelines in Software Engineering: An Annotated Review , 2016, ESEM.

[54]  Stavros Stavru,et al.  A critical examination of recent industrial surveys on agile method usage , 2014, J. Syst. Softw..

[55]  A. D. Lambert,et al.  Using Cognitive Interviews to Improve Survey Instruments , 2012 .

[56]  Georgios Gousios,et al.  Work practices and challenges in pull-based development: the contributor's perspective , 2015, ICSE.

[57]  P. Davidson,et al.  Is verbatim transcription of interview data always necessary? , 2006, Applied nursing research : ANR.

[58]  Mark Kasunic,et al.  Designing an Effective Survey , 2005 .

[59]  Shari Lawrence Pfleeger,et al.  Personal Opinion Surveys , 2008, Guide to Advanced Empirical Software Engineering.

[60]  Matthias Galster,et al.  Exploring web advertising to attract industry professionals for software engineering surveys , 2014, CESI 2014.

[61]  Shari Lawrence Pfleeger,et al.  Principles of survey research: part 1: turning lemons into lemonade , 2001, SOEN.

[62]  Gordon Fraser,et al.  A Survey on Unit Testing Practices and Problems , 2014, 2014 IEEE 25th International Symposium on Software Reliability Engineering.

[63]  Nauman Ghazi Testing of Heterogeneous Systems , 2014 .

[64]  Marcus Ciolkowski,et al.  Conducting on-line surveys in software engineering , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[65]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[66]  Thaís Vasconcelos Batista,et al.  25 years of software engineering in Brazil: Beyond an insider's view , 2013, J. Syst. Softw..

[67]  J. Hair Multivariate data analysis , 1972 .

[68]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[69]  Floyd J. Fowler,et al.  Survey Research Methods , 1984 .