Abstract
Software engineering is related to a set of disciplines both inside and outside computing. One of the aspects to consider in the development of a discipline is cross fertilization. In this paper, author reviews the cross fertilization produced by related disciplines in Software Engineering. The influences come from Computer Engineering and Computer Science inside computing outside this field quality and project management, naming just a few of them. More in particular by focusing on specific technologies, author will overview bidirectional relationships between two of the most promising technologies nowadays namely: blockchain and machine learning.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abran, A., Fairley, D.: SWEBOK: GUIDE to the Software Engineering Body of Knowledge Version 3. IEEE Computer Society, Los Alamitos (2014)
Alpaydin, E.: Introduction to Machine Learning. MIT Press, Cambridge (2020)
Alvargonzález, D.: Multidisciplinarity, interdisciplinarity, transdisciplinarity, and the sciences. Int. Stud. Philos. Sci. 25(4), 387–403 (2011). https://doi.org/10.1080/02698595.2011.623366
Angelis, J., Ribeiro da Silva, E.: Blockchain adoption: a value driver perspective. Bus. Horiz. 62(3), 307–314 (2019). https://doi.org/10.1016/j.bushor.2018.12.001
Ardis, M., et al.: SE 2014: curriculum guidelines for undergraduate degree programs in software engineering. Computer 48(11), 106–109 (2015). https://doi.org/10.1109/MC.2015.345
Azeem, M.I., et al.: Machine learning techniques for code smell detection: a systematic literature review and meta-analysis. Inf. Softw. Technol. 108, 115–138 (2019). https://doi.org/10.1016/j.infsof.2018.12.009
Bai, C., Sarkis, J.: A supply chain transparency and sustainability technology appraisal model for blockchain technology. Int. J. Prod. Res. 58, 2142–2162 (2020). https://doi.org/10.1080/00207543.2019.1708989
Beller, M., Hejderup, J.: Blockchain-based software engineering. In: Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results, pp. 53–56. IEEE Press, Montreal (2019). https://doi.org/10.1109/ICSE-NIER.2019.00022
Broy, M.: Mathematics of software engineering. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, pp. 18–48. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60117-1_3
Chakraborty, P., et al.: Understanding the software development practices of blockchain projects: a survey. In: Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 1–10. Association for Computing Machinery, Oulu (2018). https://doi.org/10.1145/3239235.3240298
Coblenz, M.: Obsidian: a safer blockchain programming language. In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). pp. 97–99 (2017). https://doi.org/10.1109/ICSE-C.2017.150
Curtis, B.: Fifteen years of psychology in software engineering: individual differences and cognitive science. In: Proceedings of the 7th International Conference on Software Engineering, pp. 97–106. IEEE Press, Orlando (1984)
Di Francesco Maesa, D., Mori, P.: Blockchain 3.0 applications survey. J. Parallel Distrib. Comput. 138, 99–114 (2020). https://doi.org/10.1016/j.jpdc.2019.12.019
Dogan, M.: Creative Marginality: Innovation at the Intersections of Social Sciences. Routledge, Abingdon (2019)
Dogan, M., Pahre, R.: Fragmentation and recombination of the social sciences. Stud. Comp. Int. Dev. 24(2), 56–72 (1989). https://doi.org/10.1007/BF02687172
Domik, G., Fischer, G.: Coping with complex real-world problems: strategies for developing the competency of transdisciplinary collaboration. In: Reynolds, N., Turcsányi-Szabó, M. (eds.) KCKS 2010. IAICT, vol. 324, pp. 90–101. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15378-5_9
Dougherty, J.P.: MATH COUNTS: where mathematics meets software engineering. ACM Inroads 8(3), 13–15 (2017). https://doi.org/10.1145/3123734
Dybå, T., et al.: Qualitative research in software engineering. Empir. Softw. Eng. 16(4), 425–429 (2011). https://doi.org/10.1007/s10664-011-9163-y
Efanov, D., Roschin, P.: The all-pervasiveness of the blockchain technology. Procedia Comput. Sci. 123, 116–121 (2018). https://doi.org/10.1016/j.procs.2018.01.019
França, A.C.C., et al.: Motivation in software engineering industrial practice: a cross-case analysis of two software organisations. Inf. Softw. Technol. 56(1), 79–101 (2014). https://doi.org/10.1016/j.infsof.2013.06.006
Gren, L., et al.: The perceived effects of group developmental psychology training on agile software development teams. IEEE Softw. (2019). https://doi.org/10.1109/MS.2019.2955675
Hoda, R., et al.: Socio-cultural challenges in global software engineering education. IEEE Trans. Educ. 60(3), 173–182 (2017). https://doi.org/10.1109/TE.2016.2624742
Hu, T., et al.: An evolutionary learning and network approach to identifying key metabolites for osteoarthritis. PLOS Comput. Biol. 14(3), e1005986 (2018). https://doi.org/10.1371/journal.pcbi.1005986
Jordan, M.I., Mitchell, T.M.: Machine learning: trends, perspectives, and prospects. Science 349(6245), 255–260 (2015). https://doi.org/10.1126/science.aaa8415
Juristo, N., Moreno, A.M.: Basics of Software Engineering Experimentation. Springer, Heidelberg (2013)
Kazman, R., Pasquale, L.: Software engineering in society. IEEE Softw. 37(1), 7–9 (2020). https://doi.org/10.1109/MS.2019.2949322
Khomh, F., et al.: Software engineering for machine-learning applications: the road ahead. IEEE Softw. 35(5), 81–84 (2018). https://doi.org/10.1109/MS.2018.3571224
Knight, J.C., Leveson, N.G.: Should software engineers be licensed? Commun. ACM 45(11), 87–90 (2002)
Kolb, J., et al.: Core concepts, challenges, and future directions in blockchain: a centralized tutorial. ACM Comput. Surv. 53(1), 9:1–9:39 (2020). https://doi.org/10.1145/3366370
Król, M., et al.: ChainSoft: collaborative software development using smart contracts. In: Proceedings of the 1st Workshop on Cryptocurrencies and Blockchains for Distributed Systems, pp. 1–6. ACM, New York (2018). https://doi.org/10.1145/3211933.3211934
Lao, L., et al.: A survey of IoT applications in blockchain systems: architecture, consensus, and traffic modeling. ACM Comput. Surv. 53(1), 18:1–18:32 (2020). https://doi.org/10.1145/3372136
Leahey, E., Reikowsky, R.C.: Research specialization and collaboration patterns in sociology. Soc. Stud. Sci. 38(3), 425–440 (2008). https://doi.org/10.1177/0306312707086190
LeBlanc, R.J., Sobel, A.: Software Engineering 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. IEEE Computer Society, Los Alamitos (2014)
Lenarduzzi, V., et al.: Blockchain applications for agile methodologies. In: Proceedings of the 19th International Conference on Agile Software Development: Companion, pp. 1–3. Association for Computing Machinery, Porto (2018). https://doi.org/10.1145/3234152.3234155
Madni, A.M.: Transdisciplinarity: reaching beyond disciplines to find connections. J. Integr. Des. Process Sci. 11(1), 1–11 (2007)
Malhotra, R.: A systematic review of machine learning techniques for software fault prediction. Appl. Soft Comput. 27, 504–518 (2015). https://doi.org/10.1016/j.asoc.2014.11.023
Marchesi, M., et al.: An agile software engineering method to design blockchain applications. In: Proceedings of the 14th Central and Eastern European Software Engineering Conference Russia, pp. 1–8. Association for Computing Machinery, Moscow (2018). https://doi.org/10.1145/3290621.3290627
Marsland, S.: Machine Learning: An Algorithmic Perspective, 2nd edn. CRC Press, Boca Raton (2015)
Matsubara, T., Ebert, C.: Guest editor’s introduction: benefits and applications of cross-pollination. IEEE Softw. 17(1), 24 (2000)
Memeti, S., Pllana, S., Binotto, A., Kołodziej, J., Brandic, I.: Using meta-heuristics and machine learning for software optimization of parallel computing systems: a systematic literature review. Computing 101(8), 893–936 (2018). https://doi.org/10.1007/s00607-018-0614-9
Mendes, F.F., et al.: The relationship between personality and decision-making: a systematic literature review. Inf. Softw. Technol. 111, 50–71 (2019). https://doi.org/10.1016/j.infsof.2019.03.010
Méndez Fernández, D., Passoth, J.-H.: Empirical software engineering: from discipline to interdiscipline. J. Syst. Softw. 148, 170–179 (2019). https://doi.org/10.1016/j.jss.2018.11.019
Niazi, M., et al.: Software process improvement barriers: a cross-cultural comparison. Inf. Softw. Technol. 52(11), 1204–1216 (2010). https://doi.org/10.1016/j.infsof.2010.06.005
Novielli, N., Serebrenik, A.: Sentiment and emotion in software engineering. IEEE Softw. 36(5), 6–23 (2019). https://doi.org/10.1109/MS.2019.2924013
Parizi, R.M., et al.: Empirical vulnerability analysis of automated smart contracts security testing on blockchains. In: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering, pp. 103–113. IBM Corp., Markham (2018)
Parnas, D.: Software engineering - missing in action: a personal perspective. Computer 44(10), 54–58 (2011). https://doi.org/10.1109/MC.2011.268
Porru, S., et al.: Blockchain-oriented software engineering: challenges and new directions. In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), pp. 169–171 (2017). https://doi.org/10.1109/ICSE-C.2017.142
Rocha, H., Ducasse, S.: Preliminary steps towards modeling blockchain oriented software. In: Proceedings of the 1st International Workshop on Emerging Trends in Software Engineering for Blockchain, pp. 52–57. ACM, New York (2018). https://doi.org/10.1145/3194113.3194123
Sánchez-Gordón, M., Colomo-Palacios, R.: Taking the emotional pulse of software engineering—a systematic literature review of empirical studies. Inf. Softw. Technol. 115, 23–43 (2019). https://doi.org/10.1016/j.infsof.2019.08.002
Sharp, H., et al.: Models of motivation in software engineering. Inf. Softw. Technol. 51(1), 219–233 (2009). https://doi.org/10.1016/j.infsof.2008.05.009
Singi, K., et al.: Compliance adherence in distributed software delivery: a blockchain approach. In: 2018 IEEE/ACM 13th International Conference on Global Software Engineering (ICGSE), pp. 126–127 (2018)
Siris, V.A., et al.: Interledger approaches. IEEE Access 7, 89948–89966 (2019). https://doi.org/10.1109/ACCESS.2019.2926880
Smith, A.J.: Applications of the self-organising map to reinforcement learning. Neural Netw. 15(8), 1107–1124 (2002). https://doi.org/10.1016/S0893-6080(02)00083-7
Soomro, A.B., et al.: The effect of software engineers’ personality traits on team climate and performance: a systematic literature review. Inf. Softw. Technol. 73, 52–65 (2016). https://doi.org/10.1016/j.infsof.2016.01.006
Wang, N., et al.: When energy trading meets blockchain in electrical power system: the state of the art. Appl. Sci. 9(8), 1561 (2019). https://doi.org/10.3390/app9081561
Wang, P., et al.: QoS-aware service composition using blockchain-based smart contracts. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceedings, pp. 296–297. ACM, New York (2018). https://doi.org/10.1145/3183440.3194978
Wen, J., et al.: Systematic literature review of machine learning based software development effort estimation models. Inf. Softw. Technol. 54(1), 41–59 (2012). https://doi.org/10.1016/j.infsof.2011.09.002
Wenger, E.: Communities of Practice: Learning, Meaning, and Identity. Cambridge University Press, Cambridge (1999)
Wessling, F., Gruhn, V.: Engineering software architectures of blockchain-oriented applications. In: 2018 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 45–46 (2018). https://doi.org/10.1109/ICSA-C.2018.00019
Wrobel, M.R.: Applicability of emotion recognition and induction methods to study the behavior of programmers. Appl. Sci. 8(3), 323 (2018). https://doi.org/10.3390/app8030323
Xie, S., et al.: Blockchain for cloud exchange: a survey. Comput. Electr. Eng. 81, 106526 (2020). https://doi.org/10.1016/j.compeleceng.2019.106526
Yilmaz, M., et al.: An examination of personality traits and how they impact on software development teams. Inf. Softw. Technol. 86, 101–122 (2017). https://doi.org/10.1016/j.infsof.2017.01.005
Yilmaz, M., Tasel, S., Tuzun, E., Gulec, U., O’Connor, R.V., Clarke, P.M.: Applying blockchain to improve the integrity of the software development process. In: Walker, A., O’Connor, R.V., Messnarz, R. (eds.) EuroSPI 2019. CCIS, vol. 1060, pp. 260–271. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-28005-5_20
Zheng, Z., et al.: An overview on smart contracts: challenges, advances and platforms. Future Gener. Comput. Syst. 105, 475–491 (2020). https://doi.org/10.1016/j.future.2019.12.019
Zheng, Z., et al.: Blockchain challenges and opportunities: a survey. Int. J. Web Grid Serv. 14(4), 352–375 (2018). https://doi.org/10.1504/IJWGS.2018.095647
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Colomo-Palacios, R. (2020). Cross Fertilization in Software Engineering. In: Yilmaz, M., Niemann, J., Clarke, P., Messnarz, R. (eds) Systems, Software and Services Process Improvement. EuroSPI 2020. Communications in Computer and Information Science, vol 1251. Springer, Cham. https://doi.org/10.1007/978-3-030-56441-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-56441-4_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-56440-7
Online ISBN: 978-3-030-56441-4
eBook Packages: Computer ScienceComputer Science (R0)