SlideShare a Scribd company logo
1 of 342
Download to read offline
Maria Virvou
George A. Tsihrintzis
Nikolaos G. Bourbakis
Lakhmi C. Jain Editors
Handbook on Artificial
Intelligence-Empowered
Applied Software
Engineering
Artificial Intelligence-enhanced Software
and Systems Engineering 2
Volume1: Novel Methodologies to
Engineering Smart Software Systems
Artificial Intelligence-enhanced Software
and Systems Engineering
Volume 2
Series Editors
Maria Virvou, Department of Informatics, University of Piraeus, Piraeus, Greece
George A. Tsihrintzis, Department of Informatics, University of Piraeus, Piraeus,
Greece
Nikolaos G. Bourbakis, College of Engineering and Computer Science, Wright
State University, Dayton, OH, USA
Lakhmi C. Jain, KES International, Shoreham-by-Sea, UK
The book series AI-SSE publishes new developments and advances on all aspects
of Artificial Intelligence-enhanced Software and Systems Engineering—quickly and
with a high quality. The series provides a concise coverage of the particular topics
from both the vantage point of a newcomer and that of a highly specialized researcher
in these scientific disciplines, which results in a significant cross-fertilization and
research dissemination. To maximize dissemination of research results and knowl-
edge in these disciplines, the series will publish edited books, monographs, hand-
books, textbooks and conference proceedings. Of particular value to both the contrib-
utors and the readership are the short publication timeframe and the world-wide
distribution, which enable both wide and rapid dissemination of research output.
Maria Virvou · George A. Tsihrintzis ·
Nikolaos G. Bourbakis · Lakhmi C. Jain
Editors
Handbook on Artificial
Intelligence-Empowered
Applied Software
Engineering
VOL.1: Novel Methodologies to Engineering
Smart Software Systems
Editors
Maria Virvou
Department of Informatics
University of Piraeus
Piraeus, Greece
Nikolaos G. Bourbakis
College of Engineering and Computer
Science
Wright State University
Dayton, OH, USA
George A. Tsihrintzis
Department of Informatics
University of Piraeus
Piraeus, Greece
Lakhmi C. Jain
KES International
Shoreham-by-Sea, UK
Liverpool Hope University
Liverpool, UK
ISSN 2731-6025 ISSN 2731-6033 (electronic)
Artificial Intelligence-enhanced Software and Systems Engineering
ISBN 978-3-031-08201-6 ISBN 978-3-031-08202-3 (eBook)
https://doi.org/10.1007/978-3-031-08202-3
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature
Switzerland AG 2022
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether
the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse
of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and
transmission or information storage and retrieval, electronic adaptation, computer software, or by similar
or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or
the editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Foreword
Artificial Intelligence is defining a new era in human civilization, shaping a new,
human-centred society (“Society 5.0”) in which cyberspace (virtual space) and phys-
ical space (real space) are highly integrated [1, 2]. The main characteristic of this
era is that huge amounts of data, collected from a variety of sensors, are stored
and automatically analysed without human intervention and via intelligent algo-
rithms and software which far exceed human capabilities. The consequence is a
strong interconnection between humans, devices and services in literally all aspects
of professional, social and everyday life, which was never previously seen and is
continuously becoming ever more complex.
Certainly, this interconnection between human and artificial intelligence comes
with significant risks. In [3], a warning is issued that “… artificial intelligence (AI) is
not an ongoing or imminent global catastrophic risk. Nor is it as uncontroversially a
serious cause for concern. However, from a long term perspective, the development
of general artificial intelligence, exceeding that of the human brain, can be seen as
one of the main challenges to the future of humanity (arguably, even as the main
challenge).”
Despite the risks associated with the rapid development of Artificial Intelligence,
almost every aspect of society is expected to benefit from it, including economic
development, combatting famine, poverty and inequality, improved health care,
advanced assistive technologies for people in need, efficient energy production and
distribution, disaster prevention and intelligent applications in manufacturing and
industry.
These advances come from the pressure imposed on researchers worldwide to
insert Artificial Intelligence enhancements into software and/or empower software
with Artificial Intelligence as a result of technological advancements, such as the
Internet of Things, big data collected with a variety of sensors or smartphone and
mobile software applications. Thus, a new multidisciplinary research area has been
emerging over the recent past, which is expected to have a significant impact on
society.
Professors Maria Virvou, George A. Tsihrintzis, Nikolaos G. Bourbakis and
Lakhmi C. Jain have identified the lacuna in an appropriate, high impact forum to
v
vi Foreword
publish related research and to disseminate corresponding knowledge as it accumu-
lates. Thus, they initiated a new Springer series under the title Artificial Intelligence-
Enhanced Software and Systems Engineering. As they state, “The book series AI-SSE
publishes new developments and advances on all aspects of Artificial Intelligence-
enhanced Software and Systems Engineering—quickly and with a high quality. The
series provides a concise coverage of the particular topics from both the vantage point
of a newcomer and that of a highly specialized researcher in these scientific disci-
plines, which results in a significant cross-fertilization and research dissemination.
To maximize dissemination of research results and knowledge in these disciplines,
the series will publish edited books, monographs, handbooks, textbooks and confer-
ence proceedings. Of particular value to both the contributors and the readership are
the short publication timeframe and the world-wide distribution, which enable both
wide and rapid dissemination of research output” [4].
In more specificity, the new series will focus on:
1. Incorporating Artificial Intelligence Enhancements into Software
2. Developing Artificial Intelligence Tools for Software Engineering
3. Merging Software Engineering with Knowledge Engineering
4. Software Engineering for Developing Artificial Intelligence and Machine
Learning Systems
5. Innovative Applications of Artificial Intelligence-Empowered Software Engi-
neering.
The book at hand launches the new series. Specifically, Profs. Virvou, Tsihrintzis,
Bourbakis and Jain are delivering a high-quality two-volume Handbook on Artificial
Intelligence-Empowered Applied Software Engineering. The Handbook consists of a
first volume devoted to Novel Methodologies to Engineering Smart Software Systems
and a second volume devoted to Smart Software Applications in Cyber-Physical
Systems.
Specifically, the first volume consists of an introductory/editorial chapter and
eleven (11) additional chapters. In the introductory chapter, the editors guide the
reader, especially the newcomer to the area of Artificial Intelligence-empowered
Applied Software Engineering, and focus on Novel Methodologies to Engineering
Smart Software Systems. They introduce the corresponding major concepts and
topics, the approaches and some of the open challenges of this fascinating discipline.
The remaining 11 chapters have been authored by world-renowned researchers who
are recognized for their significant contributions to their corresponding fields. The
book is organized into three parts, namely (i) Survey of Recent Relevant Litera-
ture (one chapter), (ii) Artificial Intelligence-Assisted Software Development (five
chapters) and (iii) Software Engineering Tools to Develop Artificial Intelligence
Applications (five chapters).
On the other hand, the second volume consists of an introductory/editorial chapter
and ten (10) additional chapters. In the introductory chapter, the editors again guide
the reader, especially the newcomer to the area of Artificial Intelligence-empowered
Applied Software Engineering, and now focus on Smart Software Applications
in Cyber-Physical Systems. They introduce the corresponding major concepts and
Foreword vii
topics, the approaches and some of the open challenges of this fascinating discipline.
The remaining ten chapters have been authored by world-renowned researchers who
are recognized for their significant contributions to their corresponding fields. The
book is organized into five parts, namely (i) Smart Software Applications in Scientific
Document Processing (two chapters), (ii) Smart Software Applications in Enterprise
Modelling (three chapters), (iii) Smart Software Applications in Education (two chap-
ters), (iv) Smart Software Applications in Healthcare and Medicine (two chapters)
and (v) Smart Software Applications in Infrastructure Monitoring (one chapter).
Editing a two-volume Handbook in this exciting new research area is a chal-
lenging task, especially as this discipline is multidisciplinary and researchers come
from a wide variety of interests and expertise. The editors are required to grasp this
breadth and be deeply versed in the corresponding state-of-the-art developments
in the field. Professors Virvou, Tsihrintzis, Bourbakis and Jain have managed to
impress us with the breadth of the topics covered in their two-volume Handbook.
Their Handbook not only covers an impressively wide variety of topics within
this multidisciplinary area, but also the depth in which each topic is covered is
dazzling. Moreover, while the first volume is devoted to general methodologies in
empowering software with artificial intelligence, the second volume is devoted to
specific application areas and case studies. Thus, I am confident that the readers
of the Handbook—either newcomers to this area seeking to know more about it or
specialized researchers seeking to be versed in the most recent advances in specific
sub-areas—will benefit greatly from this two-volume work and, moreover, will be
able to make use of and apply their readings in practice.
I find the editors’ work superb, and I warmly congratulate them. I have enjoyed
reading this two-volume Handbook, and, without any reservation, I recommend it to
both specialists in Artificial Intelligence-empowered Applied Software Engineering
and to general readers who wish to learn more about this emerging and fascinating
discipline.
Prof.-Dr. J. Sukarno Mertoguno
Deputy Director
Institute for Information Security & Privacy (IISP)
Georgia Institute of Technology
Atlanta, GA, USA
Further Reading
1. From Industry 4.0 to Society 5.0: the big societal transformation plan of Japan. https://www.i-
scoop.eu/industry-4-0/society-5-0/
2. Society 5.0. https://www8.cao.go.jp/cstp/english/society5_0/index.html
3. N. Bostrom and M.M. Ćirković (eds.), Global Catastrophic Risks, Oxford University Press,
2008, p. 17
4. https://link.springer.com/bookseries/16891
Preface
The use of Artificial Intelligence is being extended far beyond the related technology
of Expert Systems and the respective more traditional procedures of Knowledge
Engineering, Knowledge Acquisition or Knowledge Representation and needs to be
embodied in other forms of software. The driving conditions behind related efforts in
research and development arise from pressure exercised by important and evolving
new technological advancements in big data, smartphone and mobile software appli-
cations, the Internet of Things, as well as a vast range of application areas in all sorts
of human activities and professions. As such, current related research includes efforts
towards the efficient incorporation of Artificial Intelligence enhancements into soft-
ware and the empowerment of software with Artificial Intelligence. The goal is dual:
(i)todevelopalgorithms,mechanisms,methodologiesandproceduresthatallowsoft-
ware to learn and evolve (i.e., to become better, user-friendlier and more efficient at
performing specific tasks), either on its own or with the help of a supervisor/instructor
and (ii) to enhance the whole Software Engineering process, including the use of
Artificial Intelligence to (at least partially) automate software development and to
reflect the incorporation of Knowledge Engineering and Knowledge Acquisition,
prototyping and rapid application development of intelligent software modules.
The book at hand constitutes the inaugural volume of the new Springer series
on Artificial Intelligence–Enhanced Software and Systems Engineering (https://link.
springer.com/bookseries/16891) and the first volume of a two-volume Handbook
on Artificial Intelligence-empowered Applied Software Engineering. In the book,
devoted to Novel Methodologies to Engineering Smart Software Systems, we include
a detailed Survey of Recent Relevant Literature and present some very significant
advances in (i) Artificial Intelligence-Assisted Software Development and (ii) Soft-
ware Engineering Tools to develop Artificial Intelligence Applications. The editorial
note is followed by 11 chapters, each of which is authored by world-known experts
and complemented with additional bibliography for the reader to probe deeper into
the chapter topic.
The book is directed towards professors, researchers, scientists, engineers and
students in Artificial Intelligence, Software Engineering and Computer Science-
relateddisciplines.Itisalsodirectedtowardsreaderswhocomefromotherdisciplines
ix
x Preface
and are interested in becoming versed in some of the most recent advances in the
field of Artificial Intelligence-empowered Applied Software Engineering. Finally,
as societal demand continues to pose new and challenging problems and emerging
technologies press for ever more advanced theories and ever more efficient method-
ologies, tools and systems to be devised to address them, it is our hope that the
Handbook on Artificial Intelligence-empowered Applied Software Engineering will
also attract the interest of researchers in authoring/editing related volumes to be
published in the new Springer series on Artificial Intelligence-Enhanced Software
and Systems Engineering (https://link.springer.com/bookseries/16891).
Piraeus, Greece
Piraeus, Greece
Dayton, OH, USA
Shoreham-by-Sea, UK
Maria Virvou
George A. Tsihrintzis
Nikolaos G. Bourbakis
Lakhmi C. Jain
Contents
1 Introduction to Handbook on Artificial
Intelligence-Empowered Applied Software
Engineering—VOL.1: Novel Methodologies to Engineering
Smart Software Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Maria Virvou, George A. Tsihrintzis, Nikolaos G. Bourbakis,
and Lakhmi C. Jain
Part I Survey of Recent Relevant Literature
2 Synergies Between Artificial Intelligence and Software
Engineering: Evolution and Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Aurora Ramírez and José Raúl Romero
Part II Artificial Intelligence-Assisted Software Development
3 Towards Software Co-Engineering by AI and Developers . . . . . . . . . 39
Hironori Washizaki
4 Generalizing Software Defect Estimation Using Size and Two
Interaction Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Shyam Singhal, Beulah Moses, and Veena Jadhav
5 Building of an Application Reviews Classifier by BERT
and Its Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Yuki Yamada and Atsuo Hazeyama
6 Harmony Search-Enhanced Software Architecture
Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Amarjeet Prajapati and Zong Woo Geem
7 Enterprise Architecture-Based Project Model for AI Service
System Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Hironori Takeuchi
xi
xii Contents
Part III Software Engineering Tools to Develop Artificial
Intelligence Applications
8 Requirements Engineering Processes for Multi-agent Systems . . . . . 125
Iderli Pereira de Souza Filho, Giovane D.’Avila Mendonça,
Willian Samuel Gerstberger, and Gilleanes Thorwald Araujo Guedes
9 Specific UML-Derived Languages for Modeling Multi-agent
Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Gilleanes Thorwald Araujo Guedes and Rosa Maria Vicari
10 Methods for Ensuring the Overall Safety of Machine Learning
Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Tomoko Kaneko and Nobukazu Yoshioka
11 MEAU: A Method for the Evaluation of the Artificial
Unintelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Francisco V. Cipolla Ficarra
12 Quantum Computing Meets Artificial Intelligence:
Innovations and Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Maha A. Metawei, Hesham Eldeeb, Salwa M. Nassar,
and Mohamed Taher
Chapter 1
Introduction to Handbook on Artificial
Intelligence-Empowered Applied
Software Engineering—VOL.1: Novel
Methodologies to Engineering Smart
Software Systems
Maria Virvou, George A. Tsihrintzis, Nikolaos G. Bourbakis,
and Lakhmi C. Jain
Abstract Significant current research efforts are devoted to the efficient incorpora-
tion of Artificial Intelligence enhancements into software and the empowerment of
software with Artificial Intelligence. The goal of this research is dual: (i) to develop
algorithms, mechanisms, methodologies, and procedures that allow software to learn
and evolve (i.e., to become better, user-friendlier and more efficient at performing
specific tasks), either on its own or with the help of a supervisor/instructor, and (ii)
to enhance the whole Software Engineering process, including the use of Artifi-
cial Intelligence to (at least partially) automate software development, and reflect
the incorporation of knowledge engineering and knowledge acquisition, prototyping
and rapid application development of intelligent software modules. The book at hand
constitutes the inaugural volume of the new Springer series on ARTIFICIAL INTEL-
LIGENCE–ENHANCED SOFTWARE AND SYSTEMS ENGINEERING (https://
www.springer.com/series/16891). It also constitutes the first volume of a two-volume
Handbook on Artificial Intelligence-empowered Applied Software Engineering
and is devoted to Novel Methodologies to Engineering Smart Software Systems.
M. Virvou · G. A. Tsihrintzis (B)
University of Piraeus, 185 34 Piraeus, Greece
e-mail: geoatsi@unipi.gr
M. Virvou
e-mail: mvirvou@unipi.gr
N. G. Bourbakis
Wright State University, Dayton, OH, USA
e-mail: nikolaos.bourbakis@wright.edu
L. C. Jain
KES International, Shoreham-by-Sea, UK
e-mail: jainlakhmi@gmail.com
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022
M. Virvou et al. (eds.), Handbook on Artificial Intelligence-Empowered Applied
Software Engineering, Artificial Intelligence-enhanced Software and Systems
Engineering 2, https://doi.org/10.1007/978-3-031-08202-3_1
1
2 M. Virvou et al.
In the book, we present some very significant advances in (i) Artificial Intelligence-
Assisted Software Development and (ii) Software Engineering Tools to develop Arti-
ficial Intelligence Applications and also include a detailed Survey of Recent Relevant
Literature. The editorial note is followed by 11 chapters, each of which is authored by
world-known experts and complemented with additional bibliography for the reader
to probe deeper into the chapter topic.
Keywords Artificial Intelligence · Artificial Intelligence-empowered Software
Engineering · Knowledge-based Software Engineering · Learning systems · Smart
Software · Software Development with Artificial Intelligence
1.1 Editorial Note
For several decades, Artificial Intelligence has been a field of very active and intense
research worldwide. Recently, the whole field of Artificial Intelligence is being
revisited to provide critical functionality and significant enhancements in reasoning,
decision making, filtering, software personalization and adaptivity, natural language
understanding, deep learning, machine learning and data mining. This broad activity
comes under the research and development pressure of the important and evolving
new technological advancements in big data, smartphone and mobile software appli-
cations, the Internet of Things, as well as a vast range of application areas in all sorts
of human activities and professions.
In view of the previous, the use of Artificial Intelligence has been extended beyond
the related technology of Expert Systems and the respective more traditional proce-
dures of Knowledge Engineering, Knowledge Acquisition or Knowledge Represen-
tation and needs to be embodied in other forms of software. As such, current related
research includes efforts towards the efficient incorporation of Artificial Intelligence
enhancements into software and the empowerment of software with Artificial Intel-
ligence. The goal is dual: (i) to develop algorithms, mechanisms, methodologies,
and procedures that allow software to learn and evolve (i.e., to become better, user-
friendlier and more efficient at performing specific tasks), either on its own or with the
help of a supervisor/instructor, and (ii) to enhance the whole Software Engineering
process, including the use of Artificial Intelligence to (at least partially) automate
software development, and reflect the incorporation of knowledge engineering and
knowledge acquisition, prototyping and rapid application development of intelligent
software modules.
Within the umbrella of Artificial Intelligence-empowered Software Engineering,
a number of intelligence paradigms are used, which include Expert Systems, Fuzzy
Logic, Machine Learning (and its sub-field of Deep Learning), Artificial Immune
Systems, Swarm Intelligence, and Genetic Algorithms.
As a result of its enormous pace of growth (both theoretically and in the breadth
of application areas) and its high rates of success, Artificial Intelligence-empowered
SoftwareEngineeringpromisesamajorimpactonscience,technologyandthesociety
1 Introduction to Handbook on Artificial Intelligence … 3
itself. However, such an impact also includes threats, among others in security,
privacy, safety, democracy, fundamental rights, transparency, business, competition
or the job market.
In order to make efficient development and use of Artificial Intelligence-
empowered Software, further research is required and all aspects and applications
of the Software Engineering discipline need to be re-considered within the Artificial
Intelligence-empowered framework. Specifically, significant research needs to be
conducted along the following broad avenues:
1. Incorporating Artificial Intelligence enhancements into software
2. Developing Artificial Intelligence tools for Software Engineering
3. Merging Software Engineering with Knowledge Engineering
4. Software Engineering for developing Artificial Intelligence and Machine
Learning systems
5. Innovative applications of Artificial Intelligence-empowered Software Engi-
neering.
The two-volume Handbook on Artificial Intelligence-empowered Applied Software
Engineering aims at updating both the relevant research communities—including
professors, researchers, and students—and the general reader on the most recent
related advances, including, but not limited to the following topics:
• Architecture of AI-empowered systems, intelligent agents and softbots
• Architectures for AI-empowered shells
• Automating AI-empowered software design and synthesis
• Decision support methods for AI-empowered software engineering
• Development of AI-empowered multi-modal interfaces
• Development of AI-empowered user models
• Development processes for AI-empowered applications
• Empirical and/or evaluation studies for AI-empowered applications
• AI-empowered user interfaces and human–machine interaction
• AI-empowered Internet-based interactive applications
• Knowledge acquisition for AI-empowered software
• AI-empowered process management and project management
• Knowledge management for AI-empowered business processes, workflows and
enterprise modeling
• AI-empowered technologies for semantic web
• AI-empowered technologies for service-oriented systems, Internet of services and
Internet of things
• AI-empowered technologies for web services
• AI-empowered methods and tools for software engineering education
• AI-empowered methods and tools for testing, verification and validation, main-
tenance and evolution
• AI-empowered methods for software metrics
• AI-empowered requirements engineering, domain analysis and modeling
• Methodology and tools for knowledge discovery and data mining
4 M. Virvou et al.
• Ontologies and patterns in UML modeling
• Ontology engineering
• AI-empowered program understanding, programming knowledge, modeling
programs and programmers
• AI-empowered software engineering methods for Intelligent Tutoring Systems
• Software life cycle of AI-empowered interactive systems
• AI-empowered software tools assisting system development
• AI-empowered personalized software engineering.
As the intention of the Handbook is to provide a concise coverage to the particular
topic from the vantage point of a newcomer, each chapter is complete within itself
and includes an abstract and a bibliography of references to further reading.
Because of the breadth of the topics covered and the extensive response by
researchers worldwide, the Handbook was divided into two separate volumes. Addi-
tionally, each volume is further organized into various parts, with each part grouping
together several related chapters.
The volume at hand constitutes the first volume of the Handbook and is devoted to
Novel Methodologies to Engineering Smart Software Systems. On the other hand,
the second volume of the Handbook is devoted to Smart Software Applications
in Cyber-Physical Systems. Specifically, this first volume consists of the current
editorial note (this Chapter) and an additional eleven (11) chapters. All chapters in
the book were authored by researchers who work in the corresponding chapter theme
and are recognized for their significant research contributions.
In more detail, the chapters in the book are organized into three parts, as follows:
The first part of the book consists of one chapter devoted to Survey of Recent
Relevant Literature.
Specifically, Chap. 2, by Aurora Ramírez and José Raúl Romero, is titled: “Syn-
ergies between Artificial Intelligence and Software Engineering: Evolution and
Trends.” The authors review related recent literature on Artificial Intelligence in
Software Engineering research. They focus on the techniques more applicable to
distinct aspects of the software development process and emphasise both innovative
applications of Artificial Intelligence and currently available tools.
The second part of the book consists of five chapters devoted to Artificial
Intelligence-Assisted Software Development.
Specifically, Chap. 3, by Hironori Washizaki, is titled: “Towards Software Co-
Engineering by AI and Developers.” The author presents a vision in which Artificial
Intelligence and human developers collaborate as equal partners to co-create business
and social values in software system development and operations. He also points to
the current state-of-the-art towards the materialization of this vision.
Chapter 4, by Shyam Singhal, Beulah Moses and Veena Jadhav, is titled: “Gener-
alizing Software Defect Estimation using Size and Two Interaction Variables.” The
authors propose a regression-based software defect estimation model and analyse its
effectiveness. They show that their model is highly effective.
Chapter 5, by Yuki Yamada and Atsuo Hazeyama, is titled: “Building of an
Application Reviews Classifier by BERT and Its Evaluation.” The authors build and
1 Introduction to Handbook on Artificial Intelligence … 5
evaluate a machine learning model for classification of application reviews. They
show that among Naive Bayes, Logistic Regression, and BERT classifiers, the latter
exhibits the best performance.
Chapter 6, by Amarjeet Prajapati and Zong Woo Geem, is titled: “Harmony
Search-enhanced Software Architecture Reconstruction.” The authors introduce a
software architecture reconstruction method based on harmony search to extract
the high-level design from the low-level source code elements. They evaluate their
proposed approach over five test problems and show that it outperforms existing
approaches with respect to modularization quality, coupling, and cohesion quality
measures.
Chapter 7, by Hironori Takeuchi, is titled: “Enterprise Architecture-based Project
Model for AI Service System Development.” The author considers projects in
which enterprise service systems are developed using artificial intelligence (AI)
technologies and proposes a generic model. He evaluates the proposed model with
encouraging results.
The third part of the book consists of five chapters devoted to Software
Engineering Tools to develop Artificial Intelligence Applications.
Specifically, Chap. 8, by Iderli Pereira de Souza Filho, Giovane D’Avila
Mendonça, William Samuel Gerstberger and Gilleanes Thorwald Araujo Guedes, is
titled: “Requirements Engineering Processes for Multi-Agent Systems.” The authors
describe requirements engineering techniques and processes developed specifically
for multiagent systems, highlighting their strengths and weaknesses. They place
their emphasis on the coverage of the Belief-Desire-Intention (BDI) model which is
commonly used to build cognitive agents.
Chapter 9, by Gilleanes Thorwald Araujo Guedes and Rosa Maria Vicari, is
titled: “Specific UML-Derived Languages for Modeling Multi-Agent Systems.”
The authors present several UML-adapted languages, highlighting their strengths
and weaknesses and their suitability for modeling multi-agent systems, particularly
with respect to the Belief-Desire-Intention (BDI) model support. They also discuss
challenges that have not yet been overcome in modeling multi-agent systems.
Chapter 10, by Tomoko Kaneko and Nobukazu Yoshioka, is titled: “Methods for
Ensuring the Overall Safety of Machine Learning Systems.” The authors introduce a
safety assurance method for an entire machine learning system and use autonomous
driving as an example. They also discuss the various challenges with ensuring the
safety of machine learning systems and how to overcome them.
Chapter 11, by Francisco V. Cipolla Ficarra, is titled: “MEAU: A Method for
the Evaluation of the Artificial Unintelligence.” The author presents a method for a
heuristic evaluation of the main mistakes online about AI applications, information
andsocialnetworking.Hismethodologyrespectsthequalitymodelsand/orprinciples
of Artificial Intelligence, Software Engineering and Communicability.
Finally, Chap. 12, by Maha A. Metawei, Hesham Eldeeb, Salwa M. Nassar and
Mohamed Taher, is titled: “Quantum Computing meets Artificial Intelligence: Inno-
vations & Challenges.” The authors discuss quantum-assisted artificial intelligence
applications and highlight their motivations as well as their challenges.
6 M. Virvou et al.
1.2 Book Summary and Future Volumes
The book at hand constitutes the first volume of a two-volume Handbook on
Artificial Intelligence-empowered Applied Software Engineering and is devoted
to Novel Methodologies to Engineering Smart Software Systems. It also consti-
tutes the inaugural volume in the new Springer series on ARTIFICIAL INTEL-
LIGENCE–ENHANCED SOFTWARE AND SYSTEMS ENGINEERING (https://
www.springer.com/series/16891). In it, we present some very significant advances
in both Artificial Intelligence-Assisted Software Development and Software Engi-
neering Tools to develop Artificial Intelligence Applications and we also include a
detailed Survey of Recent Relevant Literature.
The book is directed towards professors, researchers, scientists, engineers and
students in Artificial Intelligence, Software Engineering and Computer Science-
relateddisciplines.Itisalsodirectedtowardsreaderswhocomefromotherdisciplines
and are interested in becoming versed in some of the most recent advances in the
field of Artificial Intelligence-empowered Applied Software Engineering. We hope
that all of them will find it useful and inspiring in their works and researches.
On the other hand, societal demand continues to pose new and challenging prob-
lems and emerging technologies press for ever more advanced theories and ever
more efficient methodologies, tools and systems to be devised to address them.
Thus, with the Handbook on Artificial Intelligence-empowered Applied Software
Engineering, we also hope to attract the interest of researchers in authoring/editing
related volumes to be published in the new Springer series on ARTIFICIAL INTEL-
LIGENCE–ENHANCED SOFTWARE AND SYSTEMS ENGINEERING (https://
www.springer.com/series/16891).
Bibliography for Further Reading
1. J. Toonders, Data is the new oil of the digital economy. Wired. https://www.wired.com/ins
ights/2014/07/data-new-oil-digital-economy/
2. K. Schwabd, The fourth industrial revolution—what it means and how to respond. Foreign Aff.
December 12, 2015. https://www.foreignaffairs.com/articles/2015-12-12/fourth-industrial-rev
olution
3. From Industry 4.0 to Society 5.0: the big societal transformation plan of Japan. https://www.i-
scoop.eu/industry-4-0/society-5-0/
4. Society 5.0. https://www8.cao.go.jp/cstp/english/society5_0/index.html
5. https://corporatefinanceinstitute.com/resources/knowledge/other/disruptive-technology/
6. E. Rich, Kevin Knight and Shivashankar B, 3rd edn. (Nair, Artificial Intelligence, Tata McGraw-
Hill Publishing Company, 2010)
7. E. Alepis, M. Virvou, Object-oriented user interfaces for personalized mobile learning, in
Intelligent Systems Reference Library Book Series, vol. 64 (Springer, 2014)
8. A.S. Lampropoulos, G.A. Tsihrintzis, Machine learning paradigms – applications in recom-
mender systems, vol. 92, in Intelligent Systems Reference Library Book Series (Springer,
2015)
9. K. Chrysafiadi, M. Virvou, Advances in personalized web-based education, vol. 78, in
Intelligent Systems Reference Library Book Series (Springer, 2015)
1 Introduction to Handbook on Artificial Intelligence … 7
10. D.N. Sotiropoulos, G.A. Tsihrintzis, Machine learning paradigms—artificial immune systems
and their application in software personalization, vol. 118, in Intelligent Systems Reference
Library Book Series (Springer, 2017)
11. J. Patterson, A. Gibson, Deep Learning—A Practitioner’s Approach, O’ Reilly (2017)
12. G.A. Tsihrintzis, D.N. Sotiropoulos, L.C. Jain (Eds.), Machine Learning Paradigms—
Advances in Data Analytics, volume 149 in Intelligent Systems Reference Library Book Series
(Springer, 2018)
13. X. Liu, J. Cao, Y. Yang, S. Jiang, CPS-based smart warehouse for industry 4.0: a survey of the
underlying technologies. Computers, 7(1), 13 (2018)
14. H. Jiang, C. Cai, X. Ma, Y. Yang, J. Liu, Smart home based on WiFi sensing: a survey. IEEE
Access 6, 13317–13325 (2018)
15. Z. Mahmood (Ed.), Smart cities—development and governance frameworks, in Computer
Communications and Networks (Springer, 2018)
16. D. Rong, P. Santi, M. Xiao, A.V. Vasilakos, C. Fischione, The sensable city: a survey on the
deployment and management for smart city monitoring. IEEE Commun. Surv. Tutorials 21(2),
1533–1560 (2019)
17. B.P.L.Lau, M.S. Hasala, Yuren Zhou, N.U. Hassan, C. Yuen, M. Zhang, U.X. Tan, A survey of
data fusion in smart city applications. Inf. Fusion, 52, 357–374 (2019)
18. M.M. Dhanvijay, S.C. Patil, Internet of Things: a survey of enabling technologies in healthcare
and its applications. Comput. Netw. 153, 113–131 (2019)
19. A.E. Hassanien (Ed.), Machine learning paradigms: theory and application, in Studies in
Computational Intelligence Book Series, vol. 801 (Springer, 2019)
20. G.A. Tsihrintzis, M. Virvou, E. Sakkopoulos and L.C. Jain (Eds.), Machine learning
paradigms—applications of learning and analytics in intelligent systems, in Learning and
Analytics in Intelligent Systems Book Series, vol. 1 (Springer, 2019)
21. K.R. Chowdhury, Fundamentals of Artificial Intelligence (Springer, 2020)
22. J. Watt, R. Borhani, A.K. Katsaggelos, Machine Learning Refined—Foundations, 2nd edn.
(Algorithms and Applications, Cambridge University Press, 2020)
23. J.K. Mandal, S. Mukhopadhyay, P. Dutta, K. Dasgupta (Eds.), Algorithms in machine learning
paradigms, in Studies in Computational Intelligence Book Series, vol. 870 (Springer, 2020)
24. M. Virvou, E. Alepis, G.A. Tsihrintzis, L.C. Jain (Eds.), Machine Learning paradigms—
advances in learning analytics, in Intelligent Systems Reference Library Book Series, vol. 158
(Springer, 2020)
25. G. A. Tsihrintzis, L.C. Jain (Eds.), Machine learning paradigms—advances in deep learning-
based technological applications, in Learning and Analytics in Intelligent Systems Book Series,
vol. 18 (Springer, 2020)
26. G.A. Tsihrintzis, M. Virvou, advances in computer science-based technologies—papers in
honor of Professor Nikolaos Alexandris, in Learning and Analytics in Intelligent Systems Book
Series, vol. 24 (Springer, 2021)
27. G. Phillips-Wren, A. Esposito, L.C. Jain, advances in data science: methodologies and
applications, in Intelligent Systems Reference Library Book Series, vol. 189 (Springer, 2021)
28. D.J. Hemanth, J. Anitha, G.A. Tsihrintzis (Eds.), Internet of medical things—remote healthcare
systems and applications, in Internet of Things Book Series (Springer, 2021)
29. E. Politou, E. Alepis, M. Virvou, C. Patsakis, Privacy and data protection challenges in the
distributed era, in Learning and Analytics in Intelligent Systems Book Series, vol. 26 (Springer
2022)
30. M. Virvou, G.A. Tsihrintzis, L.H. Tsoukalas, L.C. Jain (Eds.), Advances in artificial
intelligence-based technologies—papers in honour of Professor Nikolaos G. Bourbakis—Vol.
1, in Learning and Analytics in Intelligent Systems Book Series, vol. 22 (Springer, 2022)
31. G.A. Tsihrintzis, M. Virvou, L.C. Jain (Eds.), Advances in machine learning/deep learning-
based technologies—papers in honour of Professor Nikolaos G. Bourbakis—Vol.2, in Learning
and Analytics in Intelligent Systems Book Series, vol. 23 (Springer, 2022)
32. M. Virvou, G. A. Tsihrintzis, L.C. Jain (Eds.), Advances in selected artificial intelligence
areas—world outstanding women in artificial intelligence, in Learning and Analytics in
Intelligent Systems Book Series, vol. 24 (Springer, 2022)
8 M. Virvou et al.
33. S.L. Fernandes, T.K. Sharma (Eds.), Artificial intelligence in industrial applications—
approaches to solve the intrinsic industrial optimization problems, in Learning and Analytics
in Intelligent Systems Book Series, vol. 25 (Springer, 2022)
34. G.A. Tsihrintzis, M. Virvou, A. Esposito, L.C. Jain (Eds.), Advances in assistive technologies—
papers in honour of professor Nikolaos G. Bourbakis—Vol.3, in Learning and Analytics in
Intelligent Systems Book Series, vol. 28 (Springer, 2022)
Part I
Survey of Recent Relevant Literature
Chapter 2
Synergies Between Artificial Intelligence
and Software Engineering: Evolution
and Trends
Aurora Ramírez and José Raúl Romero
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 bet-
ter 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 inno-
vative applications that integrate different AI perspectives, and the tools available to
facilitate progress in AI-enhanced software engineering.
Keywords Survey · Artificial intelligence-empowered · Software engineering
2.1 Introduction
Artificial intelligence (AI) for software engineering (SE) is expected to change the
way we think about software planning, development and maintenance. Daily, soft-
ware engineers produce a large amount of data referred to both the development
A. Ramírez (B) · J. R. Romero
Department Computer Science and Numerical Analysis, University of Córdoba, Córdoba, Spain
e-mail: aramirez@uco.es
J. R. Romero
e-mail: jrromero@uco.es
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022
M. Virvou et al. (eds.), Handbook on Artificial Intelligence-Empowered Applied
Software Engineering, Artificial Intelligence-enhanced Software and Systems
Engineering 2, https://doi.org/10.1007/978-3-031-08202-3_2
11
12 A. Ramírez and J. R. Romero
process (e.g. repositories, issue trackers, communication platforms, documentation)
and the software itself (e.g. code, execution traces). In this sense, it is argued that
those companies failing to integrate data science into their internal decision processes
will be in clear disadvantage against competitors [23]. Software engineers can greatly
benefit from many AI facets, not only data science, to build better software faster.
In fact, the idea of an AI-enhanced SE is not new. Automatic programming and
knowledge-based assistants were envisioned in the 80s, a moment in which expert
systems were considered more applicable than machine learning [77]. 30 years after,
software development practices have experienced great changes and artificial intel-
ligence has been substantially developed, multiplying the possible synergies among
them. The landscape of AI-enhanced SE was revisited in 2012 [38], identifying three,
possibly overlapping, areas: probabilistic software engineering; classification, learn-
ing and prediction for software engineering; and search-based software engineering.
Although more extensive, this division leaves aside AI methods with great potential
like natural language processing (NLP) [111]. Furthermore, in vogue technologies
like deep learning and bots are expanding the possibilities of AI in many domains,
including software engineering [22, 25].
Although new AI methods are constantly appearing and barriers between them are
becoming blurry, the majority of methods still have roots in the long-established areas
presented in Russell and Norvig’s handbook [88]: machine learning and data mining,
knowledge representation and reasoning, search and optimisation, and communica-
tion and perception. However, software engineers might not be familiar with these
techniques, making it difficult to know how to effectively apply predictive models or
metaheuristics [9]. Furthermore, practitioners need to understand the capabilities and
limitations of AI technologies [34]. Thus, making the right choice requires having
clear goals and precisely understanding the underlying assumptions that each tech-
nique imposes. Given the possible impact and risks involved, the point in which AI
should be applied and its actual responsibility within the process and results should
be considered too [28].
Indeed, the current landscape of AI research for software engineering is vast
in topics and techniques. In this chapter, we present an analysis of the evolution
that AI-enhanced SE has experienced. Considering that AI is constantly evolving,
historical perspectives might not be so useful and consequently authors tend to limit
the analysis to the most recent advances [28]. Thus, the presented analysis is con-
strained to the period 2015–2020, comprising 2973 AI-oriented studies selected from
13,262 publications in SE conferences and journals. This decision was also moti-
vated by the need of manually revising the semi-automatic selection and distribution
of publications with respect to both AI and SE areas. From the selected publications,
trends in topics and techniques used to intelligently automate software engineering
activities have been identified. Furthermore, we seek to understand which SE tasks
are more prone to certain AI-based solutions, and how these solutions made use
of information from different software artefacts depending on their purpose. Spe-
cial attention is paid to the combination of AI techniques, which has revealed as an
appealing option to address complex problems, as well as the availability of tools.
2 Synergies Between Artificial Intelligence and Software … 13
The rest of the chapter is organised as follows. Section2.2 explains the method-
ology followed to search, select and analyse relevant publications. Section2.3 pro-
vides and overview of the evolution of the field in terms of number of publica-
tions. An analysis of top authors and topics for different SE themes is presented in
Sect.2.4. Section2.5 summarises trends in the application of AI techniques to SE,
while Sect.2.6 compiles available tools that incorporate AI methods. Finally, conclu-
sions and future avenues of research into AI-enhanced SE are outlined in Sect.2.7.
2.2 Methodology
This section details the methodology followed to collect and analyse relevant publi-
cations on AI-enabled SE. The process consists in three main steps: (1) defining a list
of sources from which articles will be examined to identify AI-related publications,
(2) selecting the relevant publications based on a keyword semi-automatic analysis,
and (3) classifying the selected publications in terms of AI areas and SE topics. Next,
each step is explained in detail.
Firstly, a initial list of relevant publication sources is determined. Journals are
selected from the Journal of Citation Reports1
by choosing those journals belong-
ing to the first and second quartile of the software engineering category. The choice
of conferences is based on the GGS conference ranking2
(class 1 and 2), spon-
sored by the Spanish Computer Science Society and the Italian groups of professors
of Computer Engineering and Computer Science. The rating algorithm combines
information from three rankings: CORE, Microsoft Academic and LiveSHINE. We
also consider a couple of specialised events, namely the symposium on search-based
software engineering (SSBSE) and the PROMISE (Predictive Models in Software
Engineering) conference. The final list of journals and conferences was contrasted
and refined according to recent bibliometric studies in SE [43, 59]. After this process,
the 12 journals and 21 conferences listed in Table2.1 are included for analysis. After
deciding the list of conferences, we inspect the corresponding website of the 2015–
2020 editions to extract a list of potential workshops. For each workshop, the topics
of interest are scrutinised to find those including AI techniques. Table2.2 enumer-
ates the 34 workshops considered within scope, divided into 18 specific workshops,
i.e., having AI as their main topic, and 16 general ones, i.e., AI appears in the call
for papers. The eventual nature of workshops implies that some of them could not
be longer celebrated and that new others could appear in the future. However, their
analysis is interesting as it provides a good “snapshot” of latest topics of interest,
and their different number of editions can reveal which topics remain attractive.
Next, we have downloaded all journal numbers and proceedings published
between 2015 and 2020. The total list of 13,262 publications contains 5294 journal
1 https://clarivate.com/webofsciencegroup/solutions/journal-citation-reports/(Last accessed: July
12, 2021).
2 http://scie.lcc.uma.es/gii-grin-scie-rating/(Last accessed: July 12, 2021).
14 A. Ramírez and J. R. Romero
articles, 7212 contributions to conferences and 756 workshop papers. The second
column (R) of Tables 2.1 and 2.2 details the number of retrieved papers per source.
For each publication, we extract the title, authors, publisher, year, keywords and
abstract from bibtex files. When missing, a maximum of 10 automatic keywords are
generated from the abstract using a text mining algorithm [87]. From the full list of
keywords, we need to identify those referring to AI to carry out automatic classifi-
cation. This process is manually done for keywords with a frequency greater than
2. Those appearing only once are included if the term appears in the IEEE taxon-
omy.3
Finally, every AI keyword is manually associated to one of the following AI
areas [88]:
• Machine learning and data mining (MLDM), covering techniques that analyse
vast collections of data to find hidden relationships and make predictions.
• Knowledge representation and reasoning (KRR), referring to forms of embodying
real-world concepts, and how to infer new knowledge or explain causal facts.
• Search and optimisation (SO) for problem solving, compiling algorithms that find
optimal solutions with respect to a given objective.
• Communication and perception (CP), that is, understanding and simulating human
abilities such as language processing and vision.
Finally, we use the set of AI keywords to filter out publications not related to AI.
This process leads to a set of 2973 publications: 868 in journals, 1666 in conferences
and 439 in workshops, as detailed in the third column (S) of Tables 2.1 and 2.2. The
selected AI publications are automatically classified in one or more AI areas based
on the specific keywords for further analysis. Publications not assigned to any AI
area are manually revised by reading the abstract to decide its classification. Such a
case happens when the publication contains general keywords only, e.g., “Artificial
intelligence”, or if the publication belongs to a specific event in which the technique
does not appear in the keyword because it is implicit, e.g. contributions to the SBSE
symposium are catalogued as search-based. For the subset of AI publications, we
then extract non-AI keywords in order to repeat the same process to classify them
with respect to the SE area. We define the following 12 areas based on existing clas-
sifications [17, 43, 59] and the scope topics of the selected journals and conferences:
• Architecture and product lines, including topics related to architectural knowledge
and documentation, as well as highly-configurable systems (variability, feature
models).
• Development support, related to the analysis of software data and developers
behaviour from repositories and other communication platforms.
• Maintenance and evolution, which refers to the revision and enhancement of soft-
ware systems to detect and fix bugs, and overall improve their quality.
3 https://www.ieee.org/content/dam/ieee-org/ieee/web/org/pubs/ieee-taxonomy.pdf(Last
accessed: July 12, 2021).
2 Synergies Between Artificial Intelligence and Software … 15
• MethodologicalaspectsandgeneralSEtopics,whichencompassesstudiesfocused
on particular methodologies (e.g. agile) and general literature analysis of SE
research.
• Mobile, IoT and cyber-physical systems, focusing on the specific design and devel-
opment of this type of systems.
• Modelling and design, covering conceptual design and modelling languages, as
well as model engineering tasks such as model evolution or transformation.
• Programming, referring to code development and program analysis for which
source code constitutes the input artefact.
• Projectmanagement,includingtasksrelatedtoteamallocation,projectscheduling,
etc.
• Quality and metrics, grouping studies that analyse particular quality aspects (per-
formance, security, etc.) or perform metric estimations.
• Requirements, which encompasses all activities dealing with requirement elicita-
tion, documentation and prioritisation.
• Services and cloud computing, related to the design, development and deployment
of service-oriented systems.
• Testing, validation and verification, covering tasks that evaluates the correctness
and quality of produced systems from formal and practical views.
The classification of AI publications into the aforementioned SE areas is manually
revised too. The list of keywords associated to each area (AI or SE) is available as
part of our additional material.4
2.3 The Evolution of AI in Software Engineering
As in many other disciplines, AI topics have regularly appeared in software engineer-
ing studies, though they have attracted more attention in the last years. Some authors
point out that the renewed interest in AI-enhanced SE is explained by changes in
the way software is built [38], as well as easier access to software data [39] and
AI technologies [28]. Although it is still limited, the presence of AI in SE publi-
cations is growing year by year (see Fig.2.1). Since 2017, AI-enhanced SE studies
have represented more than 20% of the works published in the main SE conferences
and journals. The percentage of AI publications per source is detailed in Tables 2.1
and 2.2.
Automated Software Engineering (37%), ACM Transactions on Software Engi-
neering and Methodology (31%), Empirical Software Engineering (28%), IEEE
Transactions on Software Engineering (26%) and Information and Software Technol-
ogy (21%) are the journals where the percentage of AI-enhanced SE publications is
above the average (18%). Among conferences, the average percentage —excluding
MSR, PROMISE and SSBSE— is slightly inferior (13%), and those focused on
4 https://www.uco.es/grupos/kdis/sbse/aise.
16 A. Ramírez and J. R. Romero
Table 2.1 Journals and conferences considered for literature search
Journal/conference R S %
ACM Transactions on Software Engineering and Methodology
(TOSEM)
112 35 31.25
Automated Software Engineering (ASE) 114 42 36.84
Computer Standards and Interfaces (CSI) 417 8 1.92
Empirical Software Engineering (EMSE) 547 155 28.34
IEEE Transactions on Services Computing (TSC) 469 55 11.73
IEEE Transactions on Software Engineering (TSE) 526 139 26.43
Information and Software Technology (IST) 736 154 20.92
Journal of systems and Software (JSS) 1135 159 14.01
Requirements Engineering (RE) 142 16 11.27
Software and Systems Modeling (SoSyM) 420 36 8.57
Software Quality Journal (SQJ) 251 41 16.33
Software—Practice and Experience (SPE) 425 28 6.59
Eur. Conf. on Software Architecture (ECSA) 135 7 5.19
Int. Conf. on Automated Software Engineering (ASE) 645 139 21.55
Int. Conf. on Fundamental Approaches to Software Engineering
(FASE)
137 4 2.92
Int. Conf. on Model-Driven Engineering, Languages and
Systems (MODELS)
236 22 9.32
Int. Conf. on Predictive Models and Data Analytics in Soft. Eng.
(PROMISE)b
60 60 100.00
Int. Conf. on Services Computing (SCC) 446 34 7.62
Int. Conf. on Service-Oriented Computing (ICSOC) 391 51 13.04
Int. Conf. on Software Analysis, Evolution and Reengineering
(SANER)
464 127 27.37
Int. Conf. on Software Architecture (ICSA) 97 8 8.25
Int. Conf. on Software Maintenance and Evolution (ICSME) 494 92 18.62
Int. Conf. on Mining Software Repositories (MSR)b 427 427 100.00
Int. Conf. on the Quality of Software Architectures (QoSA)a 28 3 10.71
Int. Conf. on Software Engineering (ICSE) 1373 168 12.24
Int. Conf. on Software Testing, Verification and Validation
(ICST)
302 57 18.87
Int. Requirements Engineering Conference (RE) 128 29 22.66
Int. Symp. on Empirical Software Engineering and Measurement
(ESEM)
303 52 17.16
Int. Symp. on Search-based Software Engineering (SSBSE)b 135 135 100.00
Int. Symp. on Software Testing and Analysis (ISSTA) 285 59 20.70
Joint Eur. Soft. Eng. Conf. and Symp. Foundations of Soft. Eng.
(ESEC/FSE)
804 171 21.27
Software Product Line Conference (SPLC) 228 20 8.77
Working Conference on Software Architecture (WICSA)a 66 1 1.52
R Retrieved papers, Sselected papers, % selection percentage
a Part of ICSA since 2017
b AI-oriented conference
2 Synergies Between Artificial Intelligence and Software … 17
Table 2.2 Specialised and general workshops considered for literature search
Workshop R S %
Analytics and Mining of Model Repositories (AMMoRe) 5 4 80.00
Artificial Intelligence and Model-driven Engineering (MDE
Intelligence)
9 9 100.00
Artificial Intelligence for Mobile (AI4Mobile) 5 5 100.00
Artificial Intelligence for Requirements (AIRE) 51 51 100.00
App Market Analytics (WAMA) 20 15 75.00
Bots in Software Engineering (BotSE) 21 21 100.00
Genetic Improvement (GI) 66 66 100.00
Intelligent Bug Fixing (IBF) 13 10 76.92
Machine Learning and Software Testing (MLST) 3 3 100.00
Machine Learning Techniques for Software Quality Evaluation
(MaLTeSQuE)
28 28 100.00
NLP for Software Engineering (NL4SE) 10 10 100.00
Search-Based Software Testing (SBST) 65 65 100.00
Software Analytics (SWAN) 29 23 79.31
Software Engineering Automation: A Natural Language
Perspective (SEA-NLP)
9 8 88.89
Software Engineering Intelligence (SEI) 6 6 100.00
Software Mining (SoftwareMining) 24 24 100.00
Realizing Artificial Intelligence Synergies in Software
Engineering (RAISE)
33 33 100.00
Testing for Deep Learning and Deep Learning for Testing
(DeepTest)
5 5 100.00
Advances in Mobile App Analysis (A-Mobile) 16 1 6.25
Affective Computing for Requirements Engineering (AffectReq) 12 2 16.67
Automated Specification Inference (WASPI) 5 2 40.00
Automating Test Case Design, Selection and Evaluation (A-Test) 44 7 15.91
Crowd-Based Requirements Engineering (CrowdRE) 21 3 14.29
NEXt level of Test Automation (NEXTA) 22 2 9.09
Mining and Analyzing Interaction Histories (MAINT) 7 3 42.86
Quality Requirements in Agile Projects (QuaRAP) 4 2 50.00
Refactoring (IWoR) 35 3 8.57
Requirements Engineering and Testing (RET) 28 3 10.71
Reverse Variability Engineering (REVE) 20 1 5.00
Software Architecture Erosion and Architectural Consistency
(SAEroCon)
28 7 25.00
Software Engineering for Smart Cyber-Physical Systems
(SEsCPS)
46 5 10.87
Software Qualities and their Dependencies (SQUADE) 13 4 30.77
Software Test Architecture (InSTA) 33 6 18.18
Testing Extra-Functional Prop. and Quality Charact. of Softw.
Syst. (ITEQS)
20 2 10.00
R Retrieved papers, S selected papers, % selection percentage
18 A. Ramírez and J. R. Romero
Fig. 2.1 Proportion of AI-enhanced publications in software engineering during the period 2015–
2020
specific aspects of software engineering present higher ratios of AI publications:
SANER (27%) and ICMSE (18%) for maintenance, RE (23%) for requirements
engineering, and ISSTA (21%) and ICST (19%) for testing. ASE (22%), ESEC/FSE
(21%) and ESEM (17%) stand out among SE conferences with general scope. Spe-
cialised events—MSR and PROMISE conferences, and the symposium on SBSE—
have greatly contributed to spread the use of AI, with more than a third part of these
publications being presented there.
The interest of the SE community in AI techniques is also reflected in the appear-
ance of specialised workshops that serve to establish new synergies between both
disciplines. Among the most consolidated workshops, we can mention SBST (13
editions, 65 publications), GI (9, 66), RAISE (8, 33) and AIRE (7, 51). We have
observed that the number of AI-related workshops notably increased in 2015 (from
11 to 19) and 2018 (from 18 to 27) with respect to those organised the previous year.
In 2019, a new milestone has been achieved with a total of 28 workshops, 8 of them
celebrated for the first time. Emergent AI topics like bots or deep learning have been
the target of these new workshops, meaning that the SE community reacts quickly
to the evolution of AI.
A further analysis has been carried out to understand how the different AI areas
have evolved along the last years. Figure2.2 shows the number of publications related
to each AI area for the considered period. MLDM stands out as the area with more
publications (1695), representing 57% of the total and being the area with more pub-
lications each year. Moreover, an increase in the number of publications is observed
along the year and only in 2020, nearly 400 publications have explored the use of
MLDM techniques. SO is the second area more prolific (681 publications, 23%), with
2 Synergies Between Artificial Intelligence and Software … 19
2015 2016 2017 2018 2019 2020
0
100
200
300
400
500
600
Machine learning and data mining
Knowledge representation and reasoning
Search and optimisation
Communication and perception
Multiple areas
Fig. 2.2 Evolution of the application of the four main AI areas in SE publications
a very stable presence in all years —around 100 publications per year. CP (208, 7%)
and KRR (174, 6%) are still minority areas in SE publications compared to MLDM
and SO. However, a growing interest in the application of CP techniques is observed
in the last three years and, especially, 2020 (51 publications). Although publications
focused on one particular AI area predominate, the combination of techniques from
different areas is gaining attention. In only five years, the number of publications
classified in more than one AI area has increased from 18 to 59, the most frequent
combinations being machine learning together with search or NLP.
2.4 Top Authors and Topics
As detailed in Sect.2.2, 12 different SE areas have been established to classify AI
publications. From such a classification, it is possible to identify the top authors
and main topics of interest. Table2.3 lists the top-5 researchers for each SE area,
including the number of publications they have co-authored from those selected for
our analysis.5
Maintenance and evolution and testing, validation and verification are
the areas in which a higher number of authors have published 15 or more papers.
Similarly, we extract the top keywords appearing in the set of papers assigned to
each SE area. Table2.4 summarises the main topics under investigation in the last
years and the number of publications belonging to each area. Notice that one paper
could be assigned to more than one area. In the “topics” column, numbers between
parenthesis indicate the frequency of appearance, considering that similar terms have
been manually joined, e.g., “source code metrics” and “code metrics” are grouped
together. Also, we exclude keywords related to the applied AI techniques in order to
highlight the SE problems addressed from an AI perspective. The table only includes
topics appearing in more than three publications due to space limitations.6
As can
be observed, the three areas with more publications are maintenance and evolution
(644), testing, validation and verification (632), and development support (420). For
the two first areas, the list of topics tend to include general concepts (software main-
tenance, software evolution, software testing), as well as specific problems: defect
5 The full list of authors is available from: https://www.uco.es/grupos/kdis/sbse/aise.
6 The full list of keywords is available from: https://www.uco.es/grupos/kdis/sbse/aise.
20 A. Ramírez and J. R. Romero
Table 2.3 Top-5 authors and their number of publications in each SE area
SE area Authors
Product lines S.R. Vergilio (9), T.E. Colanzi (5), A. Egyed
(4), J. Guo (5), M. Acher (4), W.K.G. Assunção
(4), M. Li (4), L. Linsbauer (4), R.E.
Lopez-Herrejon (4)
Development support M. Di Penta (13), B. Adams (12), D. Lo (10),
C. Treude (9), D.M. German (9)
Maintenance and evolution D. Lo (25), F. Palomba (23), A. De Lucia (20),
X. Xia (20), M. Kessentini (18)
Methodological aspects and general SE topics T. Menzies (14), M. Harman (5), J. Chen (4), R.
Krishna (4), M. Li (4), C. Parnin (4), Z. Yu (4)
Mobile, IoT and cyber-physical systems Y. Liu (15), G. Bavota (10), L. Li (9), M. Di
Penta (9), T. T. Nguyen (8), R. Oliveto (8)
Modelling and design M. Wimmer (10), H. Sahraoui (7), Y. Liu (6),
R. Calinescu (5), A. Barriga (5), L. Iovino (5),
W. Kessentini (5), L. Li (5), Y. Li (5)
Programming J. Petke (11), C.K. Roy (11), M. Harman (9),
T.N. Nguyen (8), W.B. Langdon (7)
Project management A. Ghose (6), L.L. Minku (6), M.
Choetkiertikul (5), H.K. Dam (5), T. Menzies
(5), T. Tran (5)
Quality and metrics A.E. Hassan (8), T. Menzies (8), Y. Liu (7), N.
Siegmund (7), Z. Xing (7)
Requirements L. Briand (13), M. Sabetzadeh (10), C. Arora
(7), A. Vogelsang (7). F. Dalpiaz (6)
Services and cloud computing H. Wang (10), J. Zhang (9), Y. Fan (7), J. Liu
(6), Y. Wang (6)
Testing, validation and verification G. Fraser (31), A. Panichella (24), A. Arcuri
(22), P. Tonella (17), Y. Liu (15)
prediction and refactoring are frequently automated tasks in software maintenance
and evolution, while testing research is mostly focused on test case prioritisation and
generation. As for development support, keywords often mention specific platforms
(Stack overflow, Github) and concepts related to repositories (git, pull request).
General terms also predominate in the majority of the remaining areas, some
examples are: software engineering (methodological aspects and general SE topics),
Android (Mobile, IoT and cyber-physical systems), model-driven engineering (mod-
elling and design), source code (programming), software quality (quality and met-
rics), requirements engineering (requirements) and cloud computing (services and
cloud computing). As might be expected, SE areas with few number of publications,
such as software architecture, services and cloud computing, project management
and project management, tend to have less topics with high frequency.
2 Synergies Between Artificial Intelligence and Software … 21
Table 2.4 Main topics appearing in AI publications for each SE area
SE area #Publ Topics
Product lines 125 Software product lines (27), software architecture (21),
variability (18), feature models (13), reverse engineering
(6), architecture recovery (4), software maintenance (4),
software testing (4)
Development support 420 Stack overflow (62), Github (44), continuous integration
(26), open source (25), software repositories (12), git
(11), devops (10), software analytics (10), software
evolution (10), pull request (8)
Maintenance and evolu-
tion
644 Defect prediction (70), software evolution (50), software
maintenance (42), refactoring (31), bug (30), code smells
(27), program repair (21), technical debt (19), reverse
engineering (19), clone detection (12)
Methodological aspects
and general SE topics
224 Software engineering (82), business process (16),
software (14), agile (8), task analysis (8), open source (6),
software quality (5)
Mobile, IoT and cyber-
physical systems
229 Android (46), mobile apps (31), software testing (7),
app/user reviews (12), app market analysis (7), stack
overflow (6), feature extraction (5), mobile development
(5), program analysis (5), software evolution (5), energy
consumption (5)
Modelling and design 236 Model-driven engineering (21), model checking (20),
UML (14), OCL (7), reverse engineering (5), model
inference (5), metamodel (4), modelling (4), program
understanding (4), software design (4)
Programming 366 Source code (15), code search (13), API (10), program
comprehension (9), software evolution (9), code reuse (8),
open source (8) libraries (7), Java (7), code review (7)
Project management 171 Effort estimation (14), release planning (11), human
factors (11), software (7), project management (6), task
analysis (4), feature extraction (4), release engineering (4)
Quality and metrics 326 Software quality (59), software metrics (38),
measurement (14), code metrics (12), reliability (10),
security (10), code quality (9), quality assurance (9),
refactoring (9), robustness (9)
Requirements 173 Requirements (55) non-functional requirements (9),
requirements elicitation (9), use cases (8), ambiguity (6),
next release problem (6), requirements analysis (6), user
stories (5)
Services and cloud com-
puting
156 Cloud computing (35), service composition (12), quality
of service (18), web services (16), service
recommendation (8), service discovery (6), microservices
(8), cloud (4), cloud services (4)
Testing, validation and
verification
631 Software testing (122), automated test generation (33),
test case prioritisation (29), mutation testing (26), test
case generation (24), regression testing (19), test data
generation (18), debugging (17), unit testing (15), random
testing (14)
22 A. Ramírez and J. R. Romero
Table 2.5 Top-10 AI concepts in SE publications for each AI area
AI area Techniques
Machine learning and
data mining
Deep learning (158), clustering (77), classification (55), neural
network (58), predictive model (46), process mining (46),
reinforcement learning (34), transfer learning (25), association rule
mining (24), specification mining (24)
Knowledge representa-
tion and reasoning
Ontology (50), Markov process/model (20), Bayesian network (13),
fuzzy logic (6), case-based reasoning (6), first-order logic (4)
Search and optimisation Multi-objective (91), genetic algorithm (74), genetic improvement
(56), optimisation (48), genetic programming (30), evolutionary
algorithm (39), search (22), constraint solving (15), satisfiability solver
(13), many-objective (12)
Communication and per-
ception
Text mining/classification (39), sentiment analysis (31), latent dirichlet
allocation (19), topic modelling (16), computer vision (11), video
mining (9), opinion mining (8), part-of-speech tagging (5), virtual
reality (4), intelligent agent (3), emotion mining (3)
Number between parenthesis represents frequency of keyword appearance
After the analysis of the most popular SE areas and problems, Table 2.5 sum-
marises the main techniques applied to their resolution. We follow the same process
to extract the keyword frequency and group equivalent terms. Six keywords7
can be
highlighted as the most relevant ones as they appear in more than 100 publications:
machine learning, mining software repositories, search-based software engineering,
deep learning, natural language processing and search-based software testing. Focus-
ing on MLDM keywords, we observe a growing interest in two particular approaches:
deep learning (DL) and reinforcement learning (RL). The number of DL publications
has drastically increased in the last three years (145 out of 158) and is the second
most frequent keyword after ML in 2020. Similarly, the number of RL publications
in 2019 and 2020 has nearly doubled the total number of publications in the four
previous years. MSR remains a popular topic in the area, with an average of 40 per
year in the 2015–2020 period.
Ontologies are the preferred technique in the KRR area by far, though its frequency
of appearance (50) is low compared to the top keywords reported in the rest of AI
disciplines. This fact can be explained by the lower number of KRR publications,
which is also reflected in few keywords exceeding the threshold of 4 publications.
In contrast, the SO area keeps a high and constant number of publications, with an
average of 31 publications including SBSE among their keywords (third top topic).
This area presents a high variety of techniques applied to solve SE tasks reformulated
as search and optimisation problems. The presence of search-based software testing
(SBST) in the top keywords gives an idea of the most studied SE phase from the
SO perspective. Focusing on particular techniques, different types of evolutionary
algorithms, e.g., genetic algorithms and genetic programming, are the most widely
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.
2 Synergies Between Artificial Intelligence and Software … 23
adopted metaheuristics. The interest in solving problems with multiple objectives
and the use of exact constraint-solving techniques are worth mentioned too. Finally,
CP stands out as an area with relatively low publications but that has experienced a
significant growth in the last years. For instance, NLP has become a “hot topic” in
2020 with 35 publications, representing the fourth most frequent keyword last year
after ML, DL and MSR. It is noticeable that 101 out of the 151 NLP publications have
appeared in the last three years. The rest of keywords reflect special interest in the
analysis of opinions and emotions, often from texts. We also perceive new emergent
topics in computer vision and video mining since 2016, with five publications related
to each keyword in 2020.
2.5 Trends in AI Applications to Software Engineering
Not all AI methods require neither the same type of inputs nor serve the same pur-
poses. Therefore, it would be interesting to know whether some SE topics are more
frequently studied from an AI-based perspective, as well as which are the chosen
techniques. Figure2.3 establishes such connections for the 12 SE areas established.
Although all SE areas have been studied from the four perspectives of AI, some strong
connections are detected. Machine learning dominates the landscape of AI-enhanced
SE in terms of number of publications, having strong presence in various topics.
The analysis of development aspects—often involving mining repository data—and
building models for maintenance tasks—e.g. defect prediction and bug detection—
are particularly popular. In fact, some SE tasks frequently treated as optimisation
problems are those related to maintenance and evolution, and programming. In test-
ing, search has been intensively investigated in comparison with other SE phases, and
also with the application of other AI techniques, with the exception of machine learn-
ing. Search-based software testing has become a consolidated area in this context.
Knowledge and reasoning presents a quite regular distribution among topics, mod-
elling, services and testing being the most studied. Finally, communication-oriented
technologies fit more often with those topics where textual information abounds,
such as requirements, development support and programming.
In the rest of the section, we summarise the most notable applications of AI-
enhanced SE, divided by AI area, in addition to cross-disciplinary approaches. Due
to space limitations, we can only cite a representative sample of selected works. When
possible, we refer to secondary studies reviewing particular topics or techniques. The
full list of references is available on a dedicated website.8
8 https://www.uco.es/grupos/kdis/sbse/aise.
24 A. Ramírez and J. R. Romero
Architecture and
product lines
Development
support
Maintenance
and evolution
Meth. Aspects and
general SE topics
Mobile, IoT and
cyber-physical syst.
Modelling
and design
Programming
Project
management
Quality and
metrics
Requirements
Testing, validation
and verification
Services and
cloud computing
Machine learning
and data mining
Knowledge rep.
and reasoning
Communication
and perception
Search and
optimisation
Fig. 2.3 Relation between AI areas and SE topics based on the number of publications
2 Synergies Between Artificial Intelligence and Software … 25
2.5.1 Machine Learning and Data Mining
Predictive methods are widely explored to address defect prediction [74], fault local-
isation [36], bug severity prediction [29] and code smell detection [6] from a classi-
fication perspective. A variety of supervised techniques have been applied to solve
these problems, including ensembles [108], neural networks [110] and support vec-
tor machines [44]. Another type of predictive task is regression, whose methods
have been considered to build estimators for development effort [54] or service rep-
utation [93]. Approaches for defect prediction and effort estimation are particularly
focused on cross-project scenarios [41], i.e., making predictions for a project by using
data from other projects, for which transfer learning is suitable [99]. As mentioned
in Sect.2.4, deep learning has become a “hot topic” in AI-enhanced SE. The range of
applications is extensive: web service recommendation [7], app testing [50] and issue
tracking [103], to mention a few. One of the strengths of deep learning approaches
is their ability to deal with unstructured inputs, which has been exploited in applica-
tions that need to analyse or manipulate source code like comment generation [15]
or code injection detection [105].
Regarding descriptive methods, clustering is viewed as a useful summarising tech-
nique to analyse code similarity [12], API usage [69] and programming styles [64].
Software modularisation [4] and architecture recovery [90] are frequently treated as
a clustering problem too, looking for groups of dependent entities. Association rule
mining, an approach to discover rules describing patterns in data, has served to study
the co-evolution of production and test code [97], co-occurrences of code smells [75]
and, more recently, change impact of code clones [66]. Descriptive methods are rel-
evant methods in process mining and specification mining too. The former extracts
business information from the analysis of event logs, and has been applied to deal
with process evolution [49] and architecture reconstruction [21]. The latter infers
formal specifications from traces or documentation, being useful for understanding
external libraries [11], error-handling mechanisms [42] and debugging [58]. In the
context of MSR, logging practices [51], API usage [96] and continuous integra-
tion [31] are recent topics under research. It is interesting to note that MSR works do
not only analyse code and commits, but also conflicts, readme files and licenses. The
analysis of specific issues in mobile development, such as energy consumption [71],
and app market trends are quite common too [57].
2.5.2 Knowledge Representation and Reasoning
Ontologies frequently appear in studies focused on early stages of software engi-
neering, including requirement analysis [60], conceptual modelling [10] and archi-
tectural design [106]. Information retrieval techniques, sometimes in combination
with ontologies, are effective to deal with semantic aspects. Some recent examples
focus on the identification of relationships between code elements [53], service-
26 A. Ramírez and J. R. Romero
related tasks such as web service annotation [94] and recommendation [46], and
artefact correctness checking in business process modelling [70].
Automatic reasoning provides support to build verification and validation meth-
ods, and has been applied for runtime requirements [13], UML/OCL schemas [72]
and self-adaptive systems [82], among others. Fuzzy logic, which allow handling
imprecise information, has been explored for model-based regression testing [1],
defect prediction based on software metrics [104] and traceability between require-
ments and services [79]. Bayesian networks, whose objective is to represent variables
and infer dependencies based on probabilities, have revealed useful for estimating
software quality [95] and supporting decision-making in rapid software develop-
ment [55]. When the problem formulation involves temporal variables, such as the
study of the developer’s behaviour [40], hidden Markov models are specially suitable.
2.5.3 Search and Optimisation
Automating software testing has traditionally been the target objective of search-
based approaches. SBST covers a wide range of tasks (test case generation, regression
testing), target systems (web systems, GUIs) and methodologies (black-box testing,
mutation testing, model-based testing) [16, 76]. Other software lifecycle tasks for-
mulated as optimisation problems are project scheduling [85], refactoring [56] and
program repair [32]. These problems often demand multi-objective algorithms since
they present multiple, usually conflicting factors that should be simultaneously opti-
mised. An observed trend is the use of many-objective techniques [84], suitable when
the number of properties to be optimised is high. Problems with these characteristics
are software product selection, refactoring, test suite selection, model transforma-
tion, remodularisation and architecture discovery. For some of these problems, the
human participation in the search process has been examined by means of interactive
optimisation [83]. This way, subjective evaluation criteria are included in the search
and more human-looked solutions are produced.
In terms of techniques, evolutionary algorithms are mostly preferred. Genetic
programming—a variant of evolutionary algorithms operating over tree structures—
is intrinsically linked to genetic improvement (GI), a subarea focused on manipulat-
ing the code to enhance non-functional properties [45]. Code obfuscation, transplan-
tation and bug-fixing are recurrent topics within GI. Ant colony optimisation, particle
swarm optimisation and artificial bee colony algorithms are minority metaheuristics
with a few applications in testing [67], design [33] and service composition [98],
respectively. Hyperheuristics, an advanced technique that seeks to automatically
build algorithms from low level heuristics, has been explored too in the context
of integration testing [35]. Finally, some authors have combined evolutionary tech-
niques with constraint solvers trying to reach more optimal solutions. This kind of
approach has been applied to software product line configuration, which is known
to present many constraints [89, 101].
2 Synergies Between Artificial Intelligence and Software … 27
2.5.4 Communication and Perception
Natural language processing, the study of language understanding and generation,
predominates in this category with important applications in requirement engineering
(RE). NLP has been used to analyse terminological inconsistencies [65] and ambi-
guities [19] in requirement document and user stories, respectively. The spectrum
of NLP applications has been extended beyond RE, with innovative applications to
detect technical debt [18], improve test case prioritisation [107], extract concepts
from product line specifications [37] and identify services from business process
models [47]. NLP can also serve “translation” purposes, e.g. automatically defining
test cases from bug reports [27] or transforming code comments into formal program
specifications [109]. MSR is also benefiting from NLP techniques to process textual
information from issues trackers [24]. Code analysis, which seeks to understand the
use of identifiers or comments, is another application using NLP principles and, more
specifically, speech-tagging methods [68].
Despite its little presence yet, computer vision is gaining a foothold in SE
research [8]. Among the innovative applications currently found, we can mention
icon recognition in apps [102], code identification from programming video tutori-
als [80], and visual support to web testing [91]. The use of virtual and augmented
reality is taking its first steps the appearance of envision papers [63] and first proto-
types [62, 86] to support developers in program comprehension.
Finally, an increasing interest in developing bots for supporting software mod-
elling [78] and development [25] tasks is observed. As intelligent assistants, bots are
expected to automatically identify problems, e.g., conflicts in code changes, commu-
nicate recommendations in natural language, e.g., suggest experts to contact with, and
take autonomous actions, e.g., open pull requests to fix programming mistakes. Their
successful integration with development environments and repository platforms is
one of the main challenges.
2.5.5 Cross-Disciplinary Topics
Exploring the intersections of AI areas is becoming an effective approach to deal with
multiple types of software artefacts and overcome the limitations of particular tech-
niques. Our analysis reveals different types of interdisciplinary AI research applied
to SE: (1) the application of AI methods that lie on the boundary of two AI areas by
definition, (2) the use of AI methods to extract inputs to feed other algorithms and
(3) the use of one AI technique to enhance the capabilities of another one. We next
discuss some interesting applications of each approach.
Sentiment analysis and topic modelling are the most clear examples of hybrid
disciplines—both combining NLP with data mining concepts—applied to SE. On
the one hand, sentiment analysis seeks to find and assess emotions or opinions [52].
For SE, this type of analysis is relevant to understand developer interactions in repos-
28 A. Ramírez and J. R. Romero
itories and make informed decisions from users’ app reviews. On the other hand,
topic modelling refers to the extraction of concepts from text documents, and is
specially well-suite to deal with unstructured data like source code, logs or docu-
mentation [14]. Topic modelling can support traceability in software development
by finding the code that implements certain features or linking bug reports to code,
as well as clone detection based on the semantic similarity of topics appearing in
methods.
A second group of interdisciplinary methods consists in preprocessing data with
AI techniques to make it amenable for learning. The ability of deep learning to infer
knowledge from unstructured data has opened up the possibilities of using software
data in text and visual formats. A natural consequence is the appearance of interdis-
ciplinary methods in which NLP [100] or computer vision [73] is applied to extract
information from software artefacts to feed deep neural networks. Semantic analysis
by means of ontologies has been studied to build appropriate features from which
a ML algorithm classifies requirements [48]. Beyond learning, input generation has
been adopted in requirement prioritisation [61], in which NLP provides requirement
dependencies to a constraint solver, and requirement classification [5], in which
concepts extracted with NLP are then clustered to define a glossary of related terms.
Finally, the last type of interdisciplinary research happens when AI techniques
are combined to produce better decision models. A common combination is the use
of search algorithms in the context of machine learning and data mining, where
model building, feature selection, parameter tuning and data sampling are converted
into optimisation problems. These ideas have been applied in the context of bad
smell detection [30] and defect prediction [92]. In the opposite sense, knowledge
extracted by data mining algorithms can be integrated within the search algorithm
in order to better guide its decisions. This approach has been recently applied in
SBSE problems: test case selection with learned fitness functions [3], association
rules to improve test case prioritisation [81], and clustering to constraint the refac-
toring search space [2]. Less often, we find intersections between other areas. Some
examples are a data mining approach to generate ontologies for business process
improvement, and the application of clustering to simplify Bayesian networks for
code completion recommendations.
2.6 AI-Based Tools
The development of tools providing easy access to research methods in AI-enhanced
SE can greatly contribute to its effective technology transfer and practicability. As
a first attempt to compile the available tools and frameworks in this area, Table 2.6
collects those extracted from the list of selected publications. To be included in the
list, the paper should provide a live link to the tool or framework. Tools are oriented to
solve a particular SE problem, whereas frameworks provide methods and utilities to
2 Synergies Between Artificial Intelligence and Software … 29
build AI-based solutions for software engineering problems. Additional information
for each tool (link, version and licence) can be found in the additional material.9
In the last five years, researchers have developed tools for requirement analysis,
development support and, especially, testing. As a consequence, most of the tools
are search-based proposals, even though results of the research in sentiment analysis
and machine learning also find a place. The number of frameworks is considerable
smaller and focused on MSR and genetic improvement. This suggests that authors
might be using other general-purpose popular frameworks in their studies. Among
those mentioned, we found that the most recurrent are Weka10
and scikit-learn11
for
machine learning, jMetal12
for search algorithms and SentiStrength13
for sentiment
analysis.
2.7 Conclusion
This chapter presents an analysis of AI-enhanced SE that reveals its current impact
and evolution in the broader area of software engineering research. Our study collects
and synthesises 2973 publications, which represents more than the 22% of all SE
research studies published in reference conferences and journals. This work provides
a global view of the state of the discipline in the period 2015–2020, summarising
top authors, studied topics and preferred techniques. Despite the immense variety of
topics, most of the effort goes to testing, maintenance and development issues. This
fact seems to respond to a higher availability of data for knowledge discovery, as is
the case of software repositories. Also, these particular phases seem to be more prone
to easy automation in comparison to project management, requirement engineering
or modelling.
Since 2015, the adoption of AI solutions is continuously growing, though the
interestontheirunderlyingtechniqueshasexperiencedsomechangesalongtheyears.
The popularity of machine learning and search algorithms might not be surprising,
but clearly contrasts with the importance given to knowledge-based systems in the
origins. Deep learning is on the verge of becoming the reference ML technique thanks
to its ability to learn by its own from unstructured data. However, strongly relying
on black-box decision models also poses some challenges regarding user acceptance
and trust, for which some authors are arguing a need of explainable methods [20,
26]. Natural language processing and computer vision, whose potential was not so
frequently mentioned in AI road-maps for SE, have found great applicability too.
The exploration of AI solutions combining techniques from different disciplines
9 https://www.uco.es/grupos/kdis/sbse/aise.
10 https://www.cs.waikato.ac.nz/ml/weka/(Last accessed: July 12, 2021).
11 https://scikit-learn.org/(Last accessed: July 12, 2021).
12 https://jmetal.github.io/jMetal/(Last accessed: July 12, 2021).
13 http://sentistrength.wlv.ac.uk/(Last accessed: July 12, 2021).
30 A. Ramírez and J. R. Romero
Table 2.6 Tools and frameworks for AI-enhanced software engineering
Tool SE topic AI approach
AQUSA User-stories requirement analysis NLP
ARSENAL-GSD Development teams Sentiment analysis
ASketch Alloy model validation SAT solver
ASTOR Automatic software repair Search
CloneCognition Code clone detection Machine learning
ConPan Docker analyser MSR
CrossPare Defect prediction Machine learning
DeepCommenter Code comment generation Machine learning, MSR
DeepMutation Mutation testing Machine learning
DiffTech Development technologies
comparison
MSR
EvoMaster System-level test generation Search
EvoSQL SQL query testing Search
EvoSuite Test suite generation Search
FEMIR Framework recommendation Graph mining
JCOMIX Vulnerability detection Search
L-CMP Verification Data mining
Mono2Micro Architecture migration Machine learning
MOTSD Test selection Search
NARCIA Requirement change analysis NLP
OCELOT Test data generation Search
OPLA Product line architecture Search
RecoLibry Recommender systems
development
Ontology
Platys User-context App development Machine learning
Senti4SD Developers’ communication Sentiment analysis
SentiCR Code review Sentiment analysis
SentiStength-SE Developers’ communication Sentiment analysis
SimCoTest Test suite generation Search
SoftMon Performance comparison Machine learning, NLP
STYLE-ANALYZER Code format fixing Machine learning, MSR
Tarski Traceability analysis Automatic reasoning
TESTAR GUI testing Search
UIED GUI design Computer vision, machine learning
UMGT Test case generation NLP, search
VISTA Web test repair Computer vision
XFix Layout repair Search
Framework Support to Language
Candoia Mining software repositories Various
CrossMiner Mining software repositories, NLP Java
Gin Genetic improvement Java
PyDriller Mining software repositories Python
PyGGI Genetic improvement Python
2 Synergies Between Artificial Intelligence and Software … 31
has revealed as a new trend within the field, which we expect could bring new
opportunities to address more complex SE tasks.
In light of the results, artificial intelligence for software engineering has come to
stay. However, the adoption of AI solutions in practice might still need accessible
and more mature tools, preferably integrated in the environments and platforms used
by the industry. Also, clear guidelines for practitioners about the limitations and risks
of AI should be delivered, preventing from over-expectations and bias on AI results.
Acknowledgements This work was supported by Spanish Ministry of Science and Innovation
(projects PID2020-115832GB-I00 and RED2018-102472-T), and the Andalusian Regional Gov-
ernment by means of the European Social Fund (postdoctoral grant DOC_00944).
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
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 Auto-
mated Software Engineering (ASE) (2018), pages 464–474
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
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)
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)
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)
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)
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)
9. L. Briand, AI in SE: a 25-year Journey (Keynote), in 1st International Workshop on Software
Engineering Intelligence (2019)
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)
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)
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)
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)
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)
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf
Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf

More Related Content

Similar to Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf

International Journal of Concrete Technology Vol 2 Issue 2
International Journal of Concrete Technology Vol 2 Issue 2International Journal of Concrete Technology Vol 2 Issue 2
International Journal of Concrete Technology Vol 2 Issue 2JournalsPub www.journalspub.com
 
International Journal of Geological and Geotechnical Engineering Vol 2 Issue 2
International  Journal of Geological and Geotechnical Engineering Vol 2 Issue 2International  Journal of Geological and Geotechnical Engineering Vol 2 Issue 2
International Journal of Geological and Geotechnical Engineering Vol 2 Issue 2JournalsPub www.journalspub.com
 
International Journal of Housing and Human Settlement Planning Vol 2 Issue 2
International Journal of Housing and Human Settlement Planning Vol 2 Issue 2International Journal of Housing and Human Settlement Planning Vol 2 Issue 2
International Journal of Housing and Human Settlement Planning Vol 2 Issue 2JournalsPub www.journalspub.com
 
2020 book challenges_andtrendsinmultimoda
2020 book challenges_andtrendsinmultimoda2020 book challenges_andtrendsinmultimoda
2020 book challenges_andtrendsinmultimodassuserbf2656
 
International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2
International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2
International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2JournalsPub www.journalspub.com
 
Develop a 4-6 page holistic intervention plan design to improve th
Develop a 4-6 page holistic intervention plan design to improve thDevelop a 4-6 page holistic intervention plan design to improve th
Develop a 4-6 page holistic intervention plan design to improve thTaunyaCoffman887
 
Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...
Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...
Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...FajarMaulana962405
 
Running Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY .docx
Running Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY    .docxRunning Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY    .docx
Running Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY .docxhealdkathaleen
 
International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)
International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)
International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)JournalsPub www.journalspub.com
 
International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2
International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2
International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2JournalsPub www.journalspub.com
 
International Journal of Solid State Materials (Vol 2 Issue 2)
International Journal of Solid State Materials (Vol 2 Issue 2)International Journal of Solid State Materials (Vol 2 Issue 2)
International Journal of Solid State Materials (Vol 2 Issue 2)JournalsPub www.journalspub.com
 
International journal of software computing and testing vol 2 issue 2
International journal of software computing and testing vol 2 issue 2International journal of software computing and testing vol 2 issue 2
International journal of software computing and testing vol 2 issue 2JournalsPub www.journalspub.com
 
2014 Smart Structures/NDE
2014 Smart Structures/NDE2014 Smart Structures/NDE
2014 Smart Structures/NDEEngku Fahmi
 
International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...
International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...
International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...JournalsPub www.journalspub.com
 
International Journal of Production Engineering vol 2 issue 2
International Journal of Production Engineering vol 2 issue 2International Journal of Production Engineering vol 2 issue 2
International Journal of Production Engineering vol 2 issue 2JournalsPub www.journalspub.com
 
International journal of emergency and trauma nursing vol 2 issue 2
International journal of emergency and trauma nursing vol 2 issue 2International journal of emergency and trauma nursing vol 2 issue 2
International journal of emergency and trauma nursing vol 2 issue 2JournalsPub www.journalspub.com
 
International Journal of Composite and Constituent Materials (Vol 2 Issue 2)
International Journal of Composite and Constituent  Materials (Vol 2 Issue 2)International Journal of Composite and Constituent  Materials (Vol 2 Issue 2)
International Journal of Composite and Constituent Materials (Vol 2 Issue 2)JournalsPub www.journalspub.com
 

Similar to Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf (20)

International Journal of Concrete Technology Vol 2 Issue 2
International Journal of Concrete Technology Vol 2 Issue 2International Journal of Concrete Technology Vol 2 Issue 2
International Journal of Concrete Technology Vol 2 Issue 2
 
International Journal of Geological and Geotechnical Engineering Vol 2 Issue 2
International  Journal of Geological and Geotechnical Engineering Vol 2 Issue 2International  Journal of Geological and Geotechnical Engineering Vol 2 Issue 2
International Journal of Geological and Geotechnical Engineering Vol 2 Issue 2
 
Computer Science and Programming Language Vol 2 Issue 2
Computer Science and Programming Language Vol 2 Issue 2Computer Science and Programming Language Vol 2 Issue 2
Computer Science and Programming Language Vol 2 Issue 2
 
International Journal of Housing and Human Settlement Planning Vol 2 Issue 2
International Journal of Housing and Human Settlement Planning Vol 2 Issue 2International Journal of Housing and Human Settlement Planning Vol 2 Issue 2
International Journal of Housing and Human Settlement Planning Vol 2 Issue 2
 
2020 book challenges_andtrendsinmultimoda
2020 book challenges_andtrendsinmultimoda2020 book challenges_andtrendsinmultimoda
2020 book challenges_andtrendsinmultimoda
 
From Clinical Information Systems toward HealthGrid
From Clinical Information Systems toward HealthGridFrom Clinical Information Systems toward HealthGrid
From Clinical Information Systems toward HealthGrid
 
International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2
International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2
International Journal of Chemical and Molecular Engineering - Vol 2_Issue 2
 
Develop a 4-6 page holistic intervention plan design to improve th
Develop a 4-6 page holistic intervention plan design to improve thDevelop a 4-6 page holistic intervention plan design to improve th
Develop a 4-6 page holistic intervention plan design to improve th
 
Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...
Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...
Applied Optimization and Swarm Intelligence (Springer Tracts in Nature-Inspir...
 
Running Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY .docx
Running Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY    .docxRunning Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY    .docx
Running Head ANNOTATED BIBLIOGRAPHYANNOTATED BIBLIOGRAPHY .docx
 
Genetic engineering and recombination vol 2 issue 2
Genetic engineering and recombination vol 2 issue 2Genetic engineering and recombination vol 2 issue 2
Genetic engineering and recombination vol 2 issue 2
 
International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)
International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)
International Journal of Nanomaterials and Nanostructures (vol 2 issue 2)
 
International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2
International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2
International Journal of Image Processing and Pattern Recognition Vol 2 Issue 2
 
International Journal of Solid State Materials (Vol 2 Issue 2)
International Journal of Solid State Materials (Vol 2 Issue 2)International Journal of Solid State Materials (Vol 2 Issue 2)
International Journal of Solid State Materials (Vol 2 Issue 2)
 
International journal of software computing and testing vol 2 issue 2
International journal of software computing and testing vol 2 issue 2International journal of software computing and testing vol 2 issue 2
International journal of software computing and testing vol 2 issue 2
 
2014 Smart Structures/NDE
2014 Smart Structures/NDE2014 Smart Structures/NDE
2014 Smart Structures/NDE
 
International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...
International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...
International Journal of Embedded Systems and Emerging Technologies (Vol 2 Is...
 
International Journal of Production Engineering vol 2 issue 2
International Journal of Production Engineering vol 2 issue 2International Journal of Production Engineering vol 2 issue 2
International Journal of Production Engineering vol 2 issue 2
 
International journal of emergency and trauma nursing vol 2 issue 2
International journal of emergency and trauma nursing vol 2 issue 2International journal of emergency and trauma nursing vol 2 issue 2
International journal of emergency and trauma nursing vol 2 issue 2
 
International Journal of Composite and Constituent Materials (Vol 2 Issue 2)
International Journal of Composite and Constituent  Materials (Vol 2 Issue 2)International Journal of Composite and Constituent  Materials (Vol 2 Issue 2)
International Journal of Composite and Constituent Materials (Vol 2 Issue 2)
 

More from JarellScott

Easttom C. Computer Security Fundamentals 5ed 2023.pdf
Easttom C. Computer Security Fundamentals 5ed 2023.pdfEasttom C. Computer Security Fundamentals 5ed 2023.pdf
Easttom C. Computer Security Fundamentals 5ed 2023.pdfJarellScott
 
Easttom C. Computer Security Fundamentals 4ed 2020.pdf
Easttom C. Computer Security Fundamentals 4ed 2020.pdfEasttom C. Computer Security Fundamentals 4ed 2020.pdf
Easttom C. Computer Security Fundamentals 4ed 2020.pdfJarellScott
 
Penrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdf
Penrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdfPenrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdf
Penrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdfJarellScott
 
Course Modules.pdf
Course Modules.pdfCourse Modules.pdf
Course Modules.pdfJarellScott
 
W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...
W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...
W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...JarellScott
 
Easttom C. Computer Security Fundamentals 3ed 2016.pdf
Easttom C. Computer Security Fundamentals 3ed 2016.pdfEasttom C. Computer Security Fundamentals 3ed 2016.pdf
Easttom C. Computer Security Fundamentals 3ed 2016.pdfJarellScott
 
pdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdf
pdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdfpdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdf
pdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdfJarellScott
 
W2-Presentation-Problem Solving through Flowcharts 1.pdf
W2-Presentation-Problem Solving through Flowcharts 1.pdfW2-Presentation-Problem Solving through Flowcharts 1.pdf
W2-Presentation-Problem Solving through Flowcharts 1.pdfJarellScott
 
W1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdfW1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdfJarellScott
 

More from JarellScott (9)

Easttom C. Computer Security Fundamentals 5ed 2023.pdf
Easttom C. Computer Security Fundamentals 5ed 2023.pdfEasttom C. Computer Security Fundamentals 5ed 2023.pdf
Easttom C. Computer Security Fundamentals 5ed 2023.pdf
 
Easttom C. Computer Security Fundamentals 4ed 2020.pdf
Easttom C. Computer Security Fundamentals 4ed 2020.pdfEasttom C. Computer Security Fundamentals 4ed 2020.pdf
Easttom C. Computer Security Fundamentals 4ed 2020.pdf
 
Penrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdf
Penrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdfPenrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdf
Penrose R. Artificial Intelligence Versus Natural Intelligence 2022.pdf
 
Course Modules.pdf
Course Modules.pdfCourse Modules.pdf
Course Modules.pdf
 
W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...
W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...
W1 Lesson 1 - Understanding Network Infrastructure and Components - Presentat...
 
Easttom C. Computer Security Fundamentals 3ed 2016.pdf
Easttom C. Computer Security Fundamentals 3ed 2016.pdfEasttom C. Computer Security Fundamentals 3ed 2016.pdf
Easttom C. Computer Security Fundamentals 3ed 2016.pdf
 
pdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdf
pdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdfpdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdf
pdfcoffee.com_maricar-maquimot-philippine-popular-culture-pdf-free.pdf
 
W2-Presentation-Problem Solving through Flowcharts 1.pdf
W2-Presentation-Problem Solving through Flowcharts 1.pdfW2-Presentation-Problem Solving through Flowcharts 1.pdf
W2-Presentation-Problem Solving through Flowcharts 1.pdf
 
W1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdfW1-Presentation-Introduction to Computing and Programming.pdf
W1-Presentation-Introduction to Computing and Programming.pdf
 

Recently uploaded

FULL ENJOY - 9953040155 Call Girls in Gtb Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Gtb Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in Gtb Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Gtb Nagar | DelhiMalviyaNagarCallGirl
 
Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...
Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...
Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...anilsa9823
 
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | DelhiMalviyaNagarCallGirl
 
Turn Lock Take Key Storyboard Daniel Johnson
Turn Lock Take Key Storyboard Daniel JohnsonTurn Lock Take Key Storyboard Daniel Johnson
Turn Lock Take Key Storyboard Daniel Johnsonthephillipta
 
Deconstructing Gendered Language; Feminist World-Making 2024
Deconstructing Gendered Language; Feminist World-Making 2024Deconstructing Gendered Language; Feminist World-Making 2024
Deconstructing Gendered Language; Feminist World-Making 2024samlnance
 
Alex and Chloe by Daniel Johnson Storyboard
Alex and Chloe by Daniel Johnson StoryboardAlex and Chloe by Daniel Johnson Storyboard
Alex and Chloe by Daniel Johnson Storyboardthephillipta
 
Vip Hisar Call Girls #9907093804 Contact Number Escorts Service Hisar
Vip Hisar Call Girls #9907093804 Contact Number Escorts Service HisarVip Hisar Call Girls #9907093804 Contact Number Escorts Service Hisar
Vip Hisar Call Girls #9907093804 Contact Number Escorts Service Hisarsrsj9000
 
MinSheng Gaofeng Estate commercial storyboard
MinSheng Gaofeng Estate commercial storyboardMinSheng Gaofeng Estate commercial storyboard
MinSheng Gaofeng Estate commercial storyboardjessica288382
 
Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...
Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...
Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...wdefrd
 
San Jon Motel, Motel/Residence, San Jon NM
San Jon Motel, Motel/Residence, San Jon NMSan Jon Motel, Motel/Residence, San Jon NM
San Jon Motel, Motel/Residence, San Jon NMroute66connected
 
Call Girl Service In Dubai #$# O56521286O #$# Dubai Call Girls
Call Girl Service In Dubai #$# O56521286O #$# Dubai Call GirlsCall Girl Service In Dubai #$# O56521286O #$# Dubai Call Girls
Call Girl Service In Dubai #$# O56521286O #$# Dubai Call Girlsparisharma5056
 
FULL ENJOY - 9953040155 Call Girls in Uttam Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Uttam Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in Uttam Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Uttam Nagar | DelhiMalviyaNagarCallGirl
 
Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...
Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...
Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...akbard9823
 
Patrakarpuram ) Cheap Call Girls In Lucknow (Adult Only) 🧈 8923113531 𓀓 Esco...
Patrakarpuram ) Cheap Call Girls In Lucknow  (Adult Only) 🧈 8923113531 𓀓 Esco...Patrakarpuram ) Cheap Call Girls In Lucknow  (Adult Only) 🧈 8923113531 𓀓 Esco...
Patrakarpuram ) Cheap Call Girls In Lucknow (Adult Only) 🧈 8923113531 𓀓 Esco...akbard9823
 
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in DowntownDowntown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtowndajasot375
 
Jeremy Casson - An Architectural and Historical Journey Around Europe
Jeremy Casson - An Architectural and Historical Journey Around EuropeJeremy Casson - An Architectural and Historical Journey Around Europe
Jeremy Casson - An Architectural and Historical Journey Around EuropeJeremy Casson
 
Akola Call Girls #9907093804 Contact Number Escorts Service Akola
Akola Call Girls #9907093804 Contact Number Escorts Service AkolaAkola Call Girls #9907093804 Contact Number Escorts Service Akola
Akola Call Girls #9907093804 Contact Number Escorts Service Akolasrsj9000
 
Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...
Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...
Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...akbard9823
 
exhuma plot and synopsis from the exhuma movie.pptx
exhuma plot and synopsis from the exhuma movie.pptxexhuma plot and synopsis from the exhuma movie.pptx
exhuma plot and synopsis from the exhuma movie.pptxKurikulumPenilaian
 
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...dajasot375
 

Recently uploaded (20)

FULL ENJOY - 9953040155 Call Girls in Gtb Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Gtb Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in Gtb Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Gtb Nagar | Delhi
 
Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...
Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...
Lucknow 💋 Cheap Call Girls In Lucknow Finest Escorts Service 8923113531 Avail...
 
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in New Ashok Nagar | Delhi
 
Turn Lock Take Key Storyboard Daniel Johnson
Turn Lock Take Key Storyboard Daniel JohnsonTurn Lock Take Key Storyboard Daniel Johnson
Turn Lock Take Key Storyboard Daniel Johnson
 
Deconstructing Gendered Language; Feminist World-Making 2024
Deconstructing Gendered Language; Feminist World-Making 2024Deconstructing Gendered Language; Feminist World-Making 2024
Deconstructing Gendered Language; Feminist World-Making 2024
 
Alex and Chloe by Daniel Johnson Storyboard
Alex and Chloe by Daniel Johnson StoryboardAlex and Chloe by Daniel Johnson Storyboard
Alex and Chloe by Daniel Johnson Storyboard
 
Vip Hisar Call Girls #9907093804 Contact Number Escorts Service Hisar
Vip Hisar Call Girls #9907093804 Contact Number Escorts Service HisarVip Hisar Call Girls #9907093804 Contact Number Escorts Service Hisar
Vip Hisar Call Girls #9907093804 Contact Number Escorts Service Hisar
 
MinSheng Gaofeng Estate commercial storyboard
MinSheng Gaofeng Estate commercial storyboardMinSheng Gaofeng Estate commercial storyboard
MinSheng Gaofeng Estate commercial storyboard
 
Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...
Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...
Islamabad Escorts # 03080115551 # Escorts in Islamabad || Call Girls in Islam...
 
San Jon Motel, Motel/Residence, San Jon NM
San Jon Motel, Motel/Residence, San Jon NMSan Jon Motel, Motel/Residence, San Jon NM
San Jon Motel, Motel/Residence, San Jon NM
 
Call Girl Service In Dubai #$# O56521286O #$# Dubai Call Girls
Call Girl Service In Dubai #$# O56521286O #$# Dubai Call GirlsCall Girl Service In Dubai #$# O56521286O #$# Dubai Call Girls
Call Girl Service In Dubai #$# O56521286O #$# Dubai Call Girls
 
FULL ENJOY - 9953040155 Call Girls in Uttam Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Uttam Nagar | DelhiFULL ENJOY - 9953040155 Call Girls in Uttam Nagar | Delhi
FULL ENJOY - 9953040155 Call Girls in Uttam Nagar | Delhi
 
Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...
Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...
Hazratganj ] (Call Girls) in Lucknow - 450+ Call Girl Cash Payment 🧄 89231135...
 
Patrakarpuram ) Cheap Call Girls In Lucknow (Adult Only) 🧈 8923113531 𓀓 Esco...
Patrakarpuram ) Cheap Call Girls In Lucknow  (Adult Only) 🧈 8923113531 𓀓 Esco...Patrakarpuram ) Cheap Call Girls In Lucknow  (Adult Only) 🧈 8923113531 𓀓 Esco...
Patrakarpuram ) Cheap Call Girls In Lucknow (Adult Only) 🧈 8923113531 𓀓 Esco...
 
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in DowntownDowntown Call Girls O5O91O128O Pakistani Call Girls in Downtown
Downtown Call Girls O5O91O128O Pakistani Call Girls in Downtown
 
Jeremy Casson - An Architectural and Historical Journey Around Europe
Jeremy Casson - An Architectural and Historical Journey Around EuropeJeremy Casson - An Architectural and Historical Journey Around Europe
Jeremy Casson - An Architectural and Historical Journey Around Europe
 
Akola Call Girls #9907093804 Contact Number Escorts Service Akola
Akola Call Girls #9907093804 Contact Number Escorts Service AkolaAkola Call Girls #9907093804 Contact Number Escorts Service Akola
Akola Call Girls #9907093804 Contact Number Escorts Service Akola
 
Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...
Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...
Aminabad @ Book Call Girls in Lucknow - 450+ Call Girl Cash Payment 🍵 8923113...
 
exhuma plot and synopsis from the exhuma movie.pptx
exhuma plot and synopsis from the exhuma movie.pptxexhuma plot and synopsis from the exhuma movie.pptx
exhuma plot and synopsis from the exhuma movie.pptx
 
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
Call Girl in Bur Dubai O5286O4116 Indian Call Girls in Bur Dubai By VIP Bur D...
 

Virvou M. Handbook on Artificial Intelligence...Engineer. Vol 1. 2022.pdf

  • 1. Maria Virvou George A. Tsihrintzis Nikolaos G. Bourbakis Lakhmi C. Jain Editors Handbook on Artificial Intelligence-Empowered Applied Software Engineering Artificial Intelligence-enhanced Software and Systems Engineering 2 Volume1: Novel Methodologies to Engineering Smart Software Systems
  • 2. Artificial Intelligence-enhanced Software and Systems Engineering Volume 2 Series Editors Maria Virvou, Department of Informatics, University of Piraeus, Piraeus, Greece George A. Tsihrintzis, Department of Informatics, University of Piraeus, Piraeus, Greece Nikolaos G. Bourbakis, College of Engineering and Computer Science, Wright State University, Dayton, OH, USA Lakhmi C. Jain, KES International, Shoreham-by-Sea, UK
  • 3. The book series AI-SSE publishes new developments and advances on all aspects of Artificial Intelligence-enhanced Software and Systems Engineering—quickly and with a high quality. The series provides a concise coverage of the particular topics from both the vantage point of a newcomer and that of a highly specialized researcher in these scientific disciplines, which results in a significant cross-fertilization and research dissemination. To maximize dissemination of research results and knowl- edge in these disciplines, the series will publish edited books, monographs, hand- books, textbooks and conference proceedings. Of particular value to both the contrib- utors and the readership are the short publication timeframe and the world-wide distribution, which enable both wide and rapid dissemination of research output.
  • 4. Maria Virvou · George A. Tsihrintzis · Nikolaos G. Bourbakis · Lakhmi C. Jain Editors Handbook on Artificial Intelligence-Empowered Applied Software Engineering VOL.1: Novel Methodologies to Engineering Smart Software Systems
  • 5. Editors Maria Virvou Department of Informatics University of Piraeus Piraeus, Greece Nikolaos G. Bourbakis College of Engineering and Computer Science Wright State University Dayton, OH, USA George A. Tsihrintzis Department of Informatics University of Piraeus Piraeus, Greece Lakhmi C. Jain KES International Shoreham-by-Sea, UK Liverpool Hope University Liverpool, UK ISSN 2731-6025 ISSN 2731-6033 (electronic) Artificial Intelligence-enhanced Software and Systems Engineering ISBN 978-3-031-08201-6 ISBN 978-3-031-08202-3 (eBook) https://doi.org/10.1007/978-3-031-08202-3 © The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
  • 6. Foreword Artificial Intelligence is defining a new era in human civilization, shaping a new, human-centred society (“Society 5.0”) in which cyberspace (virtual space) and phys- ical space (real space) are highly integrated [1, 2]. The main characteristic of this era is that huge amounts of data, collected from a variety of sensors, are stored and automatically analysed without human intervention and via intelligent algo- rithms and software which far exceed human capabilities. The consequence is a strong interconnection between humans, devices and services in literally all aspects of professional, social and everyday life, which was never previously seen and is continuously becoming ever more complex. Certainly, this interconnection between human and artificial intelligence comes with significant risks. In [3], a warning is issued that “… artificial intelligence (AI) is not an ongoing or imminent global catastrophic risk. Nor is it as uncontroversially a serious cause for concern. However, from a long term perspective, the development of general artificial intelligence, exceeding that of the human brain, can be seen as one of the main challenges to the future of humanity (arguably, even as the main challenge).” Despite the risks associated with the rapid development of Artificial Intelligence, almost every aspect of society is expected to benefit from it, including economic development, combatting famine, poverty and inequality, improved health care, advanced assistive technologies for people in need, efficient energy production and distribution, disaster prevention and intelligent applications in manufacturing and industry. These advances come from the pressure imposed on researchers worldwide to insert Artificial Intelligence enhancements into software and/or empower software with Artificial Intelligence as a result of technological advancements, such as the Internet of Things, big data collected with a variety of sensors or smartphone and mobile software applications. Thus, a new multidisciplinary research area has been emerging over the recent past, which is expected to have a significant impact on society. Professors Maria Virvou, George A. Tsihrintzis, Nikolaos G. Bourbakis and Lakhmi C. Jain have identified the lacuna in an appropriate, high impact forum to v
  • 7. vi Foreword publish related research and to disseminate corresponding knowledge as it accumu- lates. Thus, they initiated a new Springer series under the title Artificial Intelligence- Enhanced Software and Systems Engineering. As they state, “The book series AI-SSE publishes new developments and advances on all aspects of Artificial Intelligence- enhanced Software and Systems Engineering—quickly and with a high quality. The series provides a concise coverage of the particular topics from both the vantage point of a newcomer and that of a highly specialized researcher in these scientific disci- plines, which results in a significant cross-fertilization and research dissemination. To maximize dissemination of research results and knowledge in these disciplines, the series will publish edited books, monographs, handbooks, textbooks and confer- ence proceedings. Of particular value to both the contributors and the readership are the short publication timeframe and the world-wide distribution, which enable both wide and rapid dissemination of research output” [4]. In more specificity, the new series will focus on: 1. Incorporating Artificial Intelligence Enhancements into Software 2. Developing Artificial Intelligence Tools for Software Engineering 3. Merging Software Engineering with Knowledge Engineering 4. Software Engineering for Developing Artificial Intelligence and Machine Learning Systems 5. Innovative Applications of Artificial Intelligence-Empowered Software Engi- neering. The book at hand launches the new series. Specifically, Profs. Virvou, Tsihrintzis, Bourbakis and Jain are delivering a high-quality two-volume Handbook on Artificial Intelligence-Empowered Applied Software Engineering. The Handbook consists of a first volume devoted to Novel Methodologies to Engineering Smart Software Systems and a second volume devoted to Smart Software Applications in Cyber-Physical Systems. Specifically, the first volume consists of an introductory/editorial chapter and eleven (11) additional chapters. In the introductory chapter, the editors guide the reader, especially the newcomer to the area of Artificial Intelligence-empowered Applied Software Engineering, and focus on Novel Methodologies to Engineering Smart Software Systems. They introduce the corresponding major concepts and topics, the approaches and some of the open challenges of this fascinating discipline. The remaining 11 chapters have been authored by world-renowned researchers who are recognized for their significant contributions to their corresponding fields. The book is organized into three parts, namely (i) Survey of Recent Relevant Litera- ture (one chapter), (ii) Artificial Intelligence-Assisted Software Development (five chapters) and (iii) Software Engineering Tools to Develop Artificial Intelligence Applications (five chapters). On the other hand, the second volume consists of an introductory/editorial chapter and ten (10) additional chapters. In the introductory chapter, the editors again guide the reader, especially the newcomer to the area of Artificial Intelligence-empowered Applied Software Engineering, and now focus on Smart Software Applications in Cyber-Physical Systems. They introduce the corresponding major concepts and
  • 8. Foreword vii topics, the approaches and some of the open challenges of this fascinating discipline. The remaining ten chapters have been authored by world-renowned researchers who are recognized for their significant contributions to their corresponding fields. The book is organized into five parts, namely (i) Smart Software Applications in Scientific Document Processing (two chapters), (ii) Smart Software Applications in Enterprise Modelling (three chapters), (iii) Smart Software Applications in Education (two chap- ters), (iv) Smart Software Applications in Healthcare and Medicine (two chapters) and (v) Smart Software Applications in Infrastructure Monitoring (one chapter). Editing a two-volume Handbook in this exciting new research area is a chal- lenging task, especially as this discipline is multidisciplinary and researchers come from a wide variety of interests and expertise. The editors are required to grasp this breadth and be deeply versed in the corresponding state-of-the-art developments in the field. Professors Virvou, Tsihrintzis, Bourbakis and Jain have managed to impress us with the breadth of the topics covered in their two-volume Handbook. Their Handbook not only covers an impressively wide variety of topics within this multidisciplinary area, but also the depth in which each topic is covered is dazzling. Moreover, while the first volume is devoted to general methodologies in empowering software with artificial intelligence, the second volume is devoted to specific application areas and case studies. Thus, I am confident that the readers of the Handbook—either newcomers to this area seeking to know more about it or specialized researchers seeking to be versed in the most recent advances in specific sub-areas—will benefit greatly from this two-volume work and, moreover, will be able to make use of and apply their readings in practice. I find the editors’ work superb, and I warmly congratulate them. I have enjoyed reading this two-volume Handbook, and, without any reservation, I recommend it to both specialists in Artificial Intelligence-empowered Applied Software Engineering and to general readers who wish to learn more about this emerging and fascinating discipline. Prof.-Dr. J. Sukarno Mertoguno Deputy Director Institute for Information Security & Privacy (IISP) Georgia Institute of Technology Atlanta, GA, USA Further Reading 1. From Industry 4.0 to Society 5.0: the big societal transformation plan of Japan. https://www.i- scoop.eu/industry-4-0/society-5-0/ 2. Society 5.0. https://www8.cao.go.jp/cstp/english/society5_0/index.html 3. N. Bostrom and M.M. Ćirković (eds.), Global Catastrophic Risks, Oxford University Press, 2008, p. 17 4. https://link.springer.com/bookseries/16891
  • 9. Preface The use of Artificial Intelligence is being extended far beyond the related technology of Expert Systems and the respective more traditional procedures of Knowledge Engineering, Knowledge Acquisition or Knowledge Representation and needs to be embodied in other forms of software. The driving conditions behind related efforts in research and development arise from pressure exercised by important and evolving new technological advancements in big data, smartphone and mobile software appli- cations, the Internet of Things, as well as a vast range of application areas in all sorts of human activities and professions. As such, current related research includes efforts towards the efficient incorporation of Artificial Intelligence enhancements into soft- ware and the empowerment of software with Artificial Intelligence. The goal is dual: (i)todevelopalgorithms,mechanisms,methodologiesandproceduresthatallowsoft- ware to learn and evolve (i.e., to become better, user-friendlier and more efficient at performing specific tasks), either on its own or with the help of a supervisor/instructor and (ii) to enhance the whole Software Engineering process, including the use of Artificial Intelligence to (at least partially) automate software development and to reflect the incorporation of Knowledge Engineering and Knowledge Acquisition, prototyping and rapid application development of intelligent software modules. The book at hand constitutes the inaugural volume of the new Springer series on Artificial Intelligence–Enhanced Software and Systems Engineering (https://link. springer.com/bookseries/16891) and the first volume of a two-volume Handbook on Artificial Intelligence-empowered Applied Software Engineering. In the book, devoted to Novel Methodologies to Engineering Smart Software Systems, we include a detailed Survey of Recent Relevant Literature and present some very significant advances in (i) Artificial Intelligence-Assisted Software Development and (ii) Soft- ware Engineering Tools to develop Artificial Intelligence Applications. The editorial note is followed by 11 chapters, each of which is authored by world-known experts and complemented with additional bibliography for the reader to probe deeper into the chapter topic. The book is directed towards professors, researchers, scientists, engineers and students in Artificial Intelligence, Software Engineering and Computer Science- relateddisciplines.Itisalsodirectedtowardsreaderswhocomefromotherdisciplines ix
  • 10. x Preface and are interested in becoming versed in some of the most recent advances in the field of Artificial Intelligence-empowered Applied Software Engineering. Finally, as societal demand continues to pose new and challenging problems and emerging technologies press for ever more advanced theories and ever more efficient method- ologies, tools and systems to be devised to address them, it is our hope that the Handbook on Artificial Intelligence-empowered Applied Software Engineering will also attract the interest of researchers in authoring/editing related volumes to be published in the new Springer series on Artificial Intelligence-Enhanced Software and Systems Engineering (https://link.springer.com/bookseries/16891). Piraeus, Greece Piraeus, Greece Dayton, OH, USA Shoreham-by-Sea, UK Maria Virvou George A. Tsihrintzis Nikolaos G. Bourbakis Lakhmi C. Jain
  • 11. Contents 1 Introduction to Handbook on Artificial Intelligence-Empowered Applied Software Engineering—VOL.1: Novel Methodologies to Engineering Smart Software Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Maria Virvou, George A. Tsihrintzis, Nikolaos G. Bourbakis, and Lakhmi C. Jain Part I Survey of Recent Relevant Literature 2 Synergies Between Artificial Intelligence and Software Engineering: Evolution and Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Aurora Ramírez and José Raúl Romero Part II Artificial Intelligence-Assisted Software Development 3 Towards Software Co-Engineering by AI and Developers . . . . . . . . . 39 Hironori Washizaki 4 Generalizing Software Defect Estimation Using Size and Two Interaction Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Shyam Singhal, Beulah Moses, and Veena Jadhav 5 Building of an Application Reviews Classifier by BERT and Its Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Yuki Yamada and Atsuo Hazeyama 6 Harmony Search-Enhanced Software Architecture Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Amarjeet Prajapati and Zong Woo Geem 7 Enterprise Architecture-Based Project Model for AI Service System Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Hironori Takeuchi xi
  • 12. xii Contents Part III Software Engineering Tools to Develop Artificial Intelligence Applications 8 Requirements Engineering Processes for Multi-agent Systems . . . . . 125 Iderli Pereira de Souza Filho, Giovane D.’Avila Mendonça, Willian Samuel Gerstberger, and Gilleanes Thorwald Araujo Guedes 9 Specific UML-Derived Languages for Modeling Multi-agent Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Gilleanes Thorwald Araujo Guedes and Rosa Maria Vicari 10 Methods for Ensuring the Overall Safety of Machine Learning Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Tomoko Kaneko and Nobukazu Yoshioka 11 MEAU: A Method for the Evaluation of the Artificial Unintelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Francisco V. Cipolla Ficarra 12 Quantum Computing Meets Artificial Intelligence: Innovations and Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Maha A. Metawei, Hesham Eldeeb, Salwa M. Nassar, and Mohamed Taher
  • 13. Chapter 1 Introduction to Handbook on Artificial Intelligence-Empowered Applied Software Engineering—VOL.1: Novel Methodologies to Engineering Smart Software Systems Maria Virvou, George A. Tsihrintzis, Nikolaos G. Bourbakis, and Lakhmi C. Jain Abstract Significant current research efforts are devoted to the efficient incorpora- tion of Artificial Intelligence enhancements into software and the empowerment of software with Artificial Intelligence. The goal of this research is dual: (i) to develop algorithms, mechanisms, methodologies, and procedures that allow software to learn and evolve (i.e., to become better, user-friendlier and more efficient at performing specific tasks), either on its own or with the help of a supervisor/instructor, and (ii) to enhance the whole Software Engineering process, including the use of Artifi- cial Intelligence to (at least partially) automate software development, and reflect the incorporation of knowledge engineering and knowledge acquisition, prototyping and rapid application development of intelligent software modules. The book at hand constitutes the inaugural volume of the new Springer series on ARTIFICIAL INTEL- LIGENCE–ENHANCED SOFTWARE AND SYSTEMS ENGINEERING (https:// www.springer.com/series/16891). It also constitutes the first volume of a two-volume Handbook on Artificial Intelligence-empowered Applied Software Engineering and is devoted to Novel Methodologies to Engineering Smart Software Systems. M. Virvou · G. A. Tsihrintzis (B) University of Piraeus, 185 34 Piraeus, Greece e-mail: geoatsi@unipi.gr M. Virvou e-mail: mvirvou@unipi.gr N. G. Bourbakis Wright State University, Dayton, OH, USA e-mail: nikolaos.bourbakis@wright.edu L. C. Jain KES International, Shoreham-by-Sea, UK e-mail: jainlakhmi@gmail.com © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 M. Virvou et al. (eds.), Handbook on Artificial Intelligence-Empowered Applied Software Engineering, Artificial Intelligence-enhanced Software and Systems Engineering 2, https://doi.org/10.1007/978-3-031-08202-3_1 1
  • 14. 2 M. Virvou et al. In the book, we present some very significant advances in (i) Artificial Intelligence- Assisted Software Development and (ii) Software Engineering Tools to develop Arti- ficial Intelligence Applications and also include a detailed Survey of Recent Relevant Literature. The editorial note is followed by 11 chapters, each of which is authored by world-known experts and complemented with additional bibliography for the reader to probe deeper into the chapter topic. Keywords Artificial Intelligence · Artificial Intelligence-empowered Software Engineering · Knowledge-based Software Engineering · Learning systems · Smart Software · Software Development with Artificial Intelligence 1.1 Editorial Note For several decades, Artificial Intelligence has been a field of very active and intense research worldwide. Recently, the whole field of Artificial Intelligence is being revisited to provide critical functionality and significant enhancements in reasoning, decision making, filtering, software personalization and adaptivity, natural language understanding, deep learning, machine learning and data mining. This broad activity comes under the research and development pressure of the important and evolving new technological advancements in big data, smartphone and mobile software appli- cations, the Internet of Things, as well as a vast range of application areas in all sorts of human activities and professions. In view of the previous, the use of Artificial Intelligence has been extended beyond the related technology of Expert Systems and the respective more traditional proce- dures of Knowledge Engineering, Knowledge Acquisition or Knowledge Represen- tation and needs to be embodied in other forms of software. As such, current related research includes efforts towards the efficient incorporation of Artificial Intelligence enhancements into software and the empowerment of software with Artificial Intel- ligence. The goal is dual: (i) to develop algorithms, mechanisms, methodologies, and procedures that allow software to learn and evolve (i.e., to become better, user- friendlier and more efficient at performing specific tasks), either on its own or with the help of a supervisor/instructor, and (ii) to enhance the whole Software Engineering process, including the use of Artificial Intelligence to (at least partially) automate software development, and reflect the incorporation of knowledge engineering and knowledge acquisition, prototyping and rapid application development of intelligent software modules. Within the umbrella of Artificial Intelligence-empowered Software Engineering, a number of intelligence paradigms are used, which include Expert Systems, Fuzzy Logic, Machine Learning (and its sub-field of Deep Learning), Artificial Immune Systems, Swarm Intelligence, and Genetic Algorithms. As a result of its enormous pace of growth (both theoretically and in the breadth of application areas) and its high rates of success, Artificial Intelligence-empowered SoftwareEngineeringpromisesamajorimpactonscience,technologyandthesociety
  • 15. 1 Introduction to Handbook on Artificial Intelligence … 3 itself. However, such an impact also includes threats, among others in security, privacy, safety, democracy, fundamental rights, transparency, business, competition or the job market. In order to make efficient development and use of Artificial Intelligence- empowered Software, further research is required and all aspects and applications of the Software Engineering discipline need to be re-considered within the Artificial Intelligence-empowered framework. Specifically, significant research needs to be conducted along the following broad avenues: 1. Incorporating Artificial Intelligence enhancements into software 2. Developing Artificial Intelligence tools for Software Engineering 3. Merging Software Engineering with Knowledge Engineering 4. Software Engineering for developing Artificial Intelligence and Machine Learning systems 5. Innovative applications of Artificial Intelligence-empowered Software Engi- neering. The two-volume Handbook on Artificial Intelligence-empowered Applied Software Engineering aims at updating both the relevant research communities—including professors, researchers, and students—and the general reader on the most recent related advances, including, but not limited to the following topics: • Architecture of AI-empowered systems, intelligent agents and softbots • Architectures for AI-empowered shells • Automating AI-empowered software design and synthesis • Decision support methods for AI-empowered software engineering • Development of AI-empowered multi-modal interfaces • Development of AI-empowered user models • Development processes for AI-empowered applications • Empirical and/or evaluation studies for AI-empowered applications • AI-empowered user interfaces and human–machine interaction • AI-empowered Internet-based interactive applications • Knowledge acquisition for AI-empowered software • AI-empowered process management and project management • Knowledge management for AI-empowered business processes, workflows and enterprise modeling • AI-empowered technologies for semantic web • AI-empowered technologies for service-oriented systems, Internet of services and Internet of things • AI-empowered technologies for web services • AI-empowered methods and tools for software engineering education • AI-empowered methods and tools for testing, verification and validation, main- tenance and evolution • AI-empowered methods for software metrics • AI-empowered requirements engineering, domain analysis and modeling • Methodology and tools for knowledge discovery and data mining
  • 16. 4 M. Virvou et al. • Ontologies and patterns in UML modeling • Ontology engineering • AI-empowered program understanding, programming knowledge, modeling programs and programmers • AI-empowered software engineering methods for Intelligent Tutoring Systems • Software life cycle of AI-empowered interactive systems • AI-empowered software tools assisting system development • AI-empowered personalized software engineering. As the intention of the Handbook is to provide a concise coverage to the particular topic from the vantage point of a newcomer, each chapter is complete within itself and includes an abstract and a bibliography of references to further reading. Because of the breadth of the topics covered and the extensive response by researchers worldwide, the Handbook was divided into two separate volumes. Addi- tionally, each volume is further organized into various parts, with each part grouping together several related chapters. The volume at hand constitutes the first volume of the Handbook and is devoted to Novel Methodologies to Engineering Smart Software Systems. On the other hand, the second volume of the Handbook is devoted to Smart Software Applications in Cyber-Physical Systems. Specifically, this first volume consists of the current editorial note (this Chapter) and an additional eleven (11) chapters. All chapters in the book were authored by researchers who work in the corresponding chapter theme and are recognized for their significant research contributions. In more detail, the chapters in the book are organized into three parts, as follows: The first part of the book consists of one chapter devoted to Survey of Recent Relevant Literature. Specifically, Chap. 2, by Aurora Ramírez and José Raúl Romero, is titled: “Syn- ergies between Artificial Intelligence and Software Engineering: Evolution and Trends.” The authors review related recent literature on Artificial Intelligence in Software Engineering research. They focus on the techniques more applicable to distinct aspects of the software development process and emphasise both innovative applications of Artificial Intelligence and currently available tools. The second part of the book consists of five chapters devoted to Artificial Intelligence-Assisted Software Development. Specifically, Chap. 3, by Hironori Washizaki, is titled: “Towards Software Co- Engineering by AI and Developers.” The author presents a vision in which Artificial Intelligence and human developers collaborate as equal partners to co-create business and social values in software system development and operations. He also points to the current state-of-the-art towards the materialization of this vision. Chapter 4, by Shyam Singhal, Beulah Moses and Veena Jadhav, is titled: “Gener- alizing Software Defect Estimation using Size and Two Interaction Variables.” The authors propose a regression-based software defect estimation model and analyse its effectiveness. They show that their model is highly effective. Chapter 5, by Yuki Yamada and Atsuo Hazeyama, is titled: “Building of an Application Reviews Classifier by BERT and Its Evaluation.” The authors build and
  • 17. 1 Introduction to Handbook on Artificial Intelligence … 5 evaluate a machine learning model for classification of application reviews. They show that among Naive Bayes, Logistic Regression, and BERT classifiers, the latter exhibits the best performance. Chapter 6, by Amarjeet Prajapati and Zong Woo Geem, is titled: “Harmony Search-enhanced Software Architecture Reconstruction.” The authors introduce a software architecture reconstruction method based on harmony search to extract the high-level design from the low-level source code elements. They evaluate their proposed approach over five test problems and show that it outperforms existing approaches with respect to modularization quality, coupling, and cohesion quality measures. Chapter 7, by Hironori Takeuchi, is titled: “Enterprise Architecture-based Project Model for AI Service System Development.” The author considers projects in which enterprise service systems are developed using artificial intelligence (AI) technologies and proposes a generic model. He evaluates the proposed model with encouraging results. The third part of the book consists of five chapters devoted to Software Engineering Tools to develop Artificial Intelligence Applications. Specifically, Chap. 8, by Iderli Pereira de Souza Filho, Giovane D’Avila Mendonça, William Samuel Gerstberger and Gilleanes Thorwald Araujo Guedes, is titled: “Requirements Engineering Processes for Multi-Agent Systems.” The authors describe requirements engineering techniques and processes developed specifically for multiagent systems, highlighting their strengths and weaknesses. They place their emphasis on the coverage of the Belief-Desire-Intention (BDI) model which is commonly used to build cognitive agents. Chapter 9, by Gilleanes Thorwald Araujo Guedes and Rosa Maria Vicari, is titled: “Specific UML-Derived Languages for Modeling Multi-Agent Systems.” The authors present several UML-adapted languages, highlighting their strengths and weaknesses and their suitability for modeling multi-agent systems, particularly with respect to the Belief-Desire-Intention (BDI) model support. They also discuss challenges that have not yet been overcome in modeling multi-agent systems. Chapter 10, by Tomoko Kaneko and Nobukazu Yoshioka, is titled: “Methods for Ensuring the Overall Safety of Machine Learning Systems.” The authors introduce a safety assurance method for an entire machine learning system and use autonomous driving as an example. They also discuss the various challenges with ensuring the safety of machine learning systems and how to overcome them. Chapter 11, by Francisco V. Cipolla Ficarra, is titled: “MEAU: A Method for the Evaluation of the Artificial Unintelligence.” The author presents a method for a heuristic evaluation of the main mistakes online about AI applications, information andsocialnetworking.Hismethodologyrespectsthequalitymodelsand/orprinciples of Artificial Intelligence, Software Engineering and Communicability. Finally, Chap. 12, by Maha A. Metawei, Hesham Eldeeb, Salwa M. Nassar and Mohamed Taher, is titled: “Quantum Computing meets Artificial Intelligence: Inno- vations & Challenges.” The authors discuss quantum-assisted artificial intelligence applications and highlight their motivations as well as their challenges.
  • 18. 6 M. Virvou et al. 1.2 Book Summary and Future Volumes The book at hand constitutes the first volume of a two-volume Handbook on Artificial Intelligence-empowered Applied Software Engineering and is devoted to Novel Methodologies to Engineering Smart Software Systems. It also consti- tutes the inaugural volume in the new Springer series on ARTIFICIAL INTEL- LIGENCE–ENHANCED SOFTWARE AND SYSTEMS ENGINEERING (https:// www.springer.com/series/16891). In it, we present some very significant advances in both Artificial Intelligence-Assisted Software Development and Software Engi- neering Tools to develop Artificial Intelligence Applications and we also include a detailed Survey of Recent Relevant Literature. The book is directed towards professors, researchers, scientists, engineers and students in Artificial Intelligence, Software Engineering and Computer Science- relateddisciplines.Itisalsodirectedtowardsreaderswhocomefromotherdisciplines and are interested in becoming versed in some of the most recent advances in the field of Artificial Intelligence-empowered Applied Software Engineering. We hope that all of them will find it useful and inspiring in their works and researches. On the other hand, societal demand continues to pose new and challenging prob- lems and emerging technologies press for ever more advanced theories and ever more efficient methodologies, tools and systems to be devised to address them. Thus, with the Handbook on Artificial Intelligence-empowered Applied Software Engineering, we also hope to attract the interest of researchers in authoring/editing related volumes to be published in the new Springer series on ARTIFICIAL INTEL- LIGENCE–ENHANCED SOFTWARE AND SYSTEMS ENGINEERING (https:// www.springer.com/series/16891). Bibliography for Further Reading 1. J. Toonders, Data is the new oil of the digital economy. Wired. https://www.wired.com/ins ights/2014/07/data-new-oil-digital-economy/ 2. K. Schwabd, The fourth industrial revolution—what it means and how to respond. Foreign Aff. December 12, 2015. https://www.foreignaffairs.com/articles/2015-12-12/fourth-industrial-rev olution 3. From Industry 4.0 to Society 5.0: the big societal transformation plan of Japan. https://www.i- scoop.eu/industry-4-0/society-5-0/ 4. Society 5.0. https://www8.cao.go.jp/cstp/english/society5_0/index.html 5. https://corporatefinanceinstitute.com/resources/knowledge/other/disruptive-technology/ 6. E. Rich, Kevin Knight and Shivashankar B, 3rd edn. (Nair, Artificial Intelligence, Tata McGraw- Hill Publishing Company, 2010) 7. E. Alepis, M. Virvou, Object-oriented user interfaces for personalized mobile learning, in Intelligent Systems Reference Library Book Series, vol. 64 (Springer, 2014) 8. A.S. Lampropoulos, G.A. Tsihrintzis, Machine learning paradigms – applications in recom- mender systems, vol. 92, in Intelligent Systems Reference Library Book Series (Springer, 2015) 9. K. Chrysafiadi, M. Virvou, Advances in personalized web-based education, vol. 78, in Intelligent Systems Reference Library Book Series (Springer, 2015)
  • 19. 1 Introduction to Handbook on Artificial Intelligence … 7 10. D.N. Sotiropoulos, G.A. Tsihrintzis, Machine learning paradigms—artificial immune systems and their application in software personalization, vol. 118, in Intelligent Systems Reference Library Book Series (Springer, 2017) 11. J. Patterson, A. Gibson, Deep Learning—A Practitioner’s Approach, O’ Reilly (2017) 12. G.A. Tsihrintzis, D.N. Sotiropoulos, L.C. Jain (Eds.), Machine Learning Paradigms— Advances in Data Analytics, volume 149 in Intelligent Systems Reference Library Book Series (Springer, 2018) 13. X. Liu, J. Cao, Y. Yang, S. Jiang, CPS-based smart warehouse for industry 4.0: a survey of the underlying technologies. Computers, 7(1), 13 (2018) 14. H. Jiang, C. Cai, X. Ma, Y. Yang, J. Liu, Smart home based on WiFi sensing: a survey. IEEE Access 6, 13317–13325 (2018) 15. Z. Mahmood (Ed.), Smart cities—development and governance frameworks, in Computer Communications and Networks (Springer, 2018) 16. D. Rong, P. Santi, M. Xiao, A.V. Vasilakos, C. Fischione, The sensable city: a survey on the deployment and management for smart city monitoring. IEEE Commun. Surv. Tutorials 21(2), 1533–1560 (2019) 17. B.P.L.Lau, M.S. Hasala, Yuren Zhou, N.U. Hassan, C. Yuen, M. Zhang, U.X. Tan, A survey of data fusion in smart city applications. Inf. Fusion, 52, 357–374 (2019) 18. M.M. Dhanvijay, S.C. Patil, Internet of Things: a survey of enabling technologies in healthcare and its applications. Comput. Netw. 153, 113–131 (2019) 19. A.E. Hassanien (Ed.), Machine learning paradigms: theory and application, in Studies in Computational Intelligence Book Series, vol. 801 (Springer, 2019) 20. G.A. Tsihrintzis, M. Virvou, E. Sakkopoulos and L.C. Jain (Eds.), Machine learning paradigms—applications of learning and analytics in intelligent systems, in Learning and Analytics in Intelligent Systems Book Series, vol. 1 (Springer, 2019) 21. K.R. Chowdhury, Fundamentals of Artificial Intelligence (Springer, 2020) 22. J. Watt, R. Borhani, A.K. Katsaggelos, Machine Learning Refined—Foundations, 2nd edn. (Algorithms and Applications, Cambridge University Press, 2020) 23. J.K. Mandal, S. Mukhopadhyay, P. Dutta, K. Dasgupta (Eds.), Algorithms in machine learning paradigms, in Studies in Computational Intelligence Book Series, vol. 870 (Springer, 2020) 24. M. Virvou, E. Alepis, G.A. Tsihrintzis, L.C. Jain (Eds.), Machine Learning paradigms— advances in learning analytics, in Intelligent Systems Reference Library Book Series, vol. 158 (Springer, 2020) 25. G. A. Tsihrintzis, L.C. Jain (Eds.), Machine learning paradigms—advances in deep learning- based technological applications, in Learning and Analytics in Intelligent Systems Book Series, vol. 18 (Springer, 2020) 26. G.A. Tsihrintzis, M. Virvou, advances in computer science-based technologies—papers in honor of Professor Nikolaos Alexandris, in Learning and Analytics in Intelligent Systems Book Series, vol. 24 (Springer, 2021) 27. G. Phillips-Wren, A. Esposito, L.C. Jain, advances in data science: methodologies and applications, in Intelligent Systems Reference Library Book Series, vol. 189 (Springer, 2021) 28. D.J. Hemanth, J. Anitha, G.A. Tsihrintzis (Eds.), Internet of medical things—remote healthcare systems and applications, in Internet of Things Book Series (Springer, 2021) 29. E. Politou, E. Alepis, M. Virvou, C. Patsakis, Privacy and data protection challenges in the distributed era, in Learning and Analytics in Intelligent Systems Book Series, vol. 26 (Springer 2022) 30. M. Virvou, G.A. Tsihrintzis, L.H. Tsoukalas, L.C. Jain (Eds.), Advances in artificial intelligence-based technologies—papers in honour of Professor Nikolaos G. Bourbakis—Vol. 1, in Learning and Analytics in Intelligent Systems Book Series, vol. 22 (Springer, 2022) 31. G.A. Tsihrintzis, M. Virvou, L.C. Jain (Eds.), Advances in machine learning/deep learning- based technologies—papers in honour of Professor Nikolaos G. Bourbakis—Vol.2, in Learning and Analytics in Intelligent Systems Book Series, vol. 23 (Springer, 2022) 32. M. Virvou, G. A. Tsihrintzis, L.C. Jain (Eds.), Advances in selected artificial intelligence areas—world outstanding women in artificial intelligence, in Learning and Analytics in Intelligent Systems Book Series, vol. 24 (Springer, 2022)
  • 20. 8 M. Virvou et al. 33. S.L. Fernandes, T.K. Sharma (Eds.), Artificial intelligence in industrial applications— approaches to solve the intrinsic industrial optimization problems, in Learning and Analytics in Intelligent Systems Book Series, vol. 25 (Springer, 2022) 34. G.A. Tsihrintzis, M. Virvou, A. Esposito, L.C. Jain (Eds.), Advances in assistive technologies— papers in honour of professor Nikolaos G. Bourbakis—Vol.3, in Learning and Analytics in Intelligent Systems Book Series, vol. 28 (Springer, 2022)
  • 21. Part I Survey of Recent Relevant Literature
  • 22. Chapter 2 Synergies Between Artificial Intelligence and Software Engineering: Evolution and Trends Aurora Ramírez and José Raúl Romero 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 bet- ter 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 inno- vative applications that integrate different AI perspectives, and the tools available to facilitate progress in AI-enhanced software engineering. Keywords Survey · Artificial intelligence-empowered · Software engineering 2.1 Introduction Artificial intelligence (AI) for software engineering (SE) is expected to change the way we think about software planning, development and maintenance. Daily, soft- ware engineers produce a large amount of data referred to both the development A. Ramírez (B) · J. R. Romero Department Computer Science and Numerical Analysis, University of Córdoba, Córdoba, Spain e-mail: aramirez@uco.es J. R. Romero e-mail: jrromero@uco.es © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 M. Virvou et al. (eds.), Handbook on Artificial Intelligence-Empowered Applied Software Engineering, Artificial Intelligence-enhanced Software and Systems Engineering 2, https://doi.org/10.1007/978-3-031-08202-3_2 11
  • 23. 12 A. Ramírez and J. R. Romero process (e.g. repositories, issue trackers, communication platforms, documentation) and the software itself (e.g. code, execution traces). In this sense, it is argued that those companies failing to integrate data science into their internal decision processes will be in clear disadvantage against competitors [23]. Software engineers can greatly benefit from many AI facets, not only data science, to build better software faster. In fact, the idea of an AI-enhanced SE is not new. Automatic programming and knowledge-based assistants were envisioned in the 80s, a moment in which expert systems were considered more applicable than machine learning [77]. 30 years after, software development practices have experienced great changes and artificial intel- ligence has been substantially developed, multiplying the possible synergies among them. The landscape of AI-enhanced SE was revisited in 2012 [38], identifying three, possibly overlapping, areas: probabilistic software engineering; classification, learn- ing and prediction for software engineering; and search-based software engineering. Although more extensive, this division leaves aside AI methods with great potential like natural language processing (NLP) [111]. Furthermore, in vogue technologies like deep learning and bots are expanding the possibilities of AI in many domains, including software engineering [22, 25]. Although new AI methods are constantly appearing and barriers between them are becoming blurry, the majority of methods still have roots in the long-established areas presented in Russell and Norvig’s handbook [88]: machine learning and data mining, knowledge representation and reasoning, search and optimisation, and communica- tion and perception. However, software engineers might not be familiar with these techniques, making it difficult to know how to effectively apply predictive models or metaheuristics [9]. Furthermore, practitioners need to understand the capabilities and limitations of AI technologies [34]. Thus, making the right choice requires having clear goals and precisely understanding the underlying assumptions that each tech- nique imposes. Given the possible impact and risks involved, the point in which AI should be applied and its actual responsibility within the process and results should be considered too [28]. Indeed, the current landscape of AI research for software engineering is vast in topics and techniques. In this chapter, we present an analysis of the evolution that AI-enhanced SE has experienced. Considering that AI is constantly evolving, historical perspectives might not be so useful and consequently authors tend to limit the analysis to the most recent advances [28]. Thus, the presented analysis is con- strained to the period 2015–2020, comprising 2973 AI-oriented studies selected from 13,262 publications in SE conferences and journals. This decision was also moti- vated by the need of manually revising the semi-automatic selection and distribution of publications with respect to both AI and SE areas. From the selected publications, trends in topics and techniques used to intelligently automate software engineering activities have been identified. Furthermore, we seek to understand which SE tasks are more prone to certain AI-based solutions, and how these solutions made use of information from different software artefacts depending on their purpose. Spe- cial attention is paid to the combination of AI techniques, which has revealed as an appealing option to address complex problems, as well as the availability of tools.
  • 24. 2 Synergies Between Artificial Intelligence and Software … 13 The rest of the chapter is organised as follows. Section2.2 explains the method- ology followed to search, select and analyse relevant publications. Section2.3 pro- vides and overview of the evolution of the field in terms of number of publica- tions. An analysis of top authors and topics for different SE themes is presented in Sect.2.4. Section2.5 summarises trends in the application of AI techniques to SE, while Sect.2.6 compiles available tools that incorporate AI methods. Finally, conclu- sions and future avenues of research into AI-enhanced SE are outlined in Sect.2.7. 2.2 Methodology This section details the methodology followed to collect and analyse relevant publi- cations on AI-enabled SE. The process consists in three main steps: (1) defining a list of sources from which articles will be examined to identify AI-related publications, (2) selecting the relevant publications based on a keyword semi-automatic analysis, and (3) classifying the selected publications in terms of AI areas and SE topics. Next, each step is explained in detail. Firstly, a initial list of relevant publication sources is determined. Journals are selected from the Journal of Citation Reports1 by choosing those journals belong- ing to the first and second quartile of the software engineering category. The choice of conferences is based on the GGS conference ranking2 (class 1 and 2), spon- sored by the Spanish Computer Science Society and the Italian groups of professors of Computer Engineering and Computer Science. The rating algorithm combines information from three rankings: CORE, Microsoft Academic and LiveSHINE. We also consider a couple of specialised events, namely the symposium on search-based software engineering (SSBSE) and the PROMISE (Predictive Models in Software Engineering) conference. The final list of journals and conferences was contrasted and refined according to recent bibliometric studies in SE [43, 59]. After this process, the 12 journals and 21 conferences listed in Table2.1 are included for analysis. After deciding the list of conferences, we inspect the corresponding website of the 2015– 2020 editions to extract a list of potential workshops. For each workshop, the topics of interest are scrutinised to find those including AI techniques. Table2.2 enumer- ates the 34 workshops considered within scope, divided into 18 specific workshops, i.e., having AI as their main topic, and 16 general ones, i.e., AI appears in the call for papers. The eventual nature of workshops implies that some of them could not be longer celebrated and that new others could appear in the future. However, their analysis is interesting as it provides a good “snapshot” of latest topics of interest, and their different number of editions can reveal which topics remain attractive. Next, we have downloaded all journal numbers and proceedings published between 2015 and 2020. The total list of 13,262 publications contains 5294 journal 1 https://clarivate.com/webofsciencegroup/solutions/journal-citation-reports/(Last accessed: July 12, 2021). 2 http://scie.lcc.uma.es/gii-grin-scie-rating/(Last accessed: July 12, 2021).
  • 25. 14 A. Ramírez and J. R. Romero articles, 7212 contributions to conferences and 756 workshop papers. The second column (R) of Tables 2.1 and 2.2 details the number of retrieved papers per source. For each publication, we extract the title, authors, publisher, year, keywords and abstract from bibtex files. When missing, a maximum of 10 automatic keywords are generated from the abstract using a text mining algorithm [87]. From the full list of keywords, we need to identify those referring to AI to carry out automatic classifi- cation. This process is manually done for keywords with a frequency greater than 2. Those appearing only once are included if the term appears in the IEEE taxon- omy.3 Finally, every AI keyword is manually associated to one of the following AI areas [88]: • Machine learning and data mining (MLDM), covering techniques that analyse vast collections of data to find hidden relationships and make predictions. • Knowledge representation and reasoning (KRR), referring to forms of embodying real-world concepts, and how to infer new knowledge or explain causal facts. • Search and optimisation (SO) for problem solving, compiling algorithms that find optimal solutions with respect to a given objective. • Communication and perception (CP), that is, understanding and simulating human abilities such as language processing and vision. Finally, we use the set of AI keywords to filter out publications not related to AI. This process leads to a set of 2973 publications: 868 in journals, 1666 in conferences and 439 in workshops, as detailed in the third column (S) of Tables 2.1 and 2.2. The selected AI publications are automatically classified in one or more AI areas based on the specific keywords for further analysis. Publications not assigned to any AI area are manually revised by reading the abstract to decide its classification. Such a case happens when the publication contains general keywords only, e.g., “Artificial intelligence”, or if the publication belongs to a specific event in which the technique does not appear in the keyword because it is implicit, e.g. contributions to the SBSE symposium are catalogued as search-based. For the subset of AI publications, we then extract non-AI keywords in order to repeat the same process to classify them with respect to the SE area. We define the following 12 areas based on existing clas- sifications [17, 43, 59] and the scope topics of the selected journals and conferences: • Architecture and product lines, including topics related to architectural knowledge and documentation, as well as highly-configurable systems (variability, feature models). • Development support, related to the analysis of software data and developers behaviour from repositories and other communication platforms. • Maintenance and evolution, which refers to the revision and enhancement of soft- ware systems to detect and fix bugs, and overall improve their quality. 3 https://www.ieee.org/content/dam/ieee-org/ieee/web/org/pubs/ieee-taxonomy.pdf(Last accessed: July 12, 2021).
  • 26. 2 Synergies Between Artificial Intelligence and Software … 15 • MethodologicalaspectsandgeneralSEtopics,whichencompassesstudiesfocused on particular methodologies (e.g. agile) and general literature analysis of SE research. • Mobile, IoT and cyber-physical systems, focusing on the specific design and devel- opment of this type of systems. • Modelling and design, covering conceptual design and modelling languages, as well as model engineering tasks such as model evolution or transformation. • Programming, referring to code development and program analysis for which source code constitutes the input artefact. • Projectmanagement,includingtasksrelatedtoteamallocation,projectscheduling, etc. • Quality and metrics, grouping studies that analyse particular quality aspects (per- formance, security, etc.) or perform metric estimations. • Requirements, which encompasses all activities dealing with requirement elicita- tion, documentation and prioritisation. • Services and cloud computing, related to the design, development and deployment of service-oriented systems. • Testing, validation and verification, covering tasks that evaluates the correctness and quality of produced systems from formal and practical views. The classification of AI publications into the aforementioned SE areas is manually revised too. The list of keywords associated to each area (AI or SE) is available as part of our additional material.4 2.3 The Evolution of AI in Software Engineering As in many other disciplines, AI topics have regularly appeared in software engineer- ing studies, though they have attracted more attention in the last years. Some authors point out that the renewed interest in AI-enhanced SE is explained by changes in the way software is built [38], as well as easier access to software data [39] and AI technologies [28]. Although it is still limited, the presence of AI in SE publi- cations is growing year by year (see Fig.2.1). Since 2017, AI-enhanced SE studies have represented more than 20% of the works published in the main SE conferences and journals. The percentage of AI publications per source is detailed in Tables 2.1 and 2.2. Automated Software Engineering (37%), ACM Transactions on Software Engi- neering and Methodology (31%), Empirical Software Engineering (28%), IEEE Transactions on Software Engineering (26%) and Information and Software Technol- ogy (21%) are the journals where the percentage of AI-enhanced SE publications is above the average (18%). Among conferences, the average percentage —excluding MSR, PROMISE and SSBSE— is slightly inferior (13%), and those focused on 4 https://www.uco.es/grupos/kdis/sbse/aise.
  • 27. 16 A. Ramírez and J. R. Romero Table 2.1 Journals and conferences considered for literature search Journal/conference R S % ACM Transactions on Software Engineering and Methodology (TOSEM) 112 35 31.25 Automated Software Engineering (ASE) 114 42 36.84 Computer Standards and Interfaces (CSI) 417 8 1.92 Empirical Software Engineering (EMSE) 547 155 28.34 IEEE Transactions on Services Computing (TSC) 469 55 11.73 IEEE Transactions on Software Engineering (TSE) 526 139 26.43 Information and Software Technology (IST) 736 154 20.92 Journal of systems and Software (JSS) 1135 159 14.01 Requirements Engineering (RE) 142 16 11.27 Software and Systems Modeling (SoSyM) 420 36 8.57 Software Quality Journal (SQJ) 251 41 16.33 Software—Practice and Experience (SPE) 425 28 6.59 Eur. Conf. on Software Architecture (ECSA) 135 7 5.19 Int. Conf. on Automated Software Engineering (ASE) 645 139 21.55 Int. Conf. on Fundamental Approaches to Software Engineering (FASE) 137 4 2.92 Int. Conf. on Model-Driven Engineering, Languages and Systems (MODELS) 236 22 9.32 Int. Conf. on Predictive Models and Data Analytics in Soft. Eng. (PROMISE)b 60 60 100.00 Int. Conf. on Services Computing (SCC) 446 34 7.62 Int. Conf. on Service-Oriented Computing (ICSOC) 391 51 13.04 Int. Conf. on Software Analysis, Evolution and Reengineering (SANER) 464 127 27.37 Int. Conf. on Software Architecture (ICSA) 97 8 8.25 Int. Conf. on Software Maintenance and Evolution (ICSME) 494 92 18.62 Int. Conf. on Mining Software Repositories (MSR)b 427 427 100.00 Int. Conf. on the Quality of Software Architectures (QoSA)a 28 3 10.71 Int. Conf. on Software Engineering (ICSE) 1373 168 12.24 Int. Conf. on Software Testing, Verification and Validation (ICST) 302 57 18.87 Int. Requirements Engineering Conference (RE) 128 29 22.66 Int. Symp. on Empirical Software Engineering and Measurement (ESEM) 303 52 17.16 Int. Symp. on Search-based Software Engineering (SSBSE)b 135 135 100.00 Int. Symp. on Software Testing and Analysis (ISSTA) 285 59 20.70 Joint Eur. Soft. Eng. Conf. and Symp. Foundations of Soft. Eng. (ESEC/FSE) 804 171 21.27 Software Product Line Conference (SPLC) 228 20 8.77 Working Conference on Software Architecture (WICSA)a 66 1 1.52 R Retrieved papers, Sselected papers, % selection percentage a Part of ICSA since 2017 b AI-oriented conference
  • 28. 2 Synergies Between Artificial Intelligence and Software … 17 Table 2.2 Specialised and general workshops considered for literature search Workshop R S % Analytics and Mining of Model Repositories (AMMoRe) 5 4 80.00 Artificial Intelligence and Model-driven Engineering (MDE Intelligence) 9 9 100.00 Artificial Intelligence for Mobile (AI4Mobile) 5 5 100.00 Artificial Intelligence for Requirements (AIRE) 51 51 100.00 App Market Analytics (WAMA) 20 15 75.00 Bots in Software Engineering (BotSE) 21 21 100.00 Genetic Improvement (GI) 66 66 100.00 Intelligent Bug Fixing (IBF) 13 10 76.92 Machine Learning and Software Testing (MLST) 3 3 100.00 Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE) 28 28 100.00 NLP for Software Engineering (NL4SE) 10 10 100.00 Search-Based Software Testing (SBST) 65 65 100.00 Software Analytics (SWAN) 29 23 79.31 Software Engineering Automation: A Natural Language Perspective (SEA-NLP) 9 8 88.89 Software Engineering Intelligence (SEI) 6 6 100.00 Software Mining (SoftwareMining) 24 24 100.00 Realizing Artificial Intelligence Synergies in Software Engineering (RAISE) 33 33 100.00 Testing for Deep Learning and Deep Learning for Testing (DeepTest) 5 5 100.00 Advances in Mobile App Analysis (A-Mobile) 16 1 6.25 Affective Computing for Requirements Engineering (AffectReq) 12 2 16.67 Automated Specification Inference (WASPI) 5 2 40.00 Automating Test Case Design, Selection and Evaluation (A-Test) 44 7 15.91 Crowd-Based Requirements Engineering (CrowdRE) 21 3 14.29 NEXt level of Test Automation (NEXTA) 22 2 9.09 Mining and Analyzing Interaction Histories (MAINT) 7 3 42.86 Quality Requirements in Agile Projects (QuaRAP) 4 2 50.00 Refactoring (IWoR) 35 3 8.57 Requirements Engineering and Testing (RET) 28 3 10.71 Reverse Variability Engineering (REVE) 20 1 5.00 Software Architecture Erosion and Architectural Consistency (SAEroCon) 28 7 25.00 Software Engineering for Smart Cyber-Physical Systems (SEsCPS) 46 5 10.87 Software Qualities and their Dependencies (SQUADE) 13 4 30.77 Software Test Architecture (InSTA) 33 6 18.18 Testing Extra-Functional Prop. and Quality Charact. of Softw. Syst. (ITEQS) 20 2 10.00 R Retrieved papers, S selected papers, % selection percentage
  • 29. 18 A. Ramírez and J. R. Romero Fig. 2.1 Proportion of AI-enhanced publications in software engineering during the period 2015– 2020 specific aspects of software engineering present higher ratios of AI publications: SANER (27%) and ICMSE (18%) for maintenance, RE (23%) for requirements engineering, and ISSTA (21%) and ICST (19%) for testing. ASE (22%), ESEC/FSE (21%) and ESEM (17%) stand out among SE conferences with general scope. Spe- cialised events—MSR and PROMISE conferences, and the symposium on SBSE— have greatly contributed to spread the use of AI, with more than a third part of these publications being presented there. The interest of the SE community in AI techniques is also reflected in the appear- ance of specialised workshops that serve to establish new synergies between both disciplines. Among the most consolidated workshops, we can mention SBST (13 editions, 65 publications), GI (9, 66), RAISE (8, 33) and AIRE (7, 51). We have observed that the number of AI-related workshops notably increased in 2015 (from 11 to 19) and 2018 (from 18 to 27) with respect to those organised the previous year. In 2019, a new milestone has been achieved with a total of 28 workshops, 8 of them celebrated for the first time. Emergent AI topics like bots or deep learning have been the target of these new workshops, meaning that the SE community reacts quickly to the evolution of AI. A further analysis has been carried out to understand how the different AI areas have evolved along the last years. Figure2.2 shows the number of publications related to each AI area for the considered period. MLDM stands out as the area with more publications (1695), representing 57% of the total and being the area with more pub- lications each year. Moreover, an increase in the number of publications is observed along the year and only in 2020, nearly 400 publications have explored the use of MLDM techniques. SO is the second area more prolific (681 publications, 23%), with
  • 30. 2 Synergies Between Artificial Intelligence and Software … 19 2015 2016 2017 2018 2019 2020 0 100 200 300 400 500 600 Machine learning and data mining Knowledge representation and reasoning Search and optimisation Communication and perception Multiple areas Fig. 2.2 Evolution of the application of the four main AI areas in SE publications a very stable presence in all years —around 100 publications per year. CP (208, 7%) and KRR (174, 6%) are still minority areas in SE publications compared to MLDM and SO. However, a growing interest in the application of CP techniques is observed in the last three years and, especially, 2020 (51 publications). Although publications focused on one particular AI area predominate, the combination of techniques from different areas is gaining attention. In only five years, the number of publications classified in more than one AI area has increased from 18 to 59, the most frequent combinations being machine learning together with search or NLP. 2.4 Top Authors and Topics As detailed in Sect.2.2, 12 different SE areas have been established to classify AI publications. From such a classification, it is possible to identify the top authors and main topics of interest. Table2.3 lists the top-5 researchers for each SE area, including the number of publications they have co-authored from those selected for our analysis.5 Maintenance and evolution and testing, validation and verification are the areas in which a higher number of authors have published 15 or more papers. Similarly, we extract the top keywords appearing in the set of papers assigned to each SE area. Table2.4 summarises the main topics under investigation in the last years and the number of publications belonging to each area. Notice that one paper could be assigned to more than one area. In the “topics” column, numbers between parenthesis indicate the frequency of appearance, considering that similar terms have been manually joined, e.g., “source code metrics” and “code metrics” are grouped together. Also, we exclude keywords related to the applied AI techniques in order to highlight the SE problems addressed from an AI perspective. The table only includes topics appearing in more than three publications due to space limitations.6 As can be observed, the three areas with more publications are maintenance and evolution (644), testing, validation and verification (632), and development support (420). For the two first areas, the list of topics tend to include general concepts (software main- tenance, software evolution, software testing), as well as specific problems: defect 5 The full list of authors is available from: https://www.uco.es/grupos/kdis/sbse/aise. 6 The full list of keywords is available from: https://www.uco.es/grupos/kdis/sbse/aise.
  • 31. 20 A. Ramírez and J. R. Romero Table 2.3 Top-5 authors and their number of publications in each SE area SE area Authors Product lines S.R. Vergilio (9), T.E. Colanzi (5), A. Egyed (4), J. Guo (5), M. Acher (4), W.K.G. Assunção (4), M. Li (4), L. Linsbauer (4), R.E. Lopez-Herrejon (4) Development support M. Di Penta (13), B. Adams (12), D. Lo (10), C. Treude (9), D.M. German (9) Maintenance and evolution D. Lo (25), F. Palomba (23), A. De Lucia (20), X. Xia (20), M. Kessentini (18) Methodological aspects and general SE topics T. Menzies (14), M. Harman (5), J. Chen (4), R. Krishna (4), M. Li (4), C. Parnin (4), Z. Yu (4) Mobile, IoT and cyber-physical systems Y. Liu (15), G. Bavota (10), L. Li (9), M. Di Penta (9), T. T. Nguyen (8), R. Oliveto (8) Modelling and design M. Wimmer (10), H. Sahraoui (7), Y. Liu (6), R. Calinescu (5), A. Barriga (5), L. Iovino (5), W. Kessentini (5), L. Li (5), Y. Li (5) Programming J. Petke (11), C.K. Roy (11), M. Harman (9), T.N. Nguyen (8), W.B. Langdon (7) Project management A. Ghose (6), L.L. Minku (6), M. Choetkiertikul (5), H.K. Dam (5), T. Menzies (5), T. Tran (5) Quality and metrics A.E. Hassan (8), T. Menzies (8), Y. Liu (7), N. Siegmund (7), Z. Xing (7) Requirements L. Briand (13), M. Sabetzadeh (10), C. Arora (7), A. Vogelsang (7). F. Dalpiaz (6) Services and cloud computing H. Wang (10), J. Zhang (9), Y. Fan (7), J. Liu (6), Y. Wang (6) Testing, validation and verification G. Fraser (31), A. Panichella (24), A. Arcuri (22), P. Tonella (17), Y. Liu (15) prediction and refactoring are frequently automated tasks in software maintenance and evolution, while testing research is mostly focused on test case prioritisation and generation. As for development support, keywords often mention specific platforms (Stack overflow, Github) and concepts related to repositories (git, pull request). General terms also predominate in the majority of the remaining areas, some examples are: software engineering (methodological aspects and general SE topics), Android (Mobile, IoT and cyber-physical systems), model-driven engineering (mod- elling and design), source code (programming), software quality (quality and met- rics), requirements engineering (requirements) and cloud computing (services and cloud computing). As might be expected, SE areas with few number of publications, such as software architecture, services and cloud computing, project management and project management, tend to have less topics with high frequency.
  • 32. 2 Synergies Between Artificial Intelligence and Software … 21 Table 2.4 Main topics appearing in AI publications for each SE area SE area #Publ Topics Product lines 125 Software product lines (27), software architecture (21), variability (18), feature models (13), reverse engineering (6), architecture recovery (4), software maintenance (4), software testing (4) Development support 420 Stack overflow (62), Github (44), continuous integration (26), open source (25), software repositories (12), git (11), devops (10), software analytics (10), software evolution (10), pull request (8) Maintenance and evolu- tion 644 Defect prediction (70), software evolution (50), software maintenance (42), refactoring (31), bug (30), code smells (27), program repair (21), technical debt (19), reverse engineering (19), clone detection (12) Methodological aspects and general SE topics 224 Software engineering (82), business process (16), software (14), agile (8), task analysis (8), open source (6), software quality (5) Mobile, IoT and cyber- physical systems 229 Android (46), mobile apps (31), software testing (7), app/user reviews (12), app market analysis (7), stack overflow (6), feature extraction (5), mobile development (5), program analysis (5), software evolution (5), energy consumption (5) Modelling and design 236 Model-driven engineering (21), model checking (20), UML (14), OCL (7), reverse engineering (5), model inference (5), metamodel (4), modelling (4), program understanding (4), software design (4) Programming 366 Source code (15), code search (13), API (10), program comprehension (9), software evolution (9), code reuse (8), open source (8) libraries (7), Java (7), code review (7) Project management 171 Effort estimation (14), release planning (11), human factors (11), software (7), project management (6), task analysis (4), feature extraction (4), release engineering (4) Quality and metrics 326 Software quality (59), software metrics (38), measurement (14), code metrics (12), reliability (10), security (10), code quality (9), quality assurance (9), refactoring (9), robustness (9) Requirements 173 Requirements (55) non-functional requirements (9), requirements elicitation (9), use cases (8), ambiguity (6), next release problem (6), requirements analysis (6), user stories (5) Services and cloud com- puting 156 Cloud computing (35), service composition (12), quality of service (18), web services (16), service recommendation (8), service discovery (6), microservices (8), cloud (4), cloud services (4) Testing, validation and verification 631 Software testing (122), automated test generation (33), test case prioritisation (29), mutation testing (26), test case generation (24), regression testing (19), test data generation (18), debugging (17), unit testing (15), random testing (14)
  • 33. 22 A. Ramírez and J. R. Romero Table 2.5 Top-10 AI concepts in SE publications for each AI area AI area Techniques Machine learning and data mining Deep learning (158), clustering (77), classification (55), neural network (58), predictive model (46), process mining (46), reinforcement learning (34), transfer learning (25), association rule mining (24), specification mining (24) Knowledge representa- tion and reasoning Ontology (50), Markov process/model (20), Bayesian network (13), fuzzy logic (6), case-based reasoning (6), first-order logic (4) Search and optimisation Multi-objective (91), genetic algorithm (74), genetic improvement (56), optimisation (48), genetic programming (30), evolutionary algorithm (39), search (22), constraint solving (15), satisfiability solver (13), many-objective (12) Communication and per- ception Text mining/classification (39), sentiment analysis (31), latent dirichlet allocation (19), topic modelling (16), computer vision (11), video mining (9), opinion mining (8), part-of-speech tagging (5), virtual reality (4), intelligent agent (3), emotion mining (3) Number between parenthesis represents frequency of keyword appearance After the analysis of the most popular SE areas and problems, Table 2.5 sum- marises the main techniques applied to their resolution. We follow the same process to extract the keyword frequency and group equivalent terms. Six keywords7 can be highlighted as the most relevant ones as they appear in more than 100 publications: machine learning, mining software repositories, search-based software engineering, deep learning, natural language processing and search-based software testing. Focus- ing on MLDM keywords, we observe a growing interest in two particular approaches: deep learning (DL) and reinforcement learning (RL). The number of DL publications has drastically increased in the last three years (145 out of 158) and is the second most frequent keyword after ML in 2020. Similarly, the number of RL publications in 2019 and 2020 has nearly doubled the total number of publications in the four previous years. MSR remains a popular topic in the area, with an average of 40 per year in the 2015–2020 period. Ontologies are the preferred technique in the KRR area by far, though its frequency of appearance (50) is low compared to the top keywords reported in the rest of AI disciplines. This fact can be explained by the lower number of KRR publications, which is also reflected in few keywords exceeding the threshold of 4 publications. In contrast, the SO area keeps a high and constant number of publications, with an average of 31 publications including SBSE among their keywords (third top topic). This area presents a high variety of techniques applied to solve SE tasks reformulated as search and optimisation problems. The presence of search-based software testing (SBST) in the top keywords gives an idea of the most studied SE phase from the SO perspective. Focusing on particular techniques, different types of evolutionary algorithms, e.g., genetic algorithms and genetic programming, are the most widely 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.
  • 34. 2 Synergies Between Artificial Intelligence and Software … 23 adopted metaheuristics. The interest in solving problems with multiple objectives and the use of exact constraint-solving techniques are worth mentioned too. Finally, CP stands out as an area with relatively low publications but that has experienced a significant growth in the last years. For instance, NLP has become a “hot topic” in 2020 with 35 publications, representing the fourth most frequent keyword last year after ML, DL and MSR. It is noticeable that 101 out of the 151 NLP publications have appeared in the last three years. The rest of keywords reflect special interest in the analysis of opinions and emotions, often from texts. We also perceive new emergent topics in computer vision and video mining since 2016, with five publications related to each keyword in 2020. 2.5 Trends in AI Applications to Software Engineering Not all AI methods require neither the same type of inputs nor serve the same pur- poses. Therefore, it would be interesting to know whether some SE topics are more frequently studied from an AI-based perspective, as well as which are the chosen techniques. Figure2.3 establishes such connections for the 12 SE areas established. Although all SE areas have been studied from the four perspectives of AI, some strong connections are detected. Machine learning dominates the landscape of AI-enhanced SE in terms of number of publications, having strong presence in various topics. The analysis of development aspects—often involving mining repository data—and building models for maintenance tasks—e.g. defect prediction and bug detection— are particularly popular. In fact, some SE tasks frequently treated as optimisation problems are those related to maintenance and evolution, and programming. In test- ing, search has been intensively investigated in comparison with other SE phases, and also with the application of other AI techniques, with the exception of machine learn- ing. Search-based software testing has become a consolidated area in this context. Knowledge and reasoning presents a quite regular distribution among topics, mod- elling, services and testing being the most studied. Finally, communication-oriented technologies fit more often with those topics where textual information abounds, such as requirements, development support and programming. In the rest of the section, we summarise the most notable applications of AI- enhanced SE, divided by AI area, in addition to cross-disciplinary approaches. Due to space limitations, we can only cite a representative sample of selected works. When possible, we refer to secondary studies reviewing particular topics or techniques. The full list of references is available on a dedicated website.8 8 https://www.uco.es/grupos/kdis/sbse/aise.
  • 35. 24 A. Ramírez and J. R. Romero Architecture and product lines Development support Maintenance and evolution Meth. Aspects and general SE topics Mobile, IoT and cyber-physical syst. Modelling and design Programming Project management Quality and metrics Requirements Testing, validation and verification Services and cloud computing Machine learning and data mining Knowledge rep. and reasoning Communication and perception Search and optimisation Fig. 2.3 Relation between AI areas and SE topics based on the number of publications
  • 36. 2 Synergies Between Artificial Intelligence and Software … 25 2.5.1 Machine Learning and Data Mining Predictive methods are widely explored to address defect prediction [74], fault local- isation [36], bug severity prediction [29] and code smell detection [6] from a classi- fication perspective. A variety of supervised techniques have been applied to solve these problems, including ensembles [108], neural networks [110] and support vec- tor machines [44]. Another type of predictive task is regression, whose methods have been considered to build estimators for development effort [54] or service rep- utation [93]. Approaches for defect prediction and effort estimation are particularly focused on cross-project scenarios [41], i.e., making predictions for a project by using data from other projects, for which transfer learning is suitable [99]. As mentioned in Sect.2.4, deep learning has become a “hot topic” in AI-enhanced SE. The range of applications is extensive: web service recommendation [7], app testing [50] and issue tracking [103], to mention a few. One of the strengths of deep learning approaches is their ability to deal with unstructured inputs, which has been exploited in applica- tions that need to analyse or manipulate source code like comment generation [15] or code injection detection [105]. Regarding descriptive methods, clustering is viewed as a useful summarising tech- nique to analyse code similarity [12], API usage [69] and programming styles [64]. Software modularisation [4] and architecture recovery [90] are frequently treated as a clustering problem too, looking for groups of dependent entities. Association rule mining, an approach to discover rules describing patterns in data, has served to study the co-evolution of production and test code [97], co-occurrences of code smells [75] and, more recently, change impact of code clones [66]. Descriptive methods are rel- evant methods in process mining and specification mining too. The former extracts business information from the analysis of event logs, and has been applied to deal with process evolution [49] and architecture reconstruction [21]. The latter infers formal specifications from traces or documentation, being useful for understanding external libraries [11], error-handling mechanisms [42] and debugging [58]. In the context of MSR, logging practices [51], API usage [96] and continuous integra- tion [31] are recent topics under research. It is interesting to note that MSR works do not only analyse code and commits, but also conflicts, readme files and licenses. The analysis of specific issues in mobile development, such as energy consumption [71], and app market trends are quite common too [57]. 2.5.2 Knowledge Representation and Reasoning Ontologies frequently appear in studies focused on early stages of software engi- neering, including requirement analysis [60], conceptual modelling [10] and archi- tectural design [106]. Information retrieval techniques, sometimes in combination with ontologies, are effective to deal with semantic aspects. Some recent examples focus on the identification of relationships between code elements [53], service-
  • 37. 26 A. Ramírez and J. R. Romero related tasks such as web service annotation [94] and recommendation [46], and artefact correctness checking in business process modelling [70]. Automatic reasoning provides support to build verification and validation meth- ods, and has been applied for runtime requirements [13], UML/OCL schemas [72] and self-adaptive systems [82], among others. Fuzzy logic, which allow handling imprecise information, has been explored for model-based regression testing [1], defect prediction based on software metrics [104] and traceability between require- ments and services [79]. Bayesian networks, whose objective is to represent variables and infer dependencies based on probabilities, have revealed useful for estimating software quality [95] and supporting decision-making in rapid software develop- ment [55]. When the problem formulation involves temporal variables, such as the study of the developer’s behaviour [40], hidden Markov models are specially suitable. 2.5.3 Search and Optimisation Automating software testing has traditionally been the target objective of search- based approaches. SBST covers a wide range of tasks (test case generation, regression testing), target systems (web systems, GUIs) and methodologies (black-box testing, mutation testing, model-based testing) [16, 76]. Other software lifecycle tasks for- mulated as optimisation problems are project scheduling [85], refactoring [56] and program repair [32]. These problems often demand multi-objective algorithms since they present multiple, usually conflicting factors that should be simultaneously opti- mised. An observed trend is the use of many-objective techniques [84], suitable when the number of properties to be optimised is high. Problems with these characteristics are software product selection, refactoring, test suite selection, model transforma- tion, remodularisation and architecture discovery. For some of these problems, the human participation in the search process has been examined by means of interactive optimisation [83]. This way, subjective evaluation criteria are included in the search and more human-looked solutions are produced. In terms of techniques, evolutionary algorithms are mostly preferred. Genetic programming—a variant of evolutionary algorithms operating over tree structures— is intrinsically linked to genetic improvement (GI), a subarea focused on manipulat- ing the code to enhance non-functional properties [45]. Code obfuscation, transplan- tation and bug-fixing are recurrent topics within GI. Ant colony optimisation, particle swarm optimisation and artificial bee colony algorithms are minority metaheuristics with a few applications in testing [67], design [33] and service composition [98], respectively. Hyperheuristics, an advanced technique that seeks to automatically build algorithms from low level heuristics, has been explored too in the context of integration testing [35]. Finally, some authors have combined evolutionary tech- niques with constraint solvers trying to reach more optimal solutions. This kind of approach has been applied to software product line configuration, which is known to present many constraints [89, 101].
  • 38. 2 Synergies Between Artificial Intelligence and Software … 27 2.5.4 Communication and Perception Natural language processing, the study of language understanding and generation, predominates in this category with important applications in requirement engineering (RE). NLP has been used to analyse terminological inconsistencies [65] and ambi- guities [19] in requirement document and user stories, respectively. The spectrum of NLP applications has been extended beyond RE, with innovative applications to detect technical debt [18], improve test case prioritisation [107], extract concepts from product line specifications [37] and identify services from business process models [47]. NLP can also serve “translation” purposes, e.g. automatically defining test cases from bug reports [27] or transforming code comments into formal program specifications [109]. MSR is also benefiting from NLP techniques to process textual information from issues trackers [24]. Code analysis, which seeks to understand the use of identifiers or comments, is another application using NLP principles and, more specifically, speech-tagging methods [68]. Despite its little presence yet, computer vision is gaining a foothold in SE research [8]. Among the innovative applications currently found, we can mention icon recognition in apps [102], code identification from programming video tutori- als [80], and visual support to web testing [91]. The use of virtual and augmented reality is taking its first steps the appearance of envision papers [63] and first proto- types [62, 86] to support developers in program comprehension. Finally, an increasing interest in developing bots for supporting software mod- elling [78] and development [25] tasks is observed. As intelligent assistants, bots are expected to automatically identify problems, e.g., conflicts in code changes, commu- nicate recommendations in natural language, e.g., suggest experts to contact with, and take autonomous actions, e.g., open pull requests to fix programming mistakes. Their successful integration with development environments and repository platforms is one of the main challenges. 2.5.5 Cross-Disciplinary Topics Exploring the intersections of AI areas is becoming an effective approach to deal with multiple types of software artefacts and overcome the limitations of particular tech- niques. Our analysis reveals different types of interdisciplinary AI research applied to SE: (1) the application of AI methods that lie on the boundary of two AI areas by definition, (2) the use of AI methods to extract inputs to feed other algorithms and (3) the use of one AI technique to enhance the capabilities of another one. We next discuss some interesting applications of each approach. Sentiment analysis and topic modelling are the most clear examples of hybrid disciplines—both combining NLP with data mining concepts—applied to SE. On the one hand, sentiment analysis seeks to find and assess emotions or opinions [52]. For SE, this type of analysis is relevant to understand developer interactions in repos-
  • 39. 28 A. Ramírez and J. R. Romero itories and make informed decisions from users’ app reviews. On the other hand, topic modelling refers to the extraction of concepts from text documents, and is specially well-suite to deal with unstructured data like source code, logs or docu- mentation [14]. Topic modelling can support traceability in software development by finding the code that implements certain features or linking bug reports to code, as well as clone detection based on the semantic similarity of topics appearing in methods. A second group of interdisciplinary methods consists in preprocessing data with AI techniques to make it amenable for learning. The ability of deep learning to infer knowledge from unstructured data has opened up the possibilities of using software data in text and visual formats. A natural consequence is the appearance of interdis- ciplinary methods in which NLP [100] or computer vision [73] is applied to extract information from software artefacts to feed deep neural networks. Semantic analysis by means of ontologies has been studied to build appropriate features from which a ML algorithm classifies requirements [48]. Beyond learning, input generation has been adopted in requirement prioritisation [61], in which NLP provides requirement dependencies to a constraint solver, and requirement classification [5], in which concepts extracted with NLP are then clustered to define a glossary of related terms. Finally, the last type of interdisciplinary research happens when AI techniques are combined to produce better decision models. A common combination is the use of search algorithms in the context of machine learning and data mining, where model building, feature selection, parameter tuning and data sampling are converted into optimisation problems. These ideas have been applied in the context of bad smell detection [30] and defect prediction [92]. In the opposite sense, knowledge extracted by data mining algorithms can be integrated within the search algorithm in order to better guide its decisions. This approach has been recently applied in SBSE problems: test case selection with learned fitness functions [3], association rules to improve test case prioritisation [81], and clustering to constraint the refac- toring search space [2]. Less often, we find intersections between other areas. Some examples are a data mining approach to generate ontologies for business process improvement, and the application of clustering to simplify Bayesian networks for code completion recommendations. 2.6 AI-Based Tools The development of tools providing easy access to research methods in AI-enhanced SE can greatly contribute to its effective technology transfer and practicability. As a first attempt to compile the available tools and frameworks in this area, Table 2.6 collects those extracted from the list of selected publications. To be included in the list, the paper should provide a live link to the tool or framework. Tools are oriented to solve a particular SE problem, whereas frameworks provide methods and utilities to
  • 40. 2 Synergies Between Artificial Intelligence and Software … 29 build AI-based solutions for software engineering problems. Additional information for each tool (link, version and licence) can be found in the additional material.9 In the last five years, researchers have developed tools for requirement analysis, development support and, especially, testing. As a consequence, most of the tools are search-based proposals, even though results of the research in sentiment analysis and machine learning also find a place. The number of frameworks is considerable smaller and focused on MSR and genetic improvement. This suggests that authors might be using other general-purpose popular frameworks in their studies. Among those mentioned, we found that the most recurrent are Weka10 and scikit-learn11 for machine learning, jMetal12 for search algorithms and SentiStrength13 for sentiment analysis. 2.7 Conclusion This chapter presents an analysis of AI-enhanced SE that reveals its current impact and evolution in the broader area of software engineering research. Our study collects and synthesises 2973 publications, which represents more than the 22% of all SE research studies published in reference conferences and journals. This work provides a global view of the state of the discipline in the period 2015–2020, summarising top authors, studied topics and preferred techniques. Despite the immense variety of topics, most of the effort goes to testing, maintenance and development issues. This fact seems to respond to a higher availability of data for knowledge discovery, as is the case of software repositories. Also, these particular phases seem to be more prone to easy automation in comparison to project management, requirement engineering or modelling. Since 2015, the adoption of AI solutions is continuously growing, though the interestontheirunderlyingtechniqueshasexperiencedsomechangesalongtheyears. The popularity of machine learning and search algorithms might not be surprising, but clearly contrasts with the importance given to knowledge-based systems in the origins. Deep learning is on the verge of becoming the reference ML technique thanks to its ability to learn by its own from unstructured data. However, strongly relying on black-box decision models also poses some challenges regarding user acceptance and trust, for which some authors are arguing a need of explainable methods [20, 26]. Natural language processing and computer vision, whose potential was not so frequently mentioned in AI road-maps for SE, have found great applicability too. The exploration of AI solutions combining techniques from different disciplines 9 https://www.uco.es/grupos/kdis/sbse/aise. 10 https://www.cs.waikato.ac.nz/ml/weka/(Last accessed: July 12, 2021). 11 https://scikit-learn.org/(Last accessed: July 12, 2021). 12 https://jmetal.github.io/jMetal/(Last accessed: July 12, 2021). 13 http://sentistrength.wlv.ac.uk/(Last accessed: July 12, 2021).
  • 41. 30 A. Ramírez and J. R. Romero Table 2.6 Tools and frameworks for AI-enhanced software engineering Tool SE topic AI approach AQUSA User-stories requirement analysis NLP ARSENAL-GSD Development teams Sentiment analysis ASketch Alloy model validation SAT solver ASTOR Automatic software repair Search CloneCognition Code clone detection Machine learning ConPan Docker analyser MSR CrossPare Defect prediction Machine learning DeepCommenter Code comment generation Machine learning, MSR DeepMutation Mutation testing Machine learning DiffTech Development technologies comparison MSR EvoMaster System-level test generation Search EvoSQL SQL query testing Search EvoSuite Test suite generation Search FEMIR Framework recommendation Graph mining JCOMIX Vulnerability detection Search L-CMP Verification Data mining Mono2Micro Architecture migration Machine learning MOTSD Test selection Search NARCIA Requirement change analysis NLP OCELOT Test data generation Search OPLA Product line architecture Search RecoLibry Recommender systems development Ontology Platys User-context App development Machine learning Senti4SD Developers’ communication Sentiment analysis SentiCR Code review Sentiment analysis SentiStength-SE Developers’ communication Sentiment analysis SimCoTest Test suite generation Search SoftMon Performance comparison Machine learning, NLP STYLE-ANALYZER Code format fixing Machine learning, MSR Tarski Traceability analysis Automatic reasoning TESTAR GUI testing Search UIED GUI design Computer vision, machine learning UMGT Test case generation NLP, search VISTA Web test repair Computer vision XFix Layout repair Search Framework Support to Language Candoia Mining software repositories Various CrossMiner Mining software repositories, NLP Java Gin Genetic improvement Java PyDriller Mining software repositories Python PyGGI Genetic improvement Python
  • 42. 2 Synergies Between Artificial Intelligence and Software … 31 has revealed as a new trend within the field, which we expect could bring new opportunities to address more complex SE tasks. In light of the results, artificial intelligence for software engineering has come to stay. However, the adoption of AI solutions in practice might still need accessible and more mature tools, preferably integrated in the environments and platforms used by the industry. Also, clear guidelines for practitioners about the limitations and risks of AI should be delivered, preventing from over-expectations and bias on AI results. Acknowledgements This work was supported by Spanish Ministry of Science and Innovation (projects PID2020-115832GB-I00 and RED2018-102472-T), and the Andalusian Regional Gov- ernment by means of the European Social Fund (postdoctoral grant DOC_00944). 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 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 Auto- mated Software Engineering (ASE) (2018), pages 464–474 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 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) 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) 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) 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) 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) 9. L. Briand, AI in SE: a 25-year Journey (Keynote), in 1st International Workshop on Software Engineering Intelligence (2019) 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) 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) 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) 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) 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)