دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1st ed. 2023 نویسندگان: José Raúl Romero (editor), Inmaculada Medina-Bulo (editor), Francisco Chicano (editor) سری: ISBN (شابک) : 9811999473, 9789811999475 ناشر: Springer سال نشر: 2023 تعداد صفحات: 0 زبان: English فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 29 مگابایت
در صورت تبدیل فایل کتاب Optimising the Software Development Process with Artificial Intelligence (Natural Computing Series) به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب بهینه سازی فرایند توسعه نرم افزار با هوش مصنوعی (سری محاسبات طبیعی) نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Foreword Preface Acknowledgment Contents Contributors 1 Introduction 1.1 Introduction 1.2 The Rise of Artificial Intelligence 1.3 AI4SE: Artificial Intelligence for Software Engineering 1.4 Organisation of This Book 1.4.1 AI for the Software Development Process 1.4.2 Background on Metaheuristics and Machine Learning References Part I Planning and Analysis 2 Artificial Intelligence in Software Project Management 2.1 Introduction 2.2 Software Project Scheduling (SPS) 2.2.1 AI Approaches for SPS 2.2.2 Running an AI Algorithm for SPS 2.3 Software Effort Estimation (SEE) 2.3.1 AI Approaches for SEE 2.3.2 Running an AI Algorithm for SEE 2.4 Conclusion References 3 Requirements Engineering 3.1 Introduction 3.2 Requirements Engineering 3.3 Use Case About Requirements Elicitation 3.3.1 The Problem of Requirements Elicitation from User Feedback 3.3.2 A Solution to Requirements Elicitation Based on NLP Techniques 3.3.3 Identifying Speech Acts 3.3.4 Training a Classifier 3.3.5 Applying on Two Case Studies 3.3.6 Discussion 3.4 Use Case About Requirements Prioritisation 3.4.1 The Problem of Requirements Prioritisation Using User Feedback 3.4.2 A Solution to Requirements Prioritisation Based on Genetic Algorithms 3.4.3 Applying the Prioritisation Method 3.4.4 Discussion 3.5 The Two Use Cases in a Requirements Management Process 3.6 Discussion 3.7 Conclusions References 4 Leveraging Artificial Intelligence for Model-based Software Analysis and Design 4.1 Introduction 4.2 Background 4.2.1 Model-Driven Engineering: Models, Meta-models, and Model Transformations 4.2.2 Running Example 4.2.3 Selected Applications of AI for Model-Based Engineering Problems 4.3 Optimizing Models with AI Techniques: Two Encodings for the Modularization Case 4.3.1 Model-based versus Transformation-based Encodings: An Overview 4.3.2 Model-based Approach 4.3.3 Transformation-based Approach 4.3.4 Synopsis 4.4 Conclusion and Outlook References Part II Development and Deployment 5 Statistical Models and Machine Learning to Advance Code Completion: Are We There Yet? 5.1 Introduction 5.2 Code Completion with Software Mining 5.2.1 Frequent Pairs or Sets as Code Patterns 5.2.2 Graphs of Code Elements as Code Patterns 5.2.3 Leveraging Editing History for Code Completion 5.2.4 API Code Recommendation Using Statistical Learning from Fine-Grained Changes 5.3 Code Completion with Statistical Language Models 5.3.1 N-Gram Language Model 5.3.2 Lexical Code Tokens and Sequences 5.3.3 Lexical N-Gram Model for Source Code 5.3.4 Semantic n-Gram Language Model for Source Code 5.3.5 Code Suggestion with Semantic N-Gram Language Model 5.3.6 Graph-Based Statistical Language Model 5.4 Deep Learning for Code Completion 5.4.1 Deep Neural Network language Model 5.4.2 Recurrent Neural Network Language Model 5.4.3 Deep Neural Network Language Model with Syntactic and Type Information 5.4.4 Other Neural Models for Code Completion 5.5 Conclusion References 6 Cloud Development and Deployment 6.1 Introduction 6.2 Open Problems in the Context of Software Configuration, Integration and Transition 6.2.1 Open Problems and Suitable AI Techniques 6.2.2 The QoS-aware Web Service Binding Problem 6.2.3 Optimal Configuration Selection Problem in HCSs 6.3 Solving the QoS-aware Web Service Binding Problem 6.3.1 Path Relinking 6.3.2 Objective Function 6.3.3 Solution Encoding 6.3.4 Constraints Handling 6.3.5 GRASP Building Phase 6.3.6 GRASP Improvement Phase 6.3.7 Adaption of Path Relinking 6.3.8 Running Example 6.4 Solving the Optimal Configuration Selection Problem in Highly-Configurable Systems 6.4.1 Solution Encoding 6.4.2 Constraints Handling 6.4.3 Objective Functions 6.4.4 Operators 6.4.5 Running Example 6.5 Conclusions and Future Trends References Part III Testing and Maintenance 7 Automated Support for Unit Test Generation 7.1 Introduction 7.2 Example System—BMI Calculator 7.3 Unit Testing 7.3.1 Supporting Unit Testing with AI 7.4 Search-Based Test Generation 7.4.1 Solution Representation 7.4.2 Fitness Function 7.4.3 Metaheuristic Algorithms 7.4.4 Examining the Resulting Test Suites 7.4.5 Assertions 7.5 Advanced Concepts 7.5.1 Distance-Based Coverage Fitness Function 7.5.2 Multiple and Many Objectives 7.5.3 Human-Readable Tests 7.5.4 Finding Input Boundaries 7.5.5 Finding Diverse Test Suites 7.5.6 Oracle Generation and Specification Mining 7.5.7 Other AI Techniques 7.6 Conclusion References 8 Artificial Intelligence Techniques in System Testing 8.1 Introduction 8.2 System Testing 8.3 Application of AI in System Testing 8.3.1 Classification Scheme 8.3.2 Test Optimization 8.4 Industrial Case Study 8.4.1 Motivation 8.4.2 Industrial Context 8.4.3 Detecting Test Case Similarity Using Natural Language Processing 8.4.4 Clustering Similar Test Cases Using Unsupervised Machine Learning 8.4.5 Data Processing and Visualization 8.4.6 Test Optimization Strategies 8.5 Levels of Autonomy of AI in System Testing 8.6 Conclusion References 9 Intelligent Software Maintenance 9.1 Introduction 9.2 Background 9.2.1 Anti-patterns 9.2.2 Convolutional Neural Networks 9.2.3 Regularisation 9.3 CAME: Convolutional Analysis of code Metrics Evolution 9.3.1 Input 9.3.2 Architecture 9.3.3 Training 9.3.4 Evaluation of CAME 9.3.5 Impact of Metrics History\'s Length on the Performance of CAME 9.3.6 Comparison of CAME with Existing Techniques 9.4 NLP2API: A Query Reformulation Technique for Improved Code Search 9.4.1 Development of Candidate API Lists 9.4.2 Borda Score Calculation 9.4.3 Query-API Semantic Proximity Analysis 9.4.4 API Class Relevance Ranking and Query Reformulation 9.4.5 Evaluation of NLP2API 9.5 Conclusion References Part IV AI Techniques from Scratch 10 Metaheuristics in a Nutshell 10.1 Introduction 10.2 Background: Formal Definitions 10.2.1 Optimisation Problem Definition 10.2.2 Multi-objective Optimisation Problems 10.2.3 Metaheuristics Definition 10.3 Taxonomy 10.3.1 Constructive Heuristics and Local Search Methods 10.3.2 Trajectory-Based and Population-Based Metaheuristics 10.4 Trajectory-Based Metaheuristics 10.4.1 Hill Climbing 10.4.2 Iterated Local Search 10.4.3 Variable Neighbourhood Search 10.4.4 GRASP 10.4.5 Tabu Search 10.4.6 Simulated Annealing 10.5 Population-Based Metaheuristics 10.5.1 Evolutionary Algorithms 10.5.2 Swarm Intelligence 10.5.3 Multi-objective Algorithms 10.6 Methodology for Evaluating Results 10.6.1 Quality Indicators 10.6.2 Statistical Analysis Procedure 10.7 Conclusions References 11 Foundations of Machine Learning for Software Engineering 11.1 Introduction 11.2 The ML Pipeline 11.2.1 Overview 11.2.2 Data Preprocessing 11.2.3 Learning from Data 11.3 Classification 11.3.1 Algorithms 11.3.2 Evaluation 11.4 Regression 11.4.1 Algorithms 11.4.2 Evaluation 11.5 Clustering 11.5.1 Algorithms 11.5.2 Evaluation 11.6 Deep Learning 11.6.1 Convolutional Networks 11.6.2 Recurrent Networks 11.6.3 Autoencoders 11.6.4 Other Deep Learning Models 11.7 Conclusions References