Empirical Research in Software Architecture: How Far have We Come?

Context: Empirical research helps gain well-founded insights about phenomena. Furthermore, empirical research creates evidence for the validity of research results. Objective: We aim at assessing the state-of-practice of empirical research in software architecture. Method: We conducted a comprehensive survey based on the systematic mapping method. We included all full technical research papers published at major software architecture conferences between 1999 and 2015. Results: 17% of papers report empirical work. The number of empirical studies in software architecture has started to increase in 2005. Looking at the number of papers, empirical studies are about equally frequently used to a) evaluate newly proposed approaches and b) to explore and describe phenomena to better understand software architecture practice. Case studies and experiments are the most frequently used empirical methods. Almost half of empirical studies involve human participants. The majority of these studies involve professionals rather than students. Conclusions: Our findings are meant to stimulate researchers in the community to think about their expectations and standards of empirical research. Our results indicate that software architecture has become a more mature domain with regards to applying empirical research. However, we also found issues in research practices that could be improved (e.g., when describing study objectives and acknowledging limitations).

[1]  Claes Wohlin,et al.  Towards a decision-making structure for selecting a research design in empirical software engineering , 2014, Empirical Software Engineering.

[2]  Elaine J. Weyuker,et al.  Empirical Software Engineering Research - The Good, The Bad, The Ugly , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[3]  Ivica Crnkovic,et al.  Twenty-eight years of component-based software engineering , 2016, J. Syst. Softw..

[4]  Ronnie E. S. Santos,et al.  Investigations about replication of empirical studies in software engineering: A systematic mapping study , 2015, Inf. Softw. Technol..

[5]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[6]  Mary Shaw,et al.  Writing good software engineering research papers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[7]  Oscar Pastor,et al.  Empirical research methodologies and studies in Requirements Engineering: How far did we come? , 2014, J. Syst. Softw..

[8]  Claus Pahl,et al.  Scalable Architectures for Platform-as-a-Service Clouds: Performance and Cost Analysis , 2014, ECSA.

[9]  Muhammad Ali Babar,et al.  Applying empirical software engineering to software architecture: challenges and lessons learned , 2010, Empirical Software Engineering.

[10]  Sven Apel,et al.  Views on Internal and External Validity in Empirical Software Engineering , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

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

[12]  Amela Karahasanovic,et al.  A survey of controlled experiments in software engineering , 2005, IEEE Transactions on Software Engineering.

[13]  Arie van Deursen,et al.  Empirical research in software architecture: opportunities, challenges, and approaches , 2011, Empirical Software Engineering.

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

[15]  Lefteris Angelis,et al.  The Success Factors Powering Industry-Academia Collaboration , 2012, IEEE Software.

[16]  Ivica Crnkovic,et al.  15 years of CBSE symposium: impact on the research community , 2012, CBSE '12.

[17]  Danny Weyns,et al.  Claims and Evidence for Architecture-Based Self-adaptation: A Systematic Literature Review , 2013, ECSA.

[18]  Philippe Kruchten,et al.  Issues in Applying Empirical Software Engineering to Software Architecture , 2007, ECSA.

[19]  Natalia Juristo Juzgado,et al.  Are Students Representatives of Professionals in Software Engineering Experiments? , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[20]  Tore Dybå,et al.  The Future of Empirical Methods in Software Engineering Research , 2007, Future of Software Engineering (FOSE '07).

[21]  Robert Feldt,et al.  Validity Threats in Empirical Software Engineering Research - An Initial Survey , 2010, SEKE.

[22]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[23]  Vahid Garousi,et al.  Highly-cited papers in software engineering: The top-100 , 2016, Inf. Softw. Technol..

[24]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[25]  Grigori Melnik,et al.  On the success of empirical studies in the international conference on software engineering , 2006, ICSE.