Artificial Intelligence Methods For Software Engineering


Book Description

Software is an integral part of our lives today. Modern software systems are highly complex and often pose new challenges in different aspects of Software Engineering (SE).Artificial Intelligence (AI) is a growing field in computer science that has been proven effective in applying and developing AI techniques to address various SE challenges.This unique compendium covers applications of state-of-the-art AI techniques to the key areas of SE (design, development, debugging, testing, etc).All the materials presented are up-to-date. This reference text will benefit researchers, academics, professionals, and postgraduate students in AI, machine learning and software engineering.Related Link(s)







Advances in Machine Learning Applications in Software Engineering


Book Description

"This book provides analysis, characterization and refinement of software engineering data in terms of machine learning methods. It depicts applications of several machine learning approaches in software systems development and deployment, and the use of machine learning methods to establish predictive models for software quality while offering readers suggestions by proposing future work in this emerging research field"--Provided by publisher.




Artificial Intelligence Methods In Software Testing


Book Description

An inadequate infrastructure for software testing is causing major losses to the world economy. The characteristics of software quality problems are quite similar to other tasks successfully tackled by artificial intelligence techniques. The aims of this book are to present state-of-the-art applications of artificial intelligence and data mining methods to quality assurance of complex software systems, and to encourage further research in this important and challenging area.




Artificial Intelligence and Software Engineering


Book Description

Managers, business owners, computer literate individuals, software developers, students, and researchers--all are looking for an understanding of artificial intelligence (AI) and what might be in the future. In this literate yet easy-to-read discussion, Derek Partridge explains what artificial intelligence can and cannot do, and what it holds for applications such as banking, financial services, and expert systems of all kinds. Topics include: the strengths and weaknesses of software development and engineering; machine learning and its promises and problems; expert systems and success stories; and practical software through artificial intelligence.




Machine Learning Design Patterns


Book Description

The design patterns in this book capture best practices and solutions to recurring problems in machine learning. The authors, three Google engineers, catalog proven methods to help data scientists tackle common problems throughout the ML process. These design patterns codify the experience of hundreds of experts into straightforward, approachable advice. In this book, you will find detailed explanations of 30 patterns for data and problem representation, operationalization, repeatability, reproducibility, flexibility, explainability, and fairness. Each pattern includes a description of the problem, a variety of potential solutions, and recommendations for choosing the best technique for your situation. You'll learn how to: Identify and mitigate common challenges when training, evaluating, and deploying ML models Represent data for different ML model types, including embeddings, feature crosses, and more Choose the right model type for specific problems Build a robust training loop that uses checkpoints, distribution strategy, and hyperparameter tuning Deploy scalable ML systems that you can retrain and update to reflect new data Interpret model predictions for stakeholders and ensure models are treating users fairly




Artificial Intelligence Methods for Optimization of the Software Testing Process


Book Description

Artificial Intelligence Methods for Optimization of the Software Testing Process: With Practical Examples and Exercises presents different AI-based solutions for overcoming the uncertainty found in many initial testing problems. The concept of intelligent decision making is presented as a multi-criteria, multi-objective undertaking. The book provides guidelines on how to manage diverse types of uncertainty with intelligent decision-making that can help subject matter experts in many industries improve various processes in a more efficient way. As the number of required test cases for testing a product can be large (in industry more than 10,000 test cases are usually created). Executing all these test cases without any particular order can impact the results of the test execution, hence this book fills the need for a comprehensive resource on the topics on the how's, what's and whys. To learn more about Elsevier's Series, Uncertainty, Computational Techniques and Decision Intelligence, please visit this link: https://www.elsevier.com/books-and-journals/book-series/uncertainty-computational-techniques-and-decision-intelligence - Presents one of the first empirical studies in the field, contrasting theoretical assumptions on innovations in a real industrial environment with a large set of use cases from developed and developing testing processes at various large industries - Explores specific comparative methodologies, focusing on developed and developing AI-based solutions - Serves as a guideline for conducting industrial research in the artificial intelligence and software testing domain - Explains all proposed solutions through real industrial case studies







Machine Learning Applications In Software Engineering


Book Description

Machine learning deals with the issue of how to build computer programs that improve their performance at some tasks through experience. Machine learning algorithms have proven to be of great practical value in a variety of application domains. Not surprisingly, the field of software engineering turns out to be a fertile ground where many software development and maintenance tasks could be formulated as learning problems and approached in terms of learning algorithms. This book deals with the subject of machine learning applications in software engineering. It provides an overview of machine learning, summarizes the state-of-the-practice in this niche area, gives a classification of the existing work, and offers some application guidelines. Also included in the book is a collection of previously published papers in this research area.




Computational Intelligence Techniques and Their Applications to Software Engineering Problems


Book Description

Computational Intelligence Techniques and Their Applications to Software Engineering Problems focuses on computational intelligence approaches as applicable in varied areas of software engineering such as software requirement prioritization, cost estimation, reliability assessment, defect prediction, maintainability and quality prediction, size estimation, vulnerability prediction, test case selection and prioritization, and much more. The concepts of expert systems, case-based reasoning, fuzzy logic, genetic algorithms, swarm computing, and rough sets are introduced with their applications in software engineering. The field of knowledge discovery is explored using neural networks and data mining techniques by determining the underlying and hidden patterns in software data sets. Aimed at graduate students and researchers in computer science engineering, software engineering, information technology, this book: Covers various aspects of in-depth solutions of software engineering problems using computational intelligence techniques Discusses the latest evolutionary approaches to preliminary theory of different solve optimization problems under software engineering domain Covers heuristic as well as meta-heuristic algorithms designed to provide better and optimized solutions Illustrates applications including software requirement prioritization, software cost estimation, reliability assessment, software defect prediction, and more Highlights swarm intelligence-based optimization solutions for software testing and reliability problems