This book provides a comprehensive, empirically grounded exploration of how Generative AI is reshaping the landscape of software development. It emphasizes the empirical evaluation of Generative AI tools in real-world scenarios, offering insights into their practical efficacy, limitations, and impact. By presenting case studies, surveys, and interviews from various software development contexts, the book offers a global perspective on the integration of Generative AI, highlighting how these advanced tools are adapted to and influence diverse cultural, organizational, and technological environments.
This book is structured to provide a comprehensive understanding of Generative AI and its transformative impact on the field of software engineering. The book is divided into five parts, each focusing on different aspects of Generative AI in software development. As an introduction, Part 1 presents the fundamentals of Generative AI adoption. Part 2 is a collection of empirical studies and delves into the practical aspects of integrating Generative AI tools in software engineering, with a focus on patterns, methodologies, and comparative analyses. Next, Part 3 presents case studies that showcase the application and impact of Generative AI in various software development contexts. Part 4 then examines how Generative AI is reshaping software engineering processes, from collaboration and workflow to management and agile development. Finally, Part 5 looks towards the future, exploring emerging trends, future directions, and the role of education in the context of Generative AI.
The book offers diverse perspectives as it compiles research and experiences from various countries and software development environments. It also offers non-technical discussions about Generative AI in management, teamwork, business and education. This way, it is intended for both researchers in software engineering and for professionals in industry who want to learn about the impactof Generative AI on software development.
Table of Content
Part 1: Fundamental on Generative AI.- 1. An Overview of Large Language Models by.- Part 2: Patterns and Tools for the Adoption of Generative AI in Software Engineering.- 2. Comparing Proficiency of Chat GPT and Bard in Software Development .- 3. DAn TE: a taxonomy for the automation degree of software engineering tasks.- 4. Chat GPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design.- 5. Requirements Engineering using Gen AI: Prompts and Prompting Patterns.- 6. Advancing Requirements Engineering through Generative AI: Assessing the Role of LLMs.- Part 3: Generative AI in Software Development: Case Studies.- 7. Generative AI for Software Development: A Family of Case Studies on Code Generation Tasks.- 8. On the adoption of Code BERT for automated vulnerability code repair.- 9. Chat GPT as a fullstack web developer.- Part 4: Generative AI in Software Engineering Processes.- 10. Transforming Software Development with Generative AI: Empirical Insights on Collaboration and Workflow.- 11. How Can Generative AI Enhance Software Management? Is it better done than perfect?.- 12. Value-based Adoption of Chat GPT in Agile Software Development: A Survey Study of Nordic Software Experts.- 13. Early results from a study of Gen AI adoption in a large Brazilian company: the case of Globo.- Part 5: Future Directions and Education.- 14. Generating Explanations for AI-powered Delay Prediction in Software Projects.- 15. Classifying User Intent for Effective Prompt Engineering: A Case of a Chatbot for Startup Teams.- 16. Toward Guiding Students: Exploring Effective Approaches to Utilize AI Tools in Programming Courses.
About the author
Anh Nguyen-Duc is a Full Professor of Software Engineering at University of South Eastern Norway. He has more than 150 peer-reviewed publications in high-ranked journals, conferences, and workshops in software engineering field, including software startups, software engineering education and AI Ethics. He leads several works on generative AI for software development and education. Currently, he spearheads multiple national initiatives focusing on generative AI for both software development and education.
Pekka Abrahamsson is a Full Professor of Software Engineering at Tampere University, Finland. He heads the Applied AI Research Centre (AI HUB) and directs GPT-labs, where large language models are developed and tested. He is a pioneer in the field of agile software development and his current research interests focus on advancing software engineering through generative AI technologies. He is a member of the Finnish Academy of Science and Letters and has an h-index of 64.
Foutse Khomh is a Full Professor of Software Engineering at Polytechnique Montréal, a Canada CIFAR AI Chair on Trustworthy Machine Learning Software Systems, an NSERC Arthur B. Mc Donald Fellow, and an FRQ-IVADO Research Chair on Software Quality Assurance for Machine Learning Applications. He has conducted pioneer work on improving the trustworthiness of artificial intelligence-based software systems and exercised strong leadership in bringing together the software engineering community and the industry, to develop novel theories, techniques, and tools for improving the quality assurance of artificial intelligence-based software systems.