Synergies between Artificial Intelligence and Software Engineering

Publication

A. Ramírez, J.R. Romero. “Synergies between artificial intelligence and software engineering: evolution and trends”. Handbook on artificial intelligence-enhanced software engineering, vol. 1: Novel Methodologies to Engineering Smart Software Systems. 2022.

Wordcloud of AISE publications
Wordcloud of AISE publications

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.

Publication sources

The analysis is based on publications from 12 journals and 21 conferences (including  34 workshops).

Journals

  • ACM Transactions on Software Engineering and Methodology (TOSEM)
  • Automated Software Engineering (ASE)
  • Computer Standards and Interfaces (CSI)
  • Empirical Software Engineering (EMSE)
  • IEEE Transactions on Services Computing (TSC)
  • IEEE Transactions on Software Engineering (TSE)
  • Information and Software Technology (IST)
  • Journal of systems and Software (JSS)
  • Requirements Engineering (RE)
  • Software and Systems Modeling (SoSyM)
  • Software — Practice and Experience (SPE)
  • Software Quality Journal (SQJ)

Conferences

  • European Conference on Software Architecture (ECSA)
  • International Conference on Automated Software Engineering (ASE)
  • International Conference on Fundamental Approaches to Software Engineering (FASE)
  • International Conference on Model-Driven Engineering, Languages and Systems (MODELS)
  • International Conference on Services Computing (SCC)
  • International Conference on Service-Oriented Computing (ICSOC)
  • International Conference on Software Analysis, Evolution and Reengineering (SANER)
  • International Conference on Software Architecture (ICSA)
  • IEEE International Conference on Software Maintenance and Evolution (ICSME)
  • International Conference on the Quality of Software Architectures (QoSA), since 2017 part of ICSA.
  • International Conference on Software Engineering (ICSE)
  • International Conference on Software Testing, Verification and Validation (ICST)
  • International Requirements Engineering Conference (RE)
  • International Symposium on Empirical Software Engineering and Measurement (ESEM)
  • International Symposium on Software Testing and Analysis (ISSTA)
  • Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
  • Software Product Line Conference (SPLC)
  • Working Conference on Software Architecture (WICSA), since 2017 part of ICSA.

In addition, three specialised conferences were considered:

  • International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE)
  • International Symposium on Search-based Software Engineering (SSBSE)
  • Mining Software Repositories Conference (MSR)

Workshops

SE workshops with AI as central theme (blue solid line in the figure):

  • International Workshop on Analytics and Mining of Model Repositories (AMMoRe)
  • International Workshop on App Market Analytics (WAMA)
  • International Workshop on Artificial Intelligence and Model-driven Engineering (MDE Intelligence)
  • International Workshop on Artificial Intelligence for Mobile (AI4Mobile)
  • International Workshop on Artificial Intelligence for Requirements (AIRE)
  • International Workshop on Bots in Software Engineering (BotSE)
  • International Workshop on Genetic Improvement (GI)
  • International Workshop on Intelligent Bug Fixing (IBF)
  • International Workshop on Machine Learning and Software Testing (MLST)
  • International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE)
  • International Workshop on NLP for Software Engineering (NL4SE)
  • International Workshop on Search-Based Software Testing (SBST)
  • International Workshop on Software Analytics (SWAN)
  • International Workshop on Sofware Engineering Automation: A Natural Language Perspective (SEA-NLP)
  • International Workshop on Software Engineering Intelligence (SEI)
  • International Workshop on Software Mining (SoftwareMining)
  • International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE)
  • International Workshop on Testing for Deep Learning and Deep Learning for Testing (DeepTest)

SE workshops that include AI among their topics of interest (orange dashed line in the figure):

  • International Workshop on Advances in Mobile App Analysis (A-Mobile)
  • International Workshop on Affective Computing for Requirements Engineering (AffectReq)
  • International Workshop on Automated Specification Inference (WASPI)
  • International Workshop on Automating Test Case Design, Selection and Evaluation (A-Test)
  • International Workshop on Crowd-Based Requirements Engineering (CrowdRE)
  • International Workshop on NEXt level of Test Automation (NEXTA)
  • International Workshop on Mining and Analyzing Interaction Histories (MAINT)
  • International Workshop on Quality Requirements in Agile Projects (QuaRAP)
  • International Workshop on Refactoring (IWoR)
  • International Workshop on Requirements Engineering and Testing (RET)
  • International Workshop on Reverse Variability Engineering (REVE)
  • Workshop on Software Architecture Erosion and Architectural Consistency (SAEroCon)
  • International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS)
  • International Workshop on Software Qualities and their Dependencies (SQUADE)
  • International Workshop on Software Test Architecture (InSTA)
  • International Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems (ITEQS)
Timeline showing the creation of workshops related to AI topics in software engineering conferences. Number of workshop editions is specified in parenthesis.

Additional material

Keywords used for automatic classification

Artificial intelligence: machine learning and data mining (143) | knowledge representation and reasoning (37) | search and optimisation (100) | communication and perception (25) | root terms

Software engineering: architecture and product lines (25) | development support (44) | maintenance and evolution (59) | methodological aspects and general SE topics (15) | mobile, IoT and cyber-physical systems (23) | modelling and design (28) | programming (24) | project management (19) | quality and metrics (35) | requirements (23) | services and cloud computing (20)| testing, validation and verification (84)

Frequency of keywords in selected publications

Keyword evolution by AI area [CSV]

Software engineering: architecture and product lines | development support | maintenance and evolution | methodological aspects and general SE topics | mobile, IoT and cyber-physical systems | modelling and design | programming | project management | quality and metrics | requirements | services and cloud computing | testing, validation and verification

List of publications and classification datasets

List of selected publications [CSV] [Bibtex]

Classification by AI area [CSV] or SE topic [CSV]

List of authors

For each SE area, the list of authors and their number of publications is extracted:

architecture and product lines | development support | maintenance and evolution | methodological aspects and general SE topics | mobile, IoT and cyber-physical systems | modelling and design | programming | project management | quality and metrics | requirements | services and cloud computing | testing, validation and verification

AI-tools and frameworks

The next table provides a list of tools based on some AI technique, and that have been published between 2015 and 2020. The year corresponds to the last release. If no release is available, the year of the last commit is indicated. If the tool is not hosted on a repository, the year of the publication is used instead.

Tool SE topic AI approach Release Licence Year
AQUSA User-stories requirement analysis NLP  N/A N/A 2019
ARSENAL-GSD Development teams Sentiment analysis N/A CC 4.0 2019
ASketch Alloy model validation SAT solver N/A MIT  2018
ASTOR Automatic software repair Search  N/A  GPL 2.0 2021
CloneCognition Code clone detection Machine learning  N/A  MIT 2019
ConPan Docker analyser MSR 1.0.0  GPL 3.0 2019
CrossPare Defect prediction Machine learning  N/A Apache 2.0 2020
DeepCommenter Code comment generation Machine learning, MSR  N/A  MIT 2021
DeepMutation Mutation testing Machine learning  N/A N/A 2019
DiffTech Development technologies comparison MSR  N/A N/A 2020
EvoMaster System-level test generation Search  1.1.0  LGPL 3.0 2020
EvoSQL SQL query testing Search  1.0 Apache 2.0 2018
EvoSuite Test suite generation Search 1.1.0 N/A 2020
FEMIR Framework recommendation Graph mining  N/A N/A 2017
JCOMIX Vulnerability detection Search N/A N/A 2019
L-CMP Verification Data mining N/A N/A 2018
Mono2Micro Architecture migration Machine learning 1.0 MIT 2021
MOTSD Test selection Search  N/A  MIT 2019
NARCIA Requirement change analysis NLP N/A N/A 2015
OCELOT Test data generation Search N/A N/A 2018
OPLA Product line architecture Search  N/A N/A 2015
RecoLibry Recommender systems development Ontology  N/A  GPL 3.0 2019
Platys User-context App development Machine learning  N/A N/A 2015
Senti4SD Developers’ communication Sentiment analysis  1.0 MIT 2018
SentiCR Code review Sentiment analysis  N/A N/A 2017
SentiStength-SE Developers’ communication Sentiment analysis  N/A N/A 2016
SimCoTest Test suite generation Search  N/A N/A 2017
SoftMon Performance comparison Machine learning, NLP N/A N/A 2020
STYLE-ANALYZER Code format fixing Machine learning, MSR  0.2.0 N/A 2019
Tarski Traceability analysis Automatic reasoning  2.1.3 EPL 1.0 2017
TESTAR GUI testing Search 2.2.14 BSD3 2020
UIED GUI design Computer vision, machine learning  2.2 N/A  2020
UMGT Test case generation NLP, search  N/A GPL 3.0 2017
VISTA Web test repair Computer vision  N/A  Apache 2.0 2018
XFix Layout repair Search  N/A N/A 2018

 

The next table summarises specific frameworks to support the development of AI-based solutions for SE problems,  which have been published between 2015 and 2020. The year corresponds to the last release.

Framework Support to Language Release Licence Year
Candoia Mining software repositories Various 0.1.2 Apache 2.0/MIT 2017
CrossMiner Mining software repositories, NLP Java 0.1.5 EPL 1.0 2015
Gin Genetic improvement Java 2.0 MIT 2019
PyDriller Mining software repositories Python 1.15.5 Apache 2.0 2021
PyGGI Genetic improvement Python 1.0 MIT 2018

Wordcloud of AISE publications: Machine learning and data mining

Wordcloud of AISE publications: Knowledge representation and reasoning

Wordcloud of AISE publications: Search and optimisation

Wordcloud of AISE publications: Communication and perception

 

At the ages of fifty four fifty can advise you that I'onal ended up lucky not to have wanted the product sooner, nevertheless loosing your partner of 25yrs 2010 became a curve which modified me personally for a long time. Now there came out a place exactly where click to read fifty had visit to have my tastes fulfilled only to find out this plumbing related desired just a little poke. So I questioned my own Computer system doc intended for a little something with tiny facet is affecting. He or she provided the particular recommended you read Cialis regular 5mg. 1st working day fifty had 5mg without any help to discover more help in the event that t discovered virtually any difference considering the woman never was planning determine, which'azines our system and also l'meters being dedicated to the idea. Regardless, these materials Operates, along with is useful. And click here then up coming night time with your ex m took 10mg at 8pm, and the rest is heritage. Through 13:double zero fifty manufactured my own move, but it appeared to be the most element to live in place until finally the sunlight came up upward , 100%Pleased :)When i't thirty-two as well as gone pretty much 1,5 years without intercourse. I had created pop over to this website plenty of anxiousness related penile erection challenges. And hop over to here then We found this specific great which woman My spouse and i started courting, along with first 2 times us all sex didn'to determine which properly, and i also appeared to be worried about just what exactly your woman considered this matter. We obtained braveness to visit and request cialis approved from the health practitioner. When i had taken 10mg product and it labored perfectly. I could truthfully continue on having sex many times a day without the problems. Merely bad thing is a smallish frustration. For me this can be truly a wonder drug.