Skip to main content

Synergies Between Artificial Intelligence and Software Engineering: Evolution and Trends

  • Chapter
  • First Online:
Handbook on Artificial Intelligence-Empowered Applied Software Engineering

Abstract

Artificial intelligence (AI) is expected to change the way software engineers deal with the tasks of the software process lifecycle. Recently, we have experienced a growth in proposals based on the different branches of AI, given rise to novel areas of research and opening new possibilities to industrial practices. For example, search-based software engineering provides algorithms to search for better or optimised solutions to complex tasks in the software development process. Also, software analytics applies machine learning and mining techniques to discover knowledge from code repositories, developers’ forums or technical documentation, among other sources. Natural language processing and automatic reasoning are other AI areas whose techniques are serving to model and infer knowledge from software artefacts and documentation. In short, professionals have more resources now, but still need to understand the scope of AI methods for their effective use, and how they fit into their problems. In this chapter, we present a study of current AI trends in software engineering research, focused on the techniques more applicable to distinct aspects of the software process. Our analysis makes special emphasis on the innovative applications that integrate different AI perspectives, and the tools available to facilitate progress in AI-enhanced software engineering.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://clarivate.com/webofsciencegroup/solutions/journal-citation-reports/ (Last accessed: July 12, 2021).

  2. 2.

    http://scie.lcc.uma.es/gii-grin-scie-rating/ (Last accessed: July 12, 2021).

  3. 3.

    https://www.ieee.org/content/dam/ieee-org/ieee/web/org/pubs/ieee-taxonomy.pdf (Last accessed: July 12, 2021).

  4. 4.

    https://www.uco.es/grupos/kdis/sbse/aise.

  5. 5.

    The full list of authors is available from: https://www.uco.es/grupos/kdis/sbse/aise.

  6. 6.

    The full list of keywords is available from: https://www.uco.es/grupos/kdis/sbse/aise.

  7. 7.

    Notice that general keywords referring to research areas (e.g., ML or SBSE) are not included in Table 2.5, which is focused on types of techniques.

  8. 8.

    https://www.uco.es/grupos/kdis/sbse/aise.

  9. 9.

    https://www.uco.es/grupos/kdis/sbse/aise.

  10. 10.

    https://www.cs.waikato.ac.nz/ml/weka/ (Last accessed: July 12, 2021).

  11. 11.

    https://scikit-learn.org/ (Last accessed: July 12, 2021).

  12. 12.

    https://jmetal.github.io/jMetal/ (Last accessed: July 12, 2021).

  13. 13.

    http://sentistrength.wlv.ac.uk/ (Last accessed: July 12, 2021).

References

  1. M. Al-Refai, W. Cazzola, S. Ghosh, A fuzzy logic based approach for model-based regression test selection, in Proceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS) (2017), pages 55–62

    Google Scholar 

  2. V. Alizadeh, M. Kessentini, Reducing interactive refactoring effort via clustering-based multi-objective search, in Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE) (2018), pages 464–474

    Google Scholar 

  3. H. Almulla, G. Gay, Learning how to search: generating exception-triggering tests through adaptive fitness function selection, in Proceedings of the IEEE 13th International Conference on Software Testing, Validation and Verification (ICST) (2020), pages 63–73

    Google Scholar 

  4. Q. Alsarhan, B.S. Ahmed, M. Bures, K.Z. Zamli, Software module clustering: an in-depth literature analysis. IEEE Trans. Softw. Eng. pp. 1–1 (2020)

    Google Scholar 

  5. C. Arora, M. Sabetzadeh, L. Briand, F. Zimmer, Automated extraction and clustering of requirements glossary terms. IEEE Trans. Softw. Eng. 43(10), 918–945 (2017)

    Article  Google Scholar 

  6. M.I. Azeem, F. Palomba, L. Shi, Q. Wang, Machine learning techniques for code smell detection: a systematic literature review and meta-analysis. Inf. Softw. Technol. 108, 115–138 (2019)

    Article  Google Scholar 

  7. B. Bai, Y. Fan, W. Tan, J. Zhang, DLTSR: A deep learning framework for recommendations of long-tail web services. IEEE Trans. Serv. Comput. 13(1), 73–85 (2020)

    Article  Google Scholar 

  8. M. Bajammal, A. Stocco, D. Mazinanian, A. Mesbah. A survey on the use of computer vision to improve software engineering tasks. IEEE Trans. Softw. Eng., p. 1 (2020)

    Google Scholar 

  9. L. Briand, AI in SE: a 25-year Journey (Keynote), in 1st International Workshop on Software Engineering Intelligence (2019)

    Google Scholar 

  10. J. Bulegon Gassen, J. Mendling, A. Bouzeghoub, L. H. Thom, J. Palazzo M. de Oliveira, An experiment on an ontology-based support approach for process modeling. Inf. Softw. Technol. 83, 94–115 (2017)

    Google Scholar 

  11. Z. Cao, Y. Tian, T.-D.B. Le, D. Lo, Rule-based specification mining leveraging learning to rank. Autom. Softw. Eng. 25, 3 (2018)

    Article  Google Scholar 

  12. A. Capiluppi, D. Di Ruscio, J. Di Rocco, P.T. Nguyen, N. Ajienka, Detecting Java software similarities by using different clustering techniques. Inf. Softw. Technol. 122, 106279 (2020)

    Article  Google Scholar 

  13. G. Chatzikonstantinou, K. Kontogiannis, Efficient parallel reasoning on fuzzy goal models for run time requirements verification. Softw. Syst. Model. 17(4), 1339–1364 (2018)

    Article  Google Scholar 

  14. T.-H. Chen, S.W. Thomas, A.E. Hassan, A survey on the use of topic models when mining software repositories. Empir. Softw. Eng. 21(5), 1843–1919 (2016)

    Article  Google Scholar 

  15. A. Ciurumelea, S. Proksch, H.C. Gall, Suggesting comment completions for python using neural language models, in Proceedings of the IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER) (2020), pp. 456–467

    Google Scholar 

  16. M.B. Cohen. The maturation of search-based software testing: successes and challenges, in Proceedings of the 12th International Workshop on Search-Based Software Testing (SBST) (2019), pages 13—14

    Google Scholar 

  17. D.S. Cruzes, T. Dybå, Synthesizing evidence in software engineering research, in Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (2010)

    Google Scholar 

  18. E. da Silva Maldonado, E. Shihab, N. Tsantalis, Using natural language processing to automatically detect self-admitted technical debt. IEEE Trans. Softw. Eng. 43(11), 1044–1062 (2017)

    Google Scholar 

  19. F. Dalpiaz, I. van der Schalk, S. Brinkkemper, F.B. Aydemir, G. Lucassen, Detecting terminological ambiguity in user stories: tool and experimentation. Inf. Softw. Technol. 110, 3–16 (2019)

    Article  Google Scholar 

  20. H.K. Dam, T. Tran, A. Ghose, Explainable software analytics, in Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER) (2018), pages 53—56

    Google Scholar 

  21. T. de Jong, J.M.E.M. van der Werf, Process-mining based dynamic software architecture reconstruction, in Proceedings of the 13th European Conference on Software Architecture (ECSA) (2019), pages 217—224

    Google Scholar 

  22. P. Devanbu, M. Dwyer, S. Elbaum, M. Lowry, K. Moran, D. Poshyvanyk, B. Ray, R. Singh, X. Zhang, Deep Learning & Software Engineering: State of Research and Future Directions. Technical report, NSF Workshop on Deep Learning and Software Engineering (2019). Available from: https://dlse-workshop.gitlab.io/community-report/

  23. C. Ebert, J. Heidrich, S. Martinez-Fernandez, A. Trendowicz, Data science: technologies for better software. IEEE Softw. 36(06), 66–72 (2019)

    Article  Google Scholar 

  24. M. Ellmann, Natural language processing (nlp) applied on issue trackers, in Proceedings of the 4th ACM SIGSOFT International Workshop on NLP for Software Engineering (NL4SE) (2018), pages 38—41

    Google Scholar 

  25. L. Erlenhov, F. Gomes de Oliveira Neto, R. Scandariato, P. Leitner, Current and future bots in software development, in 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE) (2019), pp. 7–11

    Google Scholar 

  26. G. Esteves, E. Figueiredo, A. Veloso, M. Viggiato, N. Ziviani, Understanding machine learning software defect predictions. Autom. Softw. Eng. 27(3), 369–392 (2020)

    Article  Google Scholar 

  27. M. Fazzini, M. Prammer, M. d’Amorim, A. Orso, Automatically translating bug reports into test cases for mobile apps, in Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) (2018), pp. 141—152

    Google Scholar 

  28. R. Feldt, F. Gomes de Oliveira Neto, R. Torkar, Ways of applying artificial intelligence in software engineering, in Proceedings of 6th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE) (2018), pages 35–41

    Google Scholar 

  29. L.A. Ferreira Gomes, R. da Silva Torres, M.L. Côrtes, Bug report severity level prediction in open source software: a survey and research opportunities. Inf. Softw. Technol. 115, 58–78 (2019)

    Google Scholar 

  30. S. Fu, B. Shen, Code bad smell detection through evolutionary data mining, in Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (2015), pp. 1–9

    Google Scholar 

  31. K. Gallaba, S. McIntosh, Use and misuse of continuous integration features: an empirical study of projects that (Mis)use Travis CI. IEEE Trans. Softw. Eng. 46(1), 33–50 (2020)

    Article  Google Scholar 

  32. L. Gazzola, D. Micucci, L. Mariani, Automatic software repair: a survey. IEEE Trans. Software Eng. 45(1), 34–67 (2019)

    Article  Google Scholar 

  33. R. George, P. Samuel, Fixing class design inconsistencies using self regulating particle swarm optimization. Inf. Softw. Technol. 99, 81–92 (2018)

    Article  Google Scholar 

  34. D.L. Giudice, How AI Will Change Software Development And Applications. Technical report, Forrester (2016)

    Google Scholar 

  35. G. Guizzo, M. Bazargani, M. Paixao, J.H. Drake, A hyper-heuristic for multi-objective integration and test ordering in Google Guava, in Proceedings of the 9th International Symposium on Search Based Software Engineering (SSBSE) (2017), pp. 168–174

    Google Scholar 

  36. M. Hamill, K. Goseva-Popstojanova, Analyzing and predicting effort associated with finding and fixing software faults. Inf. Softw. Technol. 87, 1–18 (2017)

    Article  Google Scholar 

  37. M. Hamza, R.J. Walker, Recommending features and feature relationships from requirements documents for software product lines, in Proceedings of the IEEE/ACM 4th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE) (2015), pp. 25–31

    Google Scholar 

  38. M. Harman, The role of artificial intelligence in software engineering, in Proceedings of 1st International Workshop on Realizing AI Synergies in Software Engineering (RAISE) (2012), pages 1–6

    Google Scholar 

  39. A.E. Hassan, The road ahead for mining software repositories, in 2008 Frontiers of Software Maintenance (2008), pp. 48–57

    Google Scholar 

  40. V. Honsel, S. Herbold, J. Grabowski, Hidden Markov models for the prediction of developer involvement dynamics and workload, in Proceedings of the The 12th International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE) (2016)

    Google Scholar 

  41. S. Hosseini, B. Turhan, D. Gunarathna, A systematic literature review and meta-analysis on cross project defect prediction. IEEE Trans. Softw. Eng. 45(2), 111–147 (2019)

    Article  Google Scholar 

  42. Y. Kang, B. Ray, S. Jana, APEx: automated inference of error specifications for C APIs, in Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE) (2016), pp. 472—482, 2016

    Google Scholar 

  43. D. Karanatsiou, Y. Li, E.-M. Arvanitou, N. Misirlis, W.E. Wong, A bibliometric assessment of software engineering scholars and institutions (2010–2017). J. Syst. Softw. 147, 246–261 (2019)

    Article  Google Scholar 

  44. L. Kumar, S.K. Sripada, A. Sureka, S.K. Rath, Effective fault prediction model developed using least square support vector machine (lssvm). J. Syst. Softw. 137, 686–712 (2018)

    Article  Google Scholar 

  45. W.B. Langdon, Genetic improvement of software for multiple objectives, in Proceedings of 7th International Symposium on Search-Based Software Engineering (SSBSE) (2015), pp. 12–28

    Google Scholar 

  46. Y. Lei, Z. Jiantao, Z. Junxing, W. Fengqi, W. Juan, Time-aware semantic web service recommendation, in 2015 IEEE International Conference on Services Computing (2015), pp. 664–671

    Google Scholar 

  47. H. Leopold, F. Pittke, J. Mendling, Automatic service derivation from business process model repositories via semantic technology. J. Syst. Softw. 108, 134–147 (2015)

    Article  Google Scholar 

  48. T. Li, Z. Chen, An ontology-based learning approach for automatically classifying security requirements. J. Syst. Softw. 165, 110566 (2020)

    Article  Google Scholar 

  49. T. Li, T. He, Z. Wang, Y. Zhang, D. Chu, Unraveling process evolution by handling concept drifts in process mining, in Proceedings of the IEEE International Conference on Services Computing (SCC) (2017), pp. 442–449

    Google Scholar 

  50. Y. Li, Z. Yang, Y. Guo, X. Chen, Humanoid: a deep learning-based approach to automated black-box android app testing, in Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) (2019), pp. 1070–1073

    Google Scholar 

  51. Z. Li, T.-H.P. Chen, W. Shang, Where shall we log? Studying and suggesting logging locations in code blocks, in Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE) (2020), pages 361—372

    Google Scholar 

  52. B. Lin, F. Zampetti, G. Bavota, M. Di Penta, M. Lanza, R. Oliveto, Sentiment analysis for software engineering: how far can we go? in Proceedings of the 40th International Conference on Software Engineering (ICSE) (Association for Computing Machinery, New York, 2018), pp. 94—104

    Google Scholar 

  53. A. Mahmoud, G. Bradshaw, Estimating semantic relatedness in source code. ACM Trans. Softw. Eng. Methodol. 25(1) (2015)

    Google Scholar 

  54. O. Malgonde, K. Chari, An ensemble-based model for predicting agile software development effort. Empir. Softw. Eng. 24(2), 1017–1055 (2019)

    Article  Google Scholar 

  55. M. Manzano, E. Mendes, C. Gómez, C. Ayala, X. Franch, Using Bayesian networks to estimate strategic indicators in the context of rapid software development, in Proceedings of the 14th International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE) (2018), pp. 52—55

    Google Scholar 

  56. T. Mariani, S.R. Vergilio, A systematic review on search-based refactoring. Inf. Softw. Technol. 83, 14–34 (2017)

    Article  Google Scholar 

  57. W. Martin, F. Sarro, Y. Jia, Y. Zhang, M. Harman, A survey of app store analysis for software engineering. IEEE Trans. Softw. Eng. 43(9), 817–847 (2017)

    Article  Google Scholar 

  58. M.J. Mashhadi, T.R. Siddiqui, H. Hemmati, H. Loewen, Interactive semi-automated specification mining for debugging: an experience report. Inf. Softw. Technol. 113, 20–38 (2019)

    Article  Google Scholar 

  59. G. Mathew, T. Menzies, Software engineering’s top topics, trends, and researchers. IEEE Softw. 35(5), 88–93 (2018)

    Article  Google Scholar 

  60. A. Mavin, S. Mavin, B. Penzenstadler, C.C. Venters, Towards an ontology of requirements engineering approaches, in Proceedings of the IEEE 27th International Requirements Engineering Conference (RE) (2019), pp. 514–515

    Google Scholar 

  61. J. McZara, S. Sarkani, T. Holzer, T. Eveleigh, software requirements prioritization and selection using linguistic tools and constraint solvers-a controlled experiment. Empir. Softw. Eng. 20(6), 1721–1761 (2015)

    Article  Google Scholar 

  62. R. Mehra, V.S. Sharma, V. Kaulgud, S. Podder, XRaSE: towards virtually tangible software using augmented reality, in Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) (2019), pp. 1194–1197

    Google Scholar 

  63. L. Merino, M. Lungu, C. Seidl, Unleashing the potentials of immersive augmented reality for software engineering, in Proceedings of the IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER) (2020), pp. 517–521

    Google Scholar 

  64. Q. Mi, J. Keung, Y. Yu, Measuring the stylistic inconsistency in software projects using hierarchical agglomerative clustering, in Proceedings of the 12th International Conference on Predictive Models and Data Analytics in Software Engineering (2016)

    Google Scholar 

  65. J. Misra, Terminological inconsistency analysis of natural language requirements. Inf. Softw. Technol. 74, 183–193 (2016)

    Article  Google Scholar 

  66. M. Mondal, B. Roy, C.K. Roy, K.A. Schneider, Associating code clones with association rules for change impact analysis, in Proceedings of the IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER) (2020), pp. 93–103

    Google Scholar 

  67. A. Monemi Bidgoli, H. Haghighi, Augmenting ant colony optimization with adaptive random testing to cover prime paths. J. Syst. Softw. 161, 110495 (2020)

    Google Scholar 

  68. C.D. Newman, R.S. AlSuhaibani, M.J. Decker, A. Peruma, D. Kaushik, M.W. Mkaouer, E. Hill, On the generation, structure, and semantics of grammar patterns in source code identifiers. J. Syst. Softw. 170, 110740 (2020)

    Article  Google Scholar 

  69. H. Niu, I. Keivanloo, Y. Zou, API usage pattern recommendation for software development. J. Syst. Softw. 129, 127–139 (2017)

    Article  Google Scholar 

  70. M.E. Nol, M.-R. Sancho, E. Teniente, Ensuring the semantic correctness of a BAUML artifact-centric BPM. Inf. Softw. Technol. 93, 147–162 (2018)

    Article  Google Scholar 

  71. W. Oliveira, R. Oliveira, F. Castor, A study on the energy consumption of android app development approaches, in Proceedings of the IEEE/ACM 14th International Conference on Mining Software Repositories (MSR) (2017), pp. 42–52

    Google Scholar 

  72. X. Oriol, E. Teniente, Simplification of UML/OCL schemas for efficient reasoning. J. Syst. Softw. 128, 130–149 (2017)

    Article  Google Scholar 

  73. J. Ott, A. Atchison, P. Harnack, A. Bergh, E. Linstead, A deep learning approach to identifying source code in images and video, in Proceedings of the IEEE/ACM 15th International Conference on Mining Software Repositories (MSR) (2018), pp. 376–386

    Google Scholar 

  74. R. Özakinci, A. Tarhan, Early software defect prediction: a systematic map and review. J. Syst. Softw. 144, 216–239 (2018)

    Article  Google Scholar 

  75. F. Palomba, R. Oliveto, A. De Lucia, Investigating code smell co-occurrences using association rule learning: a replicated study, in Proceedings of the IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE) (2017), pp. 8–13

    Google Scholar 

  76. A. Panichella, Beyond unit-testing in search-based test case generation: challenges and opportunities, in Proceedings of the IEEE/ACM 12th International Workshop on Search-Based Software Testing (SBST) (2019), pp. 7–8

    Google Scholar 

  77. D. Partridge, Artificial intelligence and software engineering: a survey of possibilities. Inf. Softw. Technol. 30(3), 146–152 (1988)

    Article  Google Scholar 

  78. S. Pérez-Soler, E. Guerra, J. de Lara, F. Jurado, The rise of the (modelling) bots: towards assisted modelling via social networks, in Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE) (2017), pp. 723–728

    Google Scholar 

  79. M.C. Platenius, A. Shaker, M. Becker, E. Hüllermeier, W. Schäfer, Imprecise matching of requirements specifications for software services using fuzzy logic. IEEE Trans. Softw. Eng. 43(8), 739–759 (2017)

    Article  Google Scholar 

  80. L. Ponzanelli, G. Bavota, A. Mocci, R. Oliveto, M.D. Penta, S. Haiduc, B. Russo, M. Lanza, Automatic identification and classification of software development video tutorial fragments. IEEE Trans. Softw. Eng. 45(5), 464–488 (2019)

    Article  Google Scholar 

  81. D. Pradhan, S. Wang, S. Ali, T. Yue, M. Liaaen, Employing rule mining and multi-objective search for dynamic test case prioritization. J. Syst. Softw. 153, 86–104 (2019)

    Article  Google Scholar 

  82. W. Qian, X. Peng, B. Chen, J. Mylopoulos, H. Wang, W. Zhao, Rationalism with a dose of empiricism: combining goal reasoning and case-based reasoning for self-adaptive software systems. Requirements Eng. 20, 233–252 (2015)

    Article  Google Scholar 

  83. A. Ramírez, J.R. Romero, C.L. Simons, A systematic review of interaction in search-based software engineering. IEEE Trans. Softw. Eng. 45(8), 760–781 (2019)

    Article  Google Scholar 

  84. A. Ramírez, J.R. Romero, S. Ventura, A survey of many-objective optimisation in search-based software engineering. J. Syst. Softw. 149, 382–395 (2019)

    Article  Google Scholar 

  85. A.V. Rezende, L. Silva, A. Britto, R. Amaral, Software project scheduling problem in the context of search-based software engineering: a systematic review. J. Syst. Softw. 155, 43–56 (2019)

    Article  Google Scholar 

  86. S. Romano, N. Capece, U. Erra, G. Scanniello, M. Lanza, On the use of virtual reality in software visualization: the case of the city metaphor. Inf. Softw. Technol. 114, 92–106 (2019)

    Article  Google Scholar 

  87. S. Rose, D. Engel, N. Cramer, W. Cowley, Automatic Keyword Extraction from Individual Documents, chapter 1 (Wiley, 2010), pp. 1–20

    Google Scholar 

  88. S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, 4th edn. (Pearson, 2020)

    Google Scholar 

  89. K. Shi, Combining evolutionary algorithms with constraint solving for configuration optimization, in Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME) (2017), pp. 665–669

    Google Scholar 

  90. I. Stavropoulou, M. Grigoriou, K. Kontogiannis, Case study on which relations to use for clustering-based software architecture recovery. Empir. Softw. Eng. 22(4), 1717–1762 (2017)

    Article  Google Scholar 

  91. A. Stocco, R. Yandrapally, A. Mesbah, Visual web test repair, in Proceedings of the 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) (2018), pp. 503—514

    Google Scholar 

  92. C. Tantithamthavorn, S. McIntosh, A.E. Hassan, K. Matsumoto, The impact of automated parameter optimization on defect prediction models. IEEE Trans. Softw. Eng. 45(7), 683–711 (2019)

    Article  Google Scholar 

  93. O. Tibermacine, C. Tibermacine, F. Cherif, Estimating the reputation of newcomer web services using a regression-based method. J. Syst. Softw. 145, 112–124 (2018)

    Article  Google Scholar 

  94. D. Tosi, S. Morasca, Supporting the semi-automatic semantic annotation of web services: a systematic literature review. Inf. Softw. Technol. 61, 16–32 (2015)

    Article  Google Scholar 

  95. A. Tosun, A.B. Bener, S. Akbarinasaji, A systematic literature review on the applications of bayesian networks to predict software quality. Softw. Qual. J. 25, 273–305 (2017)

    Article  Google Scholar 

  96. G. Uddin, F. Khomh, C.K. Roy, Mining API usage scenarios from stack overflow. Inf. Softw. Technol. 122, 106277 (2020)

    Article  Google Scholar 

  97. L. Vidács, M. Pinzger, Co-evolution analysis of production and test code by learning association rules of changes, in Proceedings of the IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE) (2018), pp. 31–36

    Google Scholar 

  98. X. Wang, X. Xu, Q.Z. Sheng, Z. Wang, L. Yao, Novel artificial bee colony algorithms for QoS-aware service selection. IEEE Trans. Serv. Comput. 12(2), 247–261 (2019)

    Google Scholar 

  99. W. Wen, B. Zhang, X. Gu, X. Ju, An empirical study on combining source selection and transfer learning for cross-project defect prediction, in Proceedings of the IEEE 1st International Workshop on Intelligent Bug Fixing (IBF) (2019), pp. 29–38

    Google Scholar 

  100. J. Winkler, A. Vogelsang, Automatic classification of requirements based on convolutional neural networks, in Proceedings of the IEEE 24th International Requirements Engineering Conference Workshops (REW) (2016), pp. 39–45

    Google Scholar 

  101. Y. Xiang, Y. Zhou, Z. Zheng, M. Li, Configuring software product lines by combining many-objective optimization and SAT solvers. ACM Trans. Softw. Eng. Methodol. 26(4) (2018)

    Google Scholar 

  102. X. Xiao, X. Wang, Z. Cao, H. Wang, P. Gao, IconIntent: automatic identification of sensitive UI widgets based on icon classification for android apps, in Proceedings of the IEEE/ACM 41st International Conference on Software Engineering (ICSE) (2019), pp. 257–268

    Google Scholar 

  103. R. Xie, L. Chen, W. Ye, Z. Li, T. Hu, D. Du, S. Zhang, DeepLink: a code knowledge graph based deep learning approach for issue-commit link recovery, in Proceedings of the IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) (2019), pp. 434–444

    Google Scholar 

  104. H.B. Yadav, D.K. Yadav, A fuzzy logic based approach for phase-wise software defects prediction using software metrics. Inf. Softw. Technol. 63, 44–57 (2015)

    Article  Google Scholar 

  105. R. Yan, X. Xiao, G. Hu, S. Peng, Y. Jiang, New deep learning method to detect code injection attacks on hybrid applications. J. Syst. Softw. 137, 67–77 (2018)

    Article  Google Scholar 

  106. N. Yanes, S. Ben Sassi, H. Hajjami Ben Ghezala, Ontology-based recommender system for COTS components. J. Syst. Softw. 132, 283–297 (2017)

    Google Scholar 

  107. Y. Yang, X. Huang, X. Hao, Z. Liu, Z. Chen, An industrial study of natural language processing based test case prioritization, in Proceedings of the IEEE International Conference on Software Testing, Verification and Validation (ICST) (2017), pp. 548–549

    Google Scholar 

  108. S. Young, T. Abdou, A. Bener, A replication study: just-in-time defect prediction with ensemble learning, in Proceedings of the 6th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE) (2018), pp. 42–47

    Google Scholar 

  109. J. Zhai, Y. Shi, M. Pan, G. Zhou, Y. Liu, C. Fang, S. Ma, L. Tan, X. Zhang, C2S: translating natural language comments to formal program specifications, in Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) (2020), pp. 25—37

    Google Scholar 

  110. Z. Zhang, Y. Lei, X. Mao, P. Li, CNN-FL: an effective approach for localizing faults using convolutional neural networks, in Proceedings of the IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) (2019), pp. 445–455

    Google Scholar 

  111. L. Zhao, W. Alhoshan, A. Ferrari, K. Letsholo, M. Ajagbe, E.-V. Chioasca, R. Batista-Navarro, Natural Language Processing (NLP) for Requirements Engineering (RE): a systematic mapping study. ACM Comput. Surv. (2020)

    Google Scholar 

Download references

Acknowledgements

This work was supported by Spanish Ministry of Science and Innovation (projects PID2020-115832GB-I00 and RED2018-102472-T), and the Andalusian Regional Government by means of the European Social Fund (postdoctoral grant DOC_00944).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Aurora Ramírez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ramírez, A., Romero, J.R. (2022). Synergies Between Artificial Intelligence and Software Engineering: Evolution and Trends. In: Virvou, M., Tsihrintzis, G.A., Bourbakis, N.G., Jain, L.C. (eds) Handbook on Artificial Intelligence-Empowered Applied Software Engineering. Artificial Intelligence-Enhanced Software and Systems Engineering, vol 2. Springer, Cham. https://doi.org/10.1007/978-3-031-08202-3_2

Download citation

Publish with us

Policies and ethics