How AI is impacting Software Engineering

vahidgarousi 15 views 20 slides Oct 21, 2025
Slide 1
Slide 1 of 20
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20

About This Presentation

Artificial Intelligence is reshaping how we design, develop, test, maintain and operate the software systems that underpin our modern life. In this seminar, Dr. Vahid Garousi will explore how AI is transforming software engineering, from helping developers write and test code faster to enabling enti...


Slide Content

1 ✉ [email protected] 🌐 www.vgarousi.com

The speaker: Profile and international experience 2 International work e xperience : Have worked as a Educator, Researcher and Professor in four countries: Queen’s University Belfast, UK , since 2019 Invited Visiting Professor, Azerbaijan Technical University, since 2025 Wageningen University, Netherlands , 2017-2019 Hacettepe University , Ankara, Türkiye , 2015-2017 University of Calgary, Canada, 2006-2014 ... Vision / interest in Software Engineering : Working in the intersection of industry academic collaborations: Since 1998, my vision has been to link industry and academic in Software Engineering research and education --- innovating better approaches to Software Engineering --- training the Software Engineers of tomorrow 50+ industry partners, over 30+ R&D projects, research grants combined over 15+ million GBP. I also provide consulting on a regular basis Helping software companies develop and test software systems more effectively and efficiently. 2013 2019 2015 2009 Citizens of: Azerbaijan, Canada, UK

Please introduce yourselves… 3

Opening Dialogue AI is making fundamental shifts in every phase of Software Engineering (SE) Fact: AI is impacting (revolutionizing) every discipline Many GenAI / LLM choices … Also, we need to differentiate general-purpose versus specific-purpose AI tools for SE Let’s see an example interaction between human (software engineer)-AI: 4

Opening Dialogue 5 Thinking longer for a better answer

Opening Dialogue So much (mixed) discussions ( + / - ) are going on this topic  6 In favour of AI in SE Critical of AI in SE Critical of AI in SE Critical of AI in SE Critical of AI in SE

We will frame the talk and the Q/A session using these questions Which Software Engineering (SE) tasks are you already using AI for, and to what extent? How much do you trust the quality of AI-generated artifacts (e.g., code, test cases, documentation, requirements, etc. )? Do you agree that AI is making software engineers more productive (but also less skilled) over time? Which research collaboration opportunities can we identify between QUB researchers and NI software industry in AI-assisted SE? 7

AI across the SDLC AI can help in every phase of the SDLC, not just for coding Q1-Which Software Engineering (SE) tasks are you already using AI for, and to what extent? 8

Using AI in Software Engineering Sharing experience from one project: Context and need: Our industry collaborators wanted to find and use the “right” AI-powered software testing tools, and asked for our expertise Work done: We conducted a systematic review, identified 66 AI-powered software testing tools in the market (by end of 2024), categorized their features, and assessed two of those tools, in pilot studies in depth 9

Using AI in Software Testing We assessed two of those tools, in pilot studies: Tool 1-Parasoft Selenic: AI feature for self-healing of UI test-code  Motivation for this feature: Updating million lines of automated test code as the production code of software changes, costs companies millions of $£ each year Tool 2-SmartBear VisualTest: AI feature for visual testing  Motivation for this feature: Having humans do visual verification of UI screens costs millions of $£ Our empirical assessments: Results: + AI-powered testing can speed up test execution and reduce maintenance effort - But still struggles with complex UI changes, have limited contextual understanding, and erroneous outputs caused by AI misclassifications. - Testers must carefully review, inspect and correct AI-generated artifacts, reducing the net efficiency gains promised by these tools 10 Read full-text PDF in: arxiv.org/abs/2409.00411

Maturity models for AI-powered SDLC Maturity models are everywhere… (in every subject) Do you know of any? Maturity models are also being proposed for assessing maturity of using AI across the SDLC. Let’s review a few of them next 11

Maturity models for AI-powered SE A “very” comprehensive MM  An example SDLC phase: 12 defra.github.io/ai-sdlc-maturity-assessment/

A new maturity model, developed by us recently at QUB We are currently applying it in two industrial settings … The partners have already started to see the benefits Baseline and benchmarking. Organizations get an objective picture of where they stand, and can reuse for future comparisons. Actionable pointers. By exposing dimension-specific strengths and weaknesses, the model highlights concrete areas for improvement Cultural signal. The assessment itself is viewed as a sign that AI adoption is taken seriously at both the individual and organizational levels 13

Quality of AI-generated artifacts (e.g., code, test cases) Gettings tons of low-quality stuff from AI fast is not particularly a useful situation! Many causes could lead to poor quality of AI-generated SE artifacts, e.g., hallucinations, not providing enough detail / context by the software engineer to the AI Two insights: Quality of prompts and the provided “context” often corelates with the quality of AI-generated SE artifacts AI often does better job in generating / analysing small pieces of SE artifacts (e.g., small code blocks), and often would start to do poor job when the size of SE artifacts increase. Our role as “integrators” Question 2-How much do you trust the quality of AI-generated artifacts (e.g., code, test cases)? Also, what ratio of errors have you observed in AI-generated SE artifacts? 14

Quality of AI-generated artifacts (e.g., code, test cases) Lots of studies are being done on this issue, in both academia and industry An example study: 15 Mostly Basic Python Programming (MBPP)

Man versus machine: AI versus Software Engineers Question 3-Do you agree that AI is making software engineers more productive (and less skilled) over time? AI can make software engineers more productive, but it depends, “there is a catch”  Cost vs. benefit – Advantages vs. disadvantages 16

Let’s collaborate … Question 4-Which research collaboration opportunities can we identify between QUB researchers and NI software industry in AI-assisted SE? [Are there issues that you want to better understand and/or improve in this area?] [Some generic ideas below] Approaches and heuristics for increasing quality of AI-generated code Prompt engineering for software testing and QA Understanding cognitive-debt in AI-assisted SE Human-in-the-loop SE governance framework AI-supported requirements and design exploration Industrial training and upskilling in AI-assisted SE Benchmarking NI’s AI-adoption maturity in SE In-house training of LLM models for SE Responsible AI policies and standards for SE practice Empirical studies on productivity vs. cognitive debt in AI-assisted SE … End of the talk 17

backup 18

Man versus machine: AI versus Software Engineers Question 4-How do you see the role of software engineers evolving in the age of AI? 19

Maturity models for AI-powered SDLC (#1) 20 medium.com/@rama.sathish/ai-powered-software-development-life-cycle-1ac599ad38bb
Tags