SYSTEMATIC MAPPING RTICIAL INTELLIGENCE TECNIQUE IN SOFTWARE ENGINEEING
Eniya .A Arputharaj .A Arputharaj
Paper Contents
Abstract
As software products become pervasive in all areas of society, the productive building of high-quality software has become crucial to the software industry. The rise of artificial intelligence (AI) applications is potentially a game-changer in improving Software Engineering (SE) phases to ensure higher-quality software, accelerate productivity, and increase project success rates. AI has the capability to assist software teams in many aspects, from automating certain activities in an SE phase to providing project analytics and actionable recommendations, and even making decisions. AI techniques can support software engineers by detecting parts of the SE phases that are more likely to contain vulnerabilities and raising alerts about these issues. Such techniques can help to prioritize efforts and optimize inspection and testing costs. They aim to increase the likelihood of finding vulnerabilities and reduce the time required for software engineers to discover these vulnerabilities. SE phases involve various activities that range across all the stages of the Software Development Lifecycle (SDLC) phases. AI techniques like machine learning (ML), heuristic algorithms (HA), deep learning (DL), data mining (DM), data analytics (DA), and natural language processing (NLP) have been widely explored in the SE phases. As software grows in size, its complexity increases, along with the time and cost required for its overall construction. Extensive data is generated from all the SDLC stages. This data varies between the planning, requirements engineering, design, system development, testing, deployment, training, and maintenance phases. As software products become pervasive in all areas of society, the productive building of high-quality software has become crucial to the software industry. The rise of artificial intelligence (AI) applications is potentially a game-changer in improving Software Engineering (SE) phases to ensure higher-quality software, accelerate productivity, and increase project success rates. AI has the capability to assist software teams in many aspects, from automating certain activities in an SE phase to providing project analytics and actionable recommendations, and even making decisions. AI techniques can support software engineers by detecting parts of the SE phases that are more likely to contain vulnerabilities and raising alerts about these issues. Such techniques can help to prioritize efforts and optimize inspection and testing costs. They aim to increase the likelihood of finding vulnerabilities and reduce the time required for software engineers to discover these vulnerabilities. SE phases involve various activities that range across all the stages of the Software Development Lifecycle (SDLC) phases. AI techniques like machine learning (ML), heuristic algorithms (HA), deep learning (DL), data mining (DM), data analytics (DA), and natural language processing (NLP) have been widely explored in the SE phases. As software grows in size, its complexity increases, along with the time and cost required for its overall construction. Extensive data is generated from all the SDLC stages. This data varies between the planning, requirements engineering, design, system development, testing, deployment, training, and maintenance phases.
Copyright
Copyright © 2023 Eniya .A Arputharaj. This is an open access article distributed under the Creative Commons Attribution License.