Insights on Transferring Software Engineering Scientific Knowledge to Practice

Abstract


CONTEXT. In software engineering (SE), aligning research and practice has long been challenging. GOAL. To assist researchers in extracting practical issues from the practical knowledge repositories of SE and making scientific information about SE accessible to practitioners. METHOD. We conducted several empirical studies to determine the causes of the disconnect between research and practice, which makes it challenging for practitioners to seek out and apply scientific knowledge. RESULTS. We obtained data on practitioners' difficulties with finding, comprehending, and evaluating SE scientific knowledge that supported us in creating a set of eight heuristics for conducting practical research in SE.

Keywords: Software Engineering, Empirical Software Engineering, Knowledge Diffusion, Knowledge Tranfer, Knowledge Translation

References

AKIYAMA, F. An example of software system debugging. Proceedings of IFIP Congress. Ljubljana: North-Holland. 1971. p. 353-359.

ATWOOD, J.; SPOLSKY, J. Stack Overflow, 2008. Available at: <https://stackoverflow.com/>. Access Date: January 2022.

BASILI, V. R.; SELBY, R. W.; HUTCHENS, D. H. Experimentation in software engineering. Transactions on Software Engineering, New York, SE-12, n. 7, July 1986. 733-743. DOI: 10.1109/ICSE.1996.493439.

BECK, K.; CUNNINGHAM, W. Using pattern languages for object-oriented programs. Proceedings of the Workshop on Specification and Design for Object-Oriented Programming. Florida: ACM. 1987.

BENNETT, G.; JESSANI, N. The knowledge translation toolkit - bridging the know-do gap: a resource for researchers. New Delhi: Sage, 2011. 312 p.

BUDGEN, D.; KITCHENHAM, B.; BRERETON, P. The case for knowledge translation. Proceedings of the International Symposium on Empirical Software Engineering and Measurement. Baltimore: IEEE. 2013. p. 263-266. DOI: 10.1109/ESEM.2013.41.

CARVER, J. C. et al. Identifying barriers to the systematic literature. Proceedings of the International Symposium on Empirical Software Engineering and Measurement. Baltimore: IEEE. 2013. p. 203-213. DOI: 10.1109/ESEM.2013.28.

DAHL, O.-J. The roots of object-oriented programming: the Simula language. Software Pioneers, Berlin, 2002. 78-90. DOI: 10.1007/978-3-642-59412-0_6.

DYBÅ, T.; KITCHENHAM, B.; JøRGENSEN, M. Evidence-based software engineering for practitioners. IEEE Software, 22, n. 1, 10 January 2005. 58-65.

GAMMA, E. et al. Design patterns: elements of reusable object-oriented software. 1st. ed. California: Addison-Wesley, 1994. 416 p.

GAROUSI, V.; PETERSEN, K.; OZKAN, B. Challenges and best practices in industry-academia collaborations in software engineering: a systematic literature review. Information and Software Technology, Amsterdam, 79, November 2016. 106-127. DOI: 10.1016/j.infsof.2016.07.006.

HALSTEAD, M. H. Elements of Software Science. New York: North Holland, 1977.

HAMERI, A.-P. Technology-transfer between basic research and industry. Technovation, Amsterdam, 16, n. 2, February 1996. 51-57, 91-92. DOI: 10.1016/0166-4972(95)00030-5.

HEVNER, A.; CHATTERJEE, S. Design research in information systems: theory and practice. New York: Springer, 2010. DOI: 10.1007/978-1-4419-5653-8.

ISO/IEC. ISO/IEC 25010 - Software engineering - Software product quality requirements and evaluation (SQuaRE) - system and software quality models. Geneva, p. 34. 2011.

JEDLITSCHKA, A.; JURISTO, N.; ROMBACH, D. Reporting experiments to satisfy professionals' information needs. Empirical Software Engineering, New York, 19, n. 6, December 2014. 1921–1955. DOI: 10.1007/s10664-013-9268-6.

JURISTO, N.; MORENO, A. M. Basics of software engineering experimentation. 1. ed. New York: Springer, 2001. 396 p. DOI: 10.1007/978-1-4757-3304-4.

KAHLE, B.; GILLIAT, B. Alexa Intenet, 1996. Available at: <https://www.alexa.com/siteinfo/stackoverflow.com>. Access Date: January 2022.

MCCABE, T. J. A complexity measure. Transactions on Software Engineering, New York, SE-2, n. 4, December 1976. 308–320. DOI: 10.1109/tse.1976.233837.

MENDEZ, D. et al. Open science in software engineering. In: FELDERER, M.; TRAVASSOS, G. H. Contemporary empirical methods in software engineering. Cham: Springer, 2020. p. 477-501. DOI: 10.1007/978-3-030-32489-6.

PFLEEGER, S. L.; KITCHENHAM, B. A. Principles of survey research - Part 1: turning lemons into lemonade. ACM SIGSOFT Software Engineering Notes, New York, 26, n. 6, November 2001. 16-18. DOI: 10.1145/505532.505535.

RAMANATHAN, K. An overview of technology transfer and technology transfer models. Asian and Pacific Centre for Transfer of Technology. Paris, p. 28. 2008.

RIBEIRO, T. Insights on Transferring Software Engineering Scientific Knowledge to Practice. DSc Thesis: COPPE / Universidade Federal do Rio de Janeiro, 2022. 179 p.

RIBEIRO, T. V.; MASSOLLAR, J.; TRAVASSOS, G. H. Challenges and pitfalls on surveying evidence in the software engineering technical literature: An exploratory study with novices. Empirical Software Engineering, New York, 23, June 2018. 1594–1663. Available at: <http://rdcu.be/xNku>. DOI: 10.1007/s10664-017-9556-7.

RIBEIRO, T. V.; SANTOS, P. S. M. D.; TRAVASSOS, G. H. On the investigation of empirical contradictions - aggregated results of local studies on readability and comprehensibility of source code. Empirical Software Engineering, New York, Accepted for Publication in 2023.

RIBEIRO, T. V.; TRAVASSOS, G. H. Attributes influencing the reading and comprehension of source code – discussing contradictory evidence. CLEI Electronic Journal, 21, n. 1, April 2018. 1-33. DOI: 10.19153/cleiej.21.1.4.

SANTOS, P. S. M. D.; TRAVASSOS, G. H. Scientific knowledge engineering: a conceptual delineation and overview of the state of the art. The Knowledge Engineering Review, Cambridge, 31, n. 2, March 2016. 167-199. DOI: 10.1017/S0269888916000011.

SHARP, H.; DE SOUZA, C.; DITTRICH, Y. Using ethnographic methods in software engineering research. Proceedings of the International Conference on Software Engineering. Cape Town: IEEE. 2010. p. 491-492. DOI: 10.1145/1810295.1810445.

SIEGMUND, J. et al. Measuring and modeling programming experience. Empirical Software Engineering, New York, 19, n. 5, December 2014. 1299-1334. DOI: 10.1007/s10664-013-9286-4.

SJøBERG, D. I. K.; DYBÅ, T.; JøRGESEN, M. The future of empirical methods in software engineering research. Proceedings of the Future of Software Engineering Symposium. Minneapolis: IEEE. 2007. p. 358-378. DOI: 10.1109/fose.2007.30.

STRAUS, S. E.; TETROE, J.; GRAHAM, I. D. Knowledge translation in health care: moving from evidence to practice. Hoboken: Wiley, 2013. DOI: 10.1002/9781118413555.

WOHLIN, C. et al. Experimentation in software engineering. Heidelberg: Springer Berlin, 2012. 236 p. DOI: 10.1007/978-3-642-29044-2.
Published
2023-09-25
RIBEIRO, Talita V.; CARVER, Jeffrey C.; TRAVASSOS, Guilherme H.. Insights on Transferring Software Engineering Scientific Knowledge to Practice. In: SOFTWARE ENGINEERING DOCTORAL AND MASTER THESIS COMPETITION (CTD-ES) - BRAZILIAN CONFERENCE ON SOFTWARE: THEORY AND PRACTICE (CBSOFT), 14. , 2023, Campo Grande/MS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 55-69. DOI: https://doi.org/10.5753/cbsoft_estendido.2023.233446.