SlideShare a Scribd company logo
1 of 28
Using Artificial
Intelligence in Software
Engineering
Adrian Iftene
January 4, 2021
Content
 Artificial Intelligence in Software Engineering
 Project Requirements
 Software Design
 Coding
 Testing
 Deployment
 Project Management
 Students Projects
 Positive/Negative Effects
 Future Work
2
Artificial Intelligence in SE
 ARTIFICIAL intelligence is making the process of designing,
developing, and deploying software faster, better, and
cheaper
 It’s not that programmers are being replaced by robots
 AI-powered tools are making project managers, business
analysts, software coders, and testers more productive and
more effective, enabling them to produce higher-quality
software faster at lower cost
3
AI in SE - Signals
 47% of digitally mature organizations said they have a defined AI strategy
 Large and small software vendors have launched dozens of AI-powered
software development tools over the last 18 months
 Startups offering AI-powered software development tools raised US$704
million over the 12 months ending September 2019
 The global market for custom application development services is forecast
to grow from US$47 billion in 2018 to more than US$61 billion in 2023
 Due to increasing demand for software, employment of software developers
is projected to grow 21 percent from 2018 to 2028, much faster than the
average for all occupations 4
From big data to better software
– Impact of AI
 Reducing the number of keystrokes developers
need to type by half
 Catching bugs even prior to code review or testing
 Automatically generating half of the tests needed for quality
assurance
 Open-source lowered the cost of software development by allowing
developers to reuse and build upon others’ work
 96 percent of commercial applications used open-source
components
5
Open-source Software Powered by AI
 The volume of open-source software available for use by any developer
is enormous and growing rapidly
 Machine learning and natural language processing can be used to
analyze source code, records of project schedules, delays, and
application defects and their fixes
 A new generation of AI-powered tools is thus emerging, guiding and
empowering software professionals to produce better requirements
documents, write more reliable code, and automatically detect bugs
and security vulnerabilities
6
Project Requirements
 Digital assistants can analyze requirements documents, flag
ambiguities and inconsistencies, and suggest improvements
 These tools are powered by natural language processing
 These tools can detect inaccuracies or incomplete requirements,
immeasurable quantification (missing units or tolerances),
compound requirements
 Enterprises using such tools have been reportedly able to reduce
requirements review time by over 50 percent
 IBM Requirements Quality Assistant
7
IBM Requirements Quality Assistant
8
IBM Requirements Quality Assistant - 10 quality issues
Quality Issue Guidance
Unclear actor Pronouns such as “it,” “they,” or “them” refer to other nouns. The noun that a pronoun refers to
can be unclear. To increase clarity and precision, repeat the noun instead of using a pronoun.
Compound
requirement
This requirement includes more than one statement, actor, or action. Effective requirements are
single and atomic. To make the requirement more precise and easier to verify, refine it to a single
statement with one actor and action.
Negative
statement
This requirement includes a negative statement. Effective requirements use positive statements
because they are more direct, easier to verify, and less likely to be duplicated. Rewrite the
requirement to state what should happen, not what shouldn’t happen.
Imprecise
verb
Statements with verbs such as “be able to” or “be capable of” are broad and difficult to verify. For
example, a system might be able to do something, but might not do it consistently. Effective
requirements include a specific action that can be conclusively verified. Broad statements are
appropriate in capability requirements. In system requirements, replace imprecise verbs with
specific and measurable actions.
Escape clause This requirement includes a phrase such as “when possible,” “if necessary,” or “as required” that
makes the requirement unclear and difficult to verify. Effective requirements use specific wording
that can be interpreted only one way. Eliminate or replace phrases that are unclear or provide
loopholes
9
IBM Requirements Quality Assistant - 10 quality issues (2)
Quality Issue Guidance
Missing unit This requirement has a value with a missing or unclear unit of measurement. Effective requirements
are specific and measurable. Ensure that numbers and values include a unit of measurement, and
that the same units of measurement are used consistently across all requirements.
Missing limits This requirement has a value with missing or unclear limits. Effective requirements state specific
boundaries so that results are easier to measure and verify. For example, instead of stating “The
water station shall maintain the flow of water at 150 liters per second for 20 minutes,” include
limits such as "The water station shall maintain the flow of water at 150 ±20 liters per second for
greater than 20 minutes" to show exactly which values are acceptable.
Unclear term This requirement includes a term that makes the requirement unclear. Effective requirements use
specific and precise terms that have only one interpretation. Replace vague and general terms
with specific, descriptive terms.
Unspecific
quantity
This requirement includes a general or unspecific quantity that makes the requirement unclear.
Effective requirements include clear and specific quantities. Ensure that all quantities are precise.
For example, instead of stating “The system shall use minimum power,” specify what “minimum”
means.
Incomplete
requirement
This requirement is incomplete because the actor, action, object or imperative is missing. Rewrite
the requirement to clearly identify the object of the action.
10
Software design
 Planning a project and designing it from scratch need
designers to apply their specialized learning and experience
 A designer begins with a vision of the solution, and after that
retracts and forwards investigating plan changes until they
reach the desired solution
 Along this line, a few AI developments have demonstrated the
advantages of enhancing traditional methods with intelligent
specialists
 For instance, take the example of AIDA - The Artificial
Intelligence Design Assistant, deployed by Bookmark. AIDA
understands a users needs and desires and uses this
knowledge to create an appropriate website for the user
 It makes selections from millions of combinations to create a
website style, focus, image and more that are customized for
the user 11
Coding
 AI-powered code completion tools provide recommendations for completing
lines of code - This can reduce the keystrokes required by up to half
 Some tools even generate a relevance-ranked list of usable code snippets
 Some of these tools work on the same principle as Gmail’s Smart Compose,
a machine learning–powered feature that suggests words or phrases as a
user is composing an email
Review, bug detection, and resolution
 Code-review tools use AI to automatically detect bugs and suggest code
changes by understanding the intent of the code and identifying common
mistakes and their variants
 At Facebook, Getafix predicts defects and suggests remedies that are thus far
proving correct 80 percent of the time
 Getafix learns from engineers’ past code fixes, its recommendations are
intuitive for engineers to review
 The cost of fixing bugs rises considerably further down the software life cycle,
as reproducing the defects in a developer’s local environment can be complex
and business-critical services failure can be costly
 Video game company Ubisoft says the use of machine learning is helping it
catch 70 percent of bugs prior to testing
Getafix: How Facebook tools learn to fix bugs
automatically
 Getafix uses a more powerful
clustering algorithm and also
analyzes the context around the
particular lines of problematic code
to find more appropriate fixes
Getafix - Examples
More thorough testing
 AI has made it possible not only to run tests
automatically but to automatically generate
the test cases
 An AI-powered tool automatically generate
over half of the test cases
 Another tool is able to adapt to UI changes by
identifying elements by their functionality
and not just their position on the screen.
The tool achieved the same test coverage as
with its older testing tool in a smaller fraction
of the time
GUI Testing
 With very few tools and techniques available to aid
in the testing process, testing GUIs is difficult
 Currently used GUI testing methods are ad hoc and
now that is a lot of manual work
 Also, not forgetting that if the GUI is modified
after being tested, the test designer must change
the test suite and perform re-testing
 Applitools is a GUI tester tool empowered by AI
 It allows users to keep track of both the web page
behaviour, as well as the look of the webpage
Deployment
 AI-powered tools are helping to predict deployment failure ahead of time
 This can speed up root cause analysis and recovery in case of a failure
 An e-commerce company attain faster application delivery and a 75
percent reduction in mean-time-to-restore from a failure in the
production environment
 AI can even help applications run optimally while in production
 Another online company deployed a machine learning–based tool that
automatically deploys optimal environment configurations
 This helped them halve cloud costs and more than double application
performance
Project management
 Tools to predict the technical tasks, engineering resources, and
timelines that new software projects will require
 This can make project planning more accurate and project
execution more efficient
 As an example, the innovation team at French telco Orange
deployed an AI-powered project management tool to automate
the long, manual process of updating project timelines with
changes in project scope or feature sets
20
Tools
 TensorFlow is an open source, numerical computational tool.
This ML library is primarily for production and research.
 H20.AI for insurance, banking, marketing, telecom and
healthcare. It will allow one to use Python and R for building
models
 Cortana is a virtual assistant which provides many featured
skills. Also its’ voice recognition feature proves to be a time
saver
 IBM Watson is a question answering software. IBM Watson is
robust system which assists in making business processes
smarter
Tools (2)
 Infosys Nia accumulates organizational data on the legacy
system and can creates high performing, scalable models
 Deeplearning4j is a plug-and-play AI software for faster
prototyping
 Google Assistant is a virtual assistant by Google which can
be utilized on smartphones and smart home devices
Student Projects
 Similar projects from github:
 For a new project description search on github similar projects with
similar description (Lucene – index readme files)
 For similar projects extract source code files and generate class
diagrams (reverse engineering for Java)
 Identify common classes and come with a “proposal” of “start solution”
for the new project
 Voice interface for mobile applications
 Platform that allow to add very easy to a mobile application voice
interaction capabilities for Romanian (Amazon platform)
23
Positive Effects
 AI and software intelligence tools aim to make software
development faster, easier, more efficient, more effective, and
less costly
 AI-enhanced software development tools are an opportunity to
increase the output’s velocity and quality
 Enable professionals without computer science or software
engineering training to develop applications
 These platforms have begun to include AI-enabled capabilities to
make it easier and more efficient to create and test applications
Downside Effects
 Tools trained on open-source projects could encourage developers
to inadvertently propagate bugs and security risks into their code
 And teams deploying code recommendation tools could see
productivity dip before improving, as those tools may require some
usage and training before reliably generating highly accurate
recommendations
25
The future of software development
 Pundits have long predicted the end of programming
 Some have forecasted that computers would
eventually write their own programs; others have
suggested that the task of programming computers
will give way to a process of teaching computers, by
means of machine learning
 AI-enhanced software development tools are a good
example of how AI can empower, rather than
replace workers
26
Bibliography
 Cioffi, R., Travaglioni, M., Piscitelli, G., Petrillo, A., De Felice, F. (2020) Artificial Intelligence and
Machine Learning Applications in Smart Production: Progress, Trends, and Directions. Sustainability
2020, 12, 492; doi:10.3390/su12020492
 Feldt, R., de Oliveira Neto, F. G., Torkar, R. (2018) Ways of Applying Artificial Intelligence in
Software Engineering. arXiv:1802.02033v2 [cs.SE] 7 Feb 2018
 Harman, M. (2012) The Role of Artificial Intelligence in Software Engineering. 2012 First
International Workshop on Realizing AI Synergies in Software Engineering (RAISE).
 Marques, J., Yelisetty, S. (2019) An analysis of software requirements specification characteristics
in regulated environments. International Journal of Software Engineering & Applications (IJSEA),
Vol.10, No.6, November 2019, DOI: 10.5121/ijsea.2019.10601
 Meziane, F., Vadera, S. (2010) Artificial Intelligence in Software Engineering. Current Developments
and Future Prospects. Information science reference. Hershey • New York
27
Links
 Chandler, S. (2020) How AI Is Making Software Development Easier For Companies And Coders. Forbes, Innovation.
https://www.forbes.com/sites/simonchandler/2020/02/05/how-ai-is-making-software-development-easier-for-companies-
and-coders/#35e67aa26641
 Chandra, S., Bader, J., Lippert, E., Scott, A. (2018) Getafix: How Facebook tools learn to fix bugs automatically. facebook
Engineering. DEVELOPER TOOLS, ML APPLICATIONS https://engineering.fb.com/developer-tools/getafix-how-facebook-tools-
learn-to-fix-bugs-automatically/
 Dsouza, M. (2018) 5 ways artificial intelligence is upgrading software engineering. Packtpub. Artificial Intelligence News.
https://hub.packtpub.com/5-ways-artificial-intelligence-is-upgrading-software-engineering/
 Apoorv Gehlot (2019) AI Development Tools Make Software Development Easier. Technative. AI & Machine Learning
https://www.technative.io/ai-development-tools-make-software-development-easier/
 Schatsky, D., Bumb, S. (2020) AI is helping to make better software. Professionals are using artificial intelligence for help in
design, development, and deployment. Deloitte Insights. https://www2.deloitte.com/us/en/insights/focus/signals-for-
strategists/ai-assisted-software-development.html
 Brad Middleton (2018) Power your engineers with Watson IoT and Requirements Quality Assistant
https://www2.slideshare.net/BradMiddleton3/power-your-engineers-with-watson-iot-and-requirements-quality-assistant
28

More Related Content

What's hot

"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"Applitools
 
Natural language processing
Natural language processingNatural language processing
Natural language processingAbash shah
 
Corby - AI Core Banking Bot
Corby - AI Core Banking Bot Corby - AI Core Banking Bot
Corby - AI Core Banking Bot Rohit Kapoor
 
Data science and Artificial Intelligence
Data science and Artificial IntelligenceData science and Artificial Intelligence
Data science and Artificial IntelligenceSuman Srinivasan
 
Principles of Artificial Intelligence & Machine Learning
Principles of Artificial Intelligence & Machine LearningPrinciples of Artificial Intelligence & Machine Learning
Principles of Artificial Intelligence & Machine LearningJerry Lu
 
A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...
A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...
A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...Edureka!
 
What is a Neural Network | Edureka
What is a Neural Network | EdurekaWhat is a Neural Network | Edureka
What is a Neural Network | EdurekaEdureka!
 
artificial intelligence ppt.pptx
artificial intelligence ppt.pptxartificial intelligence ppt.pptx
artificial intelligence ppt.pptxBrijithaGokula
 
Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...
Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...
Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...Lviv Startup Club
 
Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...Rik Marselis
 
Top 10 Applications Of Artificial Intelligence | Edureka
Top 10 Applications Of Artificial Intelligence | EdurekaTop 10 Applications Of Artificial Intelligence | Edureka
Top 10 Applications Of Artificial Intelligence | EdurekaEdureka!
 
How to test an AI application
How to test an AI applicationHow to test an AI application
How to test an AI applicationKari Kakkonen
 
Introduction To Artificial Intelligence PowerPoint Presentation Slides
Introduction To Artificial Intelligence PowerPoint Presentation SlidesIntroduction To Artificial Intelligence PowerPoint Presentation Slides
Introduction To Artificial Intelligence PowerPoint Presentation SlidesSlideTeam
 
Artifical intelligence-NIT Kurukshetra
Artifical intelligence-NIT KurukshetraArtifical intelligence-NIT Kurukshetra
Artifical intelligence-NIT KurukshetraNarendra Panwar
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial IntelligenceNeil Mathew
 
An introduction to Deep Learning
An introduction to Deep LearningAn introduction to Deep Learning
An introduction to Deep LearningJulien SIMON
 

What's hot (20)

"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Corby - AI Core Banking Bot
Corby - AI Core Banking Bot Corby - AI Core Banking Bot
Corby - AI Core Banking Bot
 
Data science and Artificial Intelligence
Data science and Artificial IntelligenceData science and Artificial Intelligence
Data science and Artificial Intelligence
 
Principles of Artificial Intelligence & Machine Learning
Principles of Artificial Intelligence & Machine LearningPrinciples of Artificial Intelligence & Machine Learning
Principles of Artificial Intelligence & Machine Learning
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...
A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...
A Brief History Of Artificial Intelligence | Developing Text To Speech Recogn...
 
What is a Neural Network | Edureka
What is a Neural Network | EdurekaWhat is a Neural Network | Edureka
What is a Neural Network | Edureka
 
artificial intelligence ppt.pptx
artificial intelligence ppt.pptxartificial intelligence ppt.pptx
artificial intelligence ppt.pptx
 
Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...
Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...
Andrii Burlutskyi: Going beyond ABM: power the client buying journey using AI...
 
Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...
 
Top 10 Applications Of Artificial Intelligence | Edureka
Top 10 Applications Of Artificial Intelligence | EdurekaTop 10 Applications Of Artificial Intelligence | Edureka
Top 10 Applications Of Artificial Intelligence | Edureka
 
How to test an AI application
How to test an AI applicationHow to test an AI application
How to test an AI application
 
AI overview
AI  overviewAI  overview
AI overview
 
Introduction to AI
Introduction to AIIntroduction to AI
Introduction to AI
 
Introduction To Artificial Intelligence PowerPoint Presentation Slides
Introduction To Artificial Intelligence PowerPoint Presentation SlidesIntroduction To Artificial Intelligence PowerPoint Presentation Slides
Introduction To Artificial Intelligence PowerPoint Presentation Slides
 
Artifical intelligence-NIT Kurukshetra
Artifical intelligence-NIT KurukshetraArtifical intelligence-NIT Kurukshetra
Artifical intelligence-NIT Kurukshetra
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
An introduction to Deep Learning
An introduction to Deep LearningAn introduction to Deep Learning
An introduction to Deep Learning
 
Security of Machine Learning
Security of Machine LearningSecurity of Machine Learning
Security of Machine Learning
 

Similar to Using Artificial Intelligence in Software Engineering

IBM webinar Profesia su Requirements Quality assistant
IBM webinar Profesia su Requirements Quality assistantIBM webinar Profesia su Requirements Quality assistant
IBM webinar Profesia su Requirements Quality assistantProfesia Srl, Lynx Group
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
 
implementing_ai_for_improved_performance_testing_the_key_to_success.pdf
implementing_ai_for_improved_performance_testing_the_key_to_success.pdfimplementing_ai_for_improved_performance_testing_the_key_to_success.pdf
implementing_ai_for_improved_performance_testing_the_key_to_success.pdfsarah david
 
Chethan Updated Resume
Chethan Updated ResumeChethan Updated Resume
Chethan Updated ResumeChethan H
 
implementing_ai_for_improved_performance_testing_the_key_to_success.pptx
implementing_ai_for_improved_performance_testing_the_key_to_success.pptximplementing_ai_for_improved_performance_testing_the_key_to_success.pptx
implementing_ai_for_improved_performance_testing_the_key_to_success.pptxsarah david
 
Performance Optimization: Incorporating Database and Code Optimzitation Into ...
Performance Optimization: Incorporating Database and Code Optimzitation Into ...Performance Optimization: Incorporating Database and Code Optimzitation Into ...
Performance Optimization: Incorporating Database and Code Optimzitation Into ...Michael Findling
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
Accelerate and Streamline Performance Testing with AI-powered Test Automation...
Accelerate and Streamline Performance Testing with AI-powered Test Automation...Accelerate and Streamline Performance Testing with AI-powered Test Automation...
Accelerate and Streamline Performance Testing with AI-powered Test Automation...RohitBhandari66
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsultingtalkwiseone
 
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
Extreme  Programming    Talk Wise  Consulting   Www.TalkwiseconsultingExtreme  Programming    Talk Wise  Consulting   Www.Talkwiseconsulting
Extreme Programming Talk Wise Consulting Www.Talkwiseconsultingtalkwiseone
 
Scope master introduction presentation feb 2020 w vid
Scope master introduction presentation feb 2020 w vidScope master introduction presentation feb 2020 w vid
Scope master introduction presentation feb 2020 w vidColin Hammond
 
Implementing AI for improved performance testing – Cuneiform.pdf
Implementing AI for improved performance testing – Cuneiform.pdfImplementing AI for improved performance testing – Cuneiform.pdf
Implementing AI for improved performance testing – Cuneiform.pdfCuneiform Consulting Pvt Ltd.
 
Ganesha.U.S_Resume
Ganesha.U.S_ResumeGanesha.U.S_Resume
Ganesha.U.S_ResumeGanesh Us
 

Similar to Using Artificial Intelligence in Software Engineering (20)

Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
IBM webinar Profesia su Requirements Quality assistant
IBM webinar Profesia su Requirements Quality assistantIBM webinar Profesia su Requirements Quality assistant
IBM webinar Profesia su Requirements Quality assistant
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
implementing_ai_for_improved_performance_testing_the_key_to_success.pdf
implementing_ai_for_improved_performance_testing_the_key_to_success.pdfimplementing_ai_for_improved_performance_testing_the_key_to_success.pdf
implementing_ai_for_improved_performance_testing_the_key_to_success.pdf
 
Chethan Updated Resume
Chethan Updated ResumeChethan Updated Resume
Chethan Updated Resume
 
implementing_ai_for_improved_performance_testing_the_key_to_success.pptx
implementing_ai_for_improved_performance_testing_the_key_to_success.pptximplementing_ai_for_improved_performance_testing_the_key_to_success.pptx
implementing_ai_for_improved_performance_testing_the_key_to_success.pptx
 
Performance Optimization: Incorporating Database and Code Optimzitation Into ...
Performance Optimization: Incorporating Database and Code Optimzitation Into ...Performance Optimization: Incorporating Database and Code Optimzitation Into ...
Performance Optimization: Incorporating Database and Code Optimzitation Into ...
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Accelerate and Streamline Performance Testing with AI-powered Test Automation...
Accelerate and Streamline Performance Testing with AI-powered Test Automation...Accelerate and Streamline Performance Testing with AI-powered Test Automation...
Accelerate and Streamline Performance Testing with AI-powered Test Automation...
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsulting
 
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
Extreme  Programming    Talk Wise  Consulting   Www.TalkwiseconsultingExtreme  Programming    Talk Wise  Consulting   Www.Talkwiseconsulting
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
 
Scope master introduction presentation feb 2020 w vid
Scope master introduction presentation feb 2020 w vidScope master introduction presentation feb 2020 w vid
Scope master introduction presentation feb 2020 w vid
 
Jyothi Kasarla
Jyothi KasarlaJyothi Kasarla
Jyothi Kasarla
 
Chapter 14
Chapter 14Chapter 14
Chapter 14
 
Implementing AI for improved performance testing – Cuneiform.pdf
Implementing AI for improved performance testing – Cuneiform.pdfImplementing AI for improved performance testing – Cuneiform.pdf
Implementing AI for improved performance testing – Cuneiform.pdf
 
Ganesha.U.S_Resume
Ganesha.U.S_ResumeGanesha.U.S_Resume
Ganesha.U.S_Resume
 
chvs-Cambria
chvs-Cambriachvs-Cambria
chvs-Cambria
 
Collaborative Quality Management
Collaborative Quality ManagementCollaborative Quality Management
Collaborative Quality Management
 

More from Faculty of Computer Science

Eye and Voice Control for an Augmented Reality Cooking Experience
Eye and Voice Control for an Augmented Reality Cooking ExperienceEye and Voice Control for an Augmented Reality Cooking Experience
Eye and Voice Control for an Augmented Reality Cooking ExperienceFaculty of Computer Science
 
Exploiting Social Networks. Technological Trends
Exploiting Social Networks. Technological TrendsExploiting Social Networks. Technological Trends
Exploiting Social Networks. Technological TrendsFaculty of Computer Science
 
Using opinion mining techniques for early crisis detection
Using opinion mining techniques for early crisis detectionUsing opinion mining techniques for early crisis detection
Using opinion mining techniques for early crisis detectionFaculty of Computer Science
 
I See You, You Can't See Me: On People's Perception About Surveillance In Po...
I See You, You Can't See Me: On People's Perception About Surveillance In Po...I See You, You Can't See Me: On People's Perception About Surveillance In Po...
I See You, You Can't See Me: On People's Perception About Surveillance In Po...Faculty of Computer Science
 
Question Answering for Machine Reading Evaluation on Romanian and English
Question Answering for Machine Reading Evaluation on Romanian and EnglishQuestion Answering for Machine Reading Evaluation on Romanian and English
Question Answering for Machine Reading Evaluation on Romanian and EnglishFaculty of Computer Science
 
Question Answering on Romanian, English and French Languages
Question Answering on Romanian, English and French LanguagesQuestion Answering on Romanian, English and French Languages
Question Answering on Romanian, English and French LanguagesFaculty of Computer Science
 
Recovering Diacritics using Wikipedia and Google
Recovering Diacritics using Wikipedia and GoogleRecovering Diacritics using Wikipedia and Google
Recovering Diacritics using Wikipedia and GoogleFaculty of Computer Science
 
Hypothesis Transformation and Semantic Variability Rules Used in RTE
Hypothesis Transformation and Semantic Variability Rules Used in RTEHypothesis Transformation and Semantic Variability Rules Used in RTE
Hypothesis Transformation and Semantic Variability Rules Used in RTEFaculty of Computer Science
 
Improving a Question Answering System for Romanian Using Textual Entailment
Improving a Question Answering System for Romanian Using Textual EntailmentImproving a Question Answering System for Romanian Using Textual Entailment
Improving a Question Answering System for Romanian Using Textual EntailmentFaculty of Computer Science
 
A Distributed Architecture System for Recognizing Textual Entailment
A Distributed Architecture System for Recognizing Textual EntailmentA Distributed Architecture System for Recognizing Textual Entailment
A Distributed Architecture System for Recognizing Textual EntailmentFaculty of Computer Science
 
Formalizing Peer-to-Peer Systems based on Content Addressable Network
Formalizing Peer-to-Peer Systems based on Content Addressable NetworkFormalizing Peer-to-Peer Systems based on Content Addressable Network
Formalizing Peer-to-Peer Systems based on Content Addressable NetworkFaculty of Computer Science
 

More from Faculty of Computer Science (19)

Eye and Voice Control for an Augmented Reality Cooking Experience
Eye and Voice Control for an Augmented Reality Cooking ExperienceEye and Voice Control for an Augmented Reality Cooking Experience
Eye and Voice Control for an Augmented Reality Cooking Experience
 
Learn Chemistry with Augmented Reality
Learn Chemistry with Augmented RealityLearn Chemistry with Augmented Reality
Learn Chemistry with Augmented Reality
 
Exploiting Social Networks. Technological Trends
Exploiting Social Networks. Technological TrendsExploiting Social Networks. Technological Trends
Exploiting Social Networks. Technological Trends
 
Augmented Reality in Education
Augmented Reality in EducationAugmented Reality in Education
Augmented Reality in Education
 
Diversification in an Image Retrieval System
Diversification in an Image Retrieval SystemDiversification in an Image Retrieval System
Diversification in an Image Retrieval System
 
Using opinion mining techniques for early crisis detection
Using opinion mining techniques for early crisis detectionUsing opinion mining techniques for early crisis detection
Using opinion mining techniques for early crisis detection
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 
I See You, You Can't See Me: On People's Perception About Surveillance In Po...
I See You, You Can't See Me: On People's Perception About Surveillance In Po...I See You, You Can't See Me: On People's Perception About Surveillance In Po...
I See You, You Can't See Me: On People's Perception About Surveillance In Po...
 
Named Entity Recognition for Romanian
Named Entity Recognition for RomanianNamed Entity Recognition for Romanian
Named Entity Recognition for Romanian
 
Question Answering for Machine Reading Evaluation on Romanian and English
Question Answering for Machine Reading Evaluation on Romanian and EnglishQuestion Answering for Machine Reading Evaluation on Romanian and English
Question Answering for Machine Reading Evaluation on Romanian and English
 
Identify Experts from a Domain of Interest
Identify Experts from a Domain of Interest Identify Experts from a Domain of Interest
Identify Experts from a Domain of Interest
 
Question Answering on Romanian, English and French Languages
Question Answering on Romanian, English and French LanguagesQuestion Answering on Romanian, English and French Languages
Question Answering on Romanian, English and French Languages
 
Recovering Diacritics using Wikipedia and Google
Recovering Diacritics using Wikipedia and GoogleRecovering Diacritics using Wikipedia and Google
Recovering Diacritics using Wikipedia and Google
 
UAIC Participation at RTE4
UAIC Participation at RTE4UAIC Participation at RTE4
UAIC Participation at RTE4
 
Hypothesis Transformation and Semantic Variability Rules Used in RTE
Hypothesis Transformation and Semantic Variability Rules Used in RTEHypothesis Transformation and Semantic Variability Rules Used in RTE
Hypothesis Transformation and Semantic Variability Rules Used in RTE
 
Improving a Question Answering System for Romanian Using Textual Entailment
Improving a Question Answering System for Romanian Using Textual EntailmentImproving a Question Answering System for Romanian Using Textual Entailment
Improving a Question Answering System for Romanian Using Textual Entailment
 
A Distributed Architecture System for Recognizing Textual Entailment
A Distributed Architecture System for Recognizing Textual EntailmentA Distributed Architecture System for Recognizing Textual Entailment
A Distributed Architecture System for Recognizing Textual Entailment
 
Graph Coloring using Peer-to-Peer Networks
Graph Coloring using Peer-to-Peer NetworksGraph Coloring using Peer-to-Peer Networks
Graph Coloring using Peer-to-Peer Networks
 
Formalizing Peer-to-Peer Systems based on Content Addressable Network
Formalizing Peer-to-Peer Systems based on Content Addressable NetworkFormalizing Peer-to-Peer Systems based on Content Addressable Network
Formalizing Peer-to-Peer Systems based on Content Addressable Network
 

Recently uploaded

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

Using Artificial Intelligence in Software Engineering

  • 1. Using Artificial Intelligence in Software Engineering Adrian Iftene January 4, 2021
  • 2. Content  Artificial Intelligence in Software Engineering  Project Requirements  Software Design  Coding  Testing  Deployment  Project Management  Students Projects  Positive/Negative Effects  Future Work 2
  • 3. Artificial Intelligence in SE  ARTIFICIAL intelligence is making the process of designing, developing, and deploying software faster, better, and cheaper  It’s not that programmers are being replaced by robots  AI-powered tools are making project managers, business analysts, software coders, and testers more productive and more effective, enabling them to produce higher-quality software faster at lower cost 3
  • 4. AI in SE - Signals  47% of digitally mature organizations said they have a defined AI strategy  Large and small software vendors have launched dozens of AI-powered software development tools over the last 18 months  Startups offering AI-powered software development tools raised US$704 million over the 12 months ending September 2019  The global market for custom application development services is forecast to grow from US$47 billion in 2018 to more than US$61 billion in 2023  Due to increasing demand for software, employment of software developers is projected to grow 21 percent from 2018 to 2028, much faster than the average for all occupations 4
  • 5. From big data to better software – Impact of AI  Reducing the number of keystrokes developers need to type by half  Catching bugs even prior to code review or testing  Automatically generating half of the tests needed for quality assurance  Open-source lowered the cost of software development by allowing developers to reuse and build upon others’ work  96 percent of commercial applications used open-source components 5
  • 6. Open-source Software Powered by AI  The volume of open-source software available for use by any developer is enormous and growing rapidly  Machine learning and natural language processing can be used to analyze source code, records of project schedules, delays, and application defects and their fixes  A new generation of AI-powered tools is thus emerging, guiding and empowering software professionals to produce better requirements documents, write more reliable code, and automatically detect bugs and security vulnerabilities 6
  • 7. Project Requirements  Digital assistants can analyze requirements documents, flag ambiguities and inconsistencies, and suggest improvements  These tools are powered by natural language processing  These tools can detect inaccuracies or incomplete requirements, immeasurable quantification (missing units or tolerances), compound requirements  Enterprises using such tools have been reportedly able to reduce requirements review time by over 50 percent  IBM Requirements Quality Assistant 7
  • 9. IBM Requirements Quality Assistant - 10 quality issues Quality Issue Guidance Unclear actor Pronouns such as “it,” “they,” or “them” refer to other nouns. The noun that a pronoun refers to can be unclear. To increase clarity and precision, repeat the noun instead of using a pronoun. Compound requirement This requirement includes more than one statement, actor, or action. Effective requirements are single and atomic. To make the requirement more precise and easier to verify, refine it to a single statement with one actor and action. Negative statement This requirement includes a negative statement. Effective requirements use positive statements because they are more direct, easier to verify, and less likely to be duplicated. Rewrite the requirement to state what should happen, not what shouldn’t happen. Imprecise verb Statements with verbs such as “be able to” or “be capable of” are broad and difficult to verify. For example, a system might be able to do something, but might not do it consistently. Effective requirements include a specific action that can be conclusively verified. Broad statements are appropriate in capability requirements. In system requirements, replace imprecise verbs with specific and measurable actions. Escape clause This requirement includes a phrase such as “when possible,” “if necessary,” or “as required” that makes the requirement unclear and difficult to verify. Effective requirements use specific wording that can be interpreted only one way. Eliminate or replace phrases that are unclear or provide loopholes 9
  • 10. IBM Requirements Quality Assistant - 10 quality issues (2) Quality Issue Guidance Missing unit This requirement has a value with a missing or unclear unit of measurement. Effective requirements are specific and measurable. Ensure that numbers and values include a unit of measurement, and that the same units of measurement are used consistently across all requirements. Missing limits This requirement has a value with missing or unclear limits. Effective requirements state specific boundaries so that results are easier to measure and verify. For example, instead of stating “The water station shall maintain the flow of water at 150 liters per second for 20 minutes,” include limits such as "The water station shall maintain the flow of water at 150 ±20 liters per second for greater than 20 minutes" to show exactly which values are acceptable. Unclear term This requirement includes a term that makes the requirement unclear. Effective requirements use specific and precise terms that have only one interpretation. Replace vague and general terms with specific, descriptive terms. Unspecific quantity This requirement includes a general or unspecific quantity that makes the requirement unclear. Effective requirements include clear and specific quantities. Ensure that all quantities are precise. For example, instead of stating “The system shall use minimum power,” specify what “minimum” means. Incomplete requirement This requirement is incomplete because the actor, action, object or imperative is missing. Rewrite the requirement to clearly identify the object of the action. 10
  • 11. Software design  Planning a project and designing it from scratch need designers to apply their specialized learning and experience  A designer begins with a vision of the solution, and after that retracts and forwards investigating plan changes until they reach the desired solution  Along this line, a few AI developments have demonstrated the advantages of enhancing traditional methods with intelligent specialists  For instance, take the example of AIDA - The Artificial Intelligence Design Assistant, deployed by Bookmark. AIDA understands a users needs and desires and uses this knowledge to create an appropriate website for the user  It makes selections from millions of combinations to create a website style, focus, image and more that are customized for the user 11
  • 12. Coding  AI-powered code completion tools provide recommendations for completing lines of code - This can reduce the keystrokes required by up to half  Some tools even generate a relevance-ranked list of usable code snippets  Some of these tools work on the same principle as Gmail’s Smart Compose, a machine learning–powered feature that suggests words or phrases as a user is composing an email
  • 13.
  • 14. Review, bug detection, and resolution  Code-review tools use AI to automatically detect bugs and suggest code changes by understanding the intent of the code and identifying common mistakes and their variants  At Facebook, Getafix predicts defects and suggests remedies that are thus far proving correct 80 percent of the time  Getafix learns from engineers’ past code fixes, its recommendations are intuitive for engineers to review  The cost of fixing bugs rises considerably further down the software life cycle, as reproducing the defects in a developer’s local environment can be complex and business-critical services failure can be costly  Video game company Ubisoft says the use of machine learning is helping it catch 70 percent of bugs prior to testing
  • 15. Getafix: How Facebook tools learn to fix bugs automatically  Getafix uses a more powerful clustering algorithm and also analyzes the context around the particular lines of problematic code to find more appropriate fixes
  • 17. More thorough testing  AI has made it possible not only to run tests automatically but to automatically generate the test cases  An AI-powered tool automatically generate over half of the test cases  Another tool is able to adapt to UI changes by identifying elements by their functionality and not just their position on the screen. The tool achieved the same test coverage as with its older testing tool in a smaller fraction of the time
  • 18. GUI Testing  With very few tools and techniques available to aid in the testing process, testing GUIs is difficult  Currently used GUI testing methods are ad hoc and now that is a lot of manual work  Also, not forgetting that if the GUI is modified after being tested, the test designer must change the test suite and perform re-testing  Applitools is a GUI tester tool empowered by AI  It allows users to keep track of both the web page behaviour, as well as the look of the webpage
  • 19. Deployment  AI-powered tools are helping to predict deployment failure ahead of time  This can speed up root cause analysis and recovery in case of a failure  An e-commerce company attain faster application delivery and a 75 percent reduction in mean-time-to-restore from a failure in the production environment  AI can even help applications run optimally while in production  Another online company deployed a machine learning–based tool that automatically deploys optimal environment configurations  This helped them halve cloud costs and more than double application performance
  • 20. Project management  Tools to predict the technical tasks, engineering resources, and timelines that new software projects will require  This can make project planning more accurate and project execution more efficient  As an example, the innovation team at French telco Orange deployed an AI-powered project management tool to automate the long, manual process of updating project timelines with changes in project scope or feature sets 20
  • 21. Tools  TensorFlow is an open source, numerical computational tool. This ML library is primarily for production and research.  H20.AI for insurance, banking, marketing, telecom and healthcare. It will allow one to use Python and R for building models  Cortana is a virtual assistant which provides many featured skills. Also its’ voice recognition feature proves to be a time saver  IBM Watson is a question answering software. IBM Watson is robust system which assists in making business processes smarter
  • 22. Tools (2)  Infosys Nia accumulates organizational data on the legacy system and can creates high performing, scalable models  Deeplearning4j is a plug-and-play AI software for faster prototyping  Google Assistant is a virtual assistant by Google which can be utilized on smartphones and smart home devices
  • 23. Student Projects  Similar projects from github:  For a new project description search on github similar projects with similar description (Lucene – index readme files)  For similar projects extract source code files and generate class diagrams (reverse engineering for Java)  Identify common classes and come with a “proposal” of “start solution” for the new project  Voice interface for mobile applications  Platform that allow to add very easy to a mobile application voice interaction capabilities for Romanian (Amazon platform) 23
  • 24. Positive Effects  AI and software intelligence tools aim to make software development faster, easier, more efficient, more effective, and less costly  AI-enhanced software development tools are an opportunity to increase the output’s velocity and quality  Enable professionals without computer science or software engineering training to develop applications  These platforms have begun to include AI-enabled capabilities to make it easier and more efficient to create and test applications
  • 25. Downside Effects  Tools trained on open-source projects could encourage developers to inadvertently propagate bugs and security risks into their code  And teams deploying code recommendation tools could see productivity dip before improving, as those tools may require some usage and training before reliably generating highly accurate recommendations 25
  • 26. The future of software development  Pundits have long predicted the end of programming  Some have forecasted that computers would eventually write their own programs; others have suggested that the task of programming computers will give way to a process of teaching computers, by means of machine learning  AI-enhanced software development tools are a good example of how AI can empower, rather than replace workers 26
  • 27. Bibliography  Cioffi, R., Travaglioni, M., Piscitelli, G., Petrillo, A., De Felice, F. (2020) Artificial Intelligence and Machine Learning Applications in Smart Production: Progress, Trends, and Directions. Sustainability 2020, 12, 492; doi:10.3390/su12020492  Feldt, R., de Oliveira Neto, F. G., Torkar, R. (2018) Ways of Applying Artificial Intelligence in Software Engineering. arXiv:1802.02033v2 [cs.SE] 7 Feb 2018  Harman, M. (2012) The Role of Artificial Intelligence in Software Engineering. 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).  Marques, J., Yelisetty, S. (2019) An analysis of software requirements specification characteristics in regulated environments. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.6, November 2019, DOI: 10.5121/ijsea.2019.10601  Meziane, F., Vadera, S. (2010) Artificial Intelligence in Software Engineering. Current Developments and Future Prospects. Information science reference. Hershey • New York 27
  • 28. Links  Chandler, S. (2020) How AI Is Making Software Development Easier For Companies And Coders. Forbes, Innovation. https://www.forbes.com/sites/simonchandler/2020/02/05/how-ai-is-making-software-development-easier-for-companies- and-coders/#35e67aa26641  Chandra, S., Bader, J., Lippert, E., Scott, A. (2018) Getafix: How Facebook tools learn to fix bugs automatically. facebook Engineering. DEVELOPER TOOLS, ML APPLICATIONS https://engineering.fb.com/developer-tools/getafix-how-facebook-tools- learn-to-fix-bugs-automatically/  Dsouza, M. (2018) 5 ways artificial intelligence is upgrading software engineering. Packtpub. Artificial Intelligence News. https://hub.packtpub.com/5-ways-artificial-intelligence-is-upgrading-software-engineering/  Apoorv Gehlot (2019) AI Development Tools Make Software Development Easier. Technative. AI & Machine Learning https://www.technative.io/ai-development-tools-make-software-development-easier/  Schatsky, D., Bumb, S. (2020) AI is helping to make better software. Professionals are using artificial intelligence for help in design, development, and deployment. Deloitte Insights. https://www2.deloitte.com/us/en/insights/focus/signals-for- strategists/ai-assisted-software-development.html  Brad Middleton (2018) Power your engineers with Watson IoT and Requirements Quality Assistant https://www2.slideshare.net/BradMiddleton3/power-your-engineers-with-watson-iot-and-requirements-quality-assistant 28

Editor's Notes

  1. Passive voice The person or thing that performs the action is missing, unclear, or not the focus of the statement. Effective requirements clearly state who or what performs an action. Rewrite the requirement to clearly identify and focus on the actor