can you please Summerize each section
Use of Artificial Intelligence in Software Development Life Cycle: A state of the Art Review Bhagyashree W. Sorte, Pooja P. Joshi, Prof, Vandana Jagtap Maharashtra Institute of Technology, Pune, India. Abstract-Artificial Intelligence (AD) is the computational intelligence(CT) plays an important younger field in computer science ready to accept role in rescarch about software analysis or project challenges. Seftware engineering (SE) is the management as well as knowledge discovery in dominating industrial field. So, autemating SE is the machine learning or databases. [1] most relevant challenge today. AI has the capacity to Artificial Intelligence techniques, which empower SE in that way. Here in this paper we aim to create software systems that exhibit some present a state of the art literature review which reveals the past and present work done for reveals the past and present work done for autemating Software Development Life Cycle assist or automate the activitics in software (SDLC) using AL. Software Design, Soffware Extimation, Software _ many rescarchers.[2]. Testing. Automated software engineering is a research area which is constantly developing new 1. INTRODLCTION methodologies and technologies. It includes The disciplines of artificial intelligence and toolsets and frameworks based on mathematical software engineering have developed separately. models (theorem provers and model checkers). There is not much exchange of research results requirements-driven developments and reverse between them. Al research techniques make it enginecring (design, coding, verification possible to perceive, reason and act. Research in validation), software management (configurations software cnginecring is concemed with supporting and projects), and code drivers (generators, engineers to developed better software in less analyzers, and visualizers). period. In the following sections we have tried to review Rech and Altoff(2008) say "The disciplines__ some research techniques to automate each phase of artificial intelligences and software engincering __ of software development life cycle using artificial have many commonalities. Both deals with intelligence. modeling real world objects from the real world like business process, expent knowledge, or process models." Now a day's several rescarch directions of both disciplines come closer together and are beginning to build new research areas. Software agents play an important role as research objects in distributed Al(DAI) as well as in Agent Oriented Software Engineering(AOSE). Knowledge-based Fig. I luntraction berween Al and SE System(KBS) are being examine for Learning Software Organizations (LSO) as well as II. USE OF AI IN REQUIREMENT SPECIFXCATION Knowledge Enginecring(KE). Ambient The main contribution of Al in the requirements intelligence(AmL) a new research area for distributed, non-intrusive, and intelligent software enginecring phase are in the following areas: systembothfromthedirectionofhowtobuildthesesystemaswellasbowtodesignedthebydevelopingtoolsthatattempttounderstandsthenaturallanguagerequirementsand - Disambiguating natural language requirements collaboration between system. Lastly 398 III. USE OF AI IN Requirement Tracnag Requirements traceability is an important undertaking as part of ensuring the quality of software in the early stages of the Software Development Life Cycle. Swarm intelligence is applied to the requirements tracing problem using pheromone communication and a focus on the common text around linking terms or words in order to find related textual documents. Through the actions and contributions of each individual member of the swarm, the swarm as a whole exposes relationships between documents in a collective manner. Two techniques have been examined, simple swam and pheromone swarm. The techniques have been validated using two realworld datasets from two problem domains. The swarm agents mimic and borrow useful behavioral features from communal insects such as ants and bees to identify and promote candidate links between two sets of documents. The simple swarm approach, the heuristic to select a term or traversal path in the search space is based on term or document attributes [5]. IV. USE OF AI IN REQUIREMENT SPECWICATION Both architecture design and detailed design require designcrs to apply their technical knowledge and experience to evaluate alternative solutions before making commitments to a definite solution. Nomally, a designer starts with a guess of the solution, and then goes back and forth exploring candidate design transformations until arriving to the desired solution (Tekinerdogan, 2000). This exploration of the design space is conceptualized into two main stages: (i) from quality-attribute requirements to (one or more) architectural models - called QAR-to-AM phase, and (ii) from an architectural model to (one or more) object-oricnted models - called AM-toOOM phase. Making the right design decisions for each phase is a complex, time-consuming and error-prone activity for designers. Although tools for specification and analysis of designs exist, these tools do not support the designer in making informed decisions based on quality-aftribute considerations. Along this line, several AI developments have shown the benefits of improving conventional tools with intelligent agents. The metaphor here is that the agent acts like a personal assistant to the user (Maes, 1994). This 99 whwiljacgr.com assistant should be able to monitor the designer's - Autemated Data Strueturing: This means work, and offer timely guidance on how to carry going from a high-level specification of data out design tasks or even perform routine structures to a particular implementation computations on her behalf. For example, given a structure. modifiability scenario, a design assistant could When systematic changes need to be made recommend the use of a Client-Server pattern to throughout a code, it is more efficient and satisfy that scenario. If the designer agrees to apply controllable to do it through another program (i.e., such a pattern, the assistant could also take over the _program update manager) than through a manual assignment of responsibilities to Client and Server txt editor. For instance, a change in program X may components.[6] be required whenever h is being updated by b1 V. USE OF AI IN CODE GENERATION under the condition that b is less than C. Assume Because of the evolutionary nature of such places. If another program makes a change in software products, by the time coding is completed, W, then any program changed by W also must be requirements would have changed (because of the updated. Thus, program update managers long processes and stages of development required propagate changes. Because of this ability. in software engineering): a situation that results in program update managers are useful when delay between requirement specification and prototypes need to be developed quickly [7]. product delivery. There is therefore a need for Most automatic code generation tools help design by experimentation, the feasibility of which developers write software from graphical lies in automated programming. Some of the representations of the requirements specifications techniques and tools that have been successfully to visually specify structure and behavior of the demonstrated in autemated programming program by means of a modeling language, e.g. the environments include: UML. Some of them instead are able to generate - Language Feature: this technique adopts the software code from textual representations, e.g. a concept of late binding (i.e. making data natural language. Few approaches can gencrate structures very flexible). In late binding, data software code from symbolical representations structures are not finalized into particular such as mathematical models. Thus, enginecring implementation structures. Thus, quick tools build software code based on pre-defined prototypes are created which result in efficient policies and fixed rules, and then developers codes that can be easily changed. Another specify the program logic. important language feature is the packaging of State of the art automation of software data and procedures together in an object, thus process mainly deals with automatic code giving rise to object-oriented programming; a generation. Some solution automate verification notion that has been found useful in process and very few of them are able to code environments where codes, data structures and software from requirements. However, these concepts are constantly changing. Lisp automated software developments are focused on provides these facilities. predefined policies and fixed rules to gencrate - Meta Programming: this concept is developed code. But the following approach goes beyond this. in natural language processing (a sub field of The Autonomous Software Code AI). It uses automated parser generators and Generation (ASCG) process carried out by the interpreters to generate executable lisp codes. SDA is an agent oriented approach for automated Its use lies in the modeling of transition code generation. It relies on the SDA autonomy to sequences, user interfaces and data make decisions on how to analyze, design and transformations. implement software applications. The approach - Program Browsers: these look at different initially implements only an agent (role as a portions of a code that are still being developed developer, SDA) who starts dealing with the or analyzed, possibly to make changes, thus development of system by reading the obviating the need for an ordinary text editor. requirements specification given as a physical The browser understands the structures and configuration of the Software under Development declarations of the program and can focus on (SuD). System operations or missions are also the portion of the program that is of interest. specified. 400 The SDA is able to capture this information OODA loop, are the foundation of the ASCG and queries its own internal knowledge by means framework. The SDA is able to start the software of a reasoner in order to make decisions to design design with a description of the tanks the soffware that realizes the system logic. The configuration. Different fucl systems can be system logic is built of interconnected blocks that graphically described through a visual user can exchange information by receiving data from interface [8]. and sending data to other blocks. SA and the V2. USE OF Al IN SOFTWARE TESTRNG on PSO, using PSO and genetic algorithm in the Application of artificial intelligence techniques in context of evolutionary and structural testing, test engineering and testing of the software is a case minimization using artificial neural network progressive area of research that leads to the cross- or data mining info-fuxy network, using neural fertilization of ideas in the middle of the two fields. network for pruning test cases, software test data Varieties of AI tools are used to generate test data, generation using ant colony optimization, test rescarch on data suitability, optimization and optimization using Artificial Bee colony analysis of the coverage as well as test optimization (ABC) are a few techniques where in management. Many automation tasks, such as the software testing is made easier using Al. generation of test data are developed as constraint Frank Padberg et.al. proposed a method for solving problems. A well-designed test is expected estimating the defect content after an inspection to reveal software faults.[9] using machine learning. It uses the zero-one matrix Several researchers studied the relevance of of an inspection and an empirical database search algorithms based on Al such as genetic collected during past inspections as input for algorithm, simulated annealing, swarm intelligence computing the estimate. This approach identifies as a better alternative for the development of test defect content estimation for software inspections data generators and have shown promising results. as a nonlinear regression problem. A major Requirements based testing based on particle motivation for our approach was the discovery that swarm optimization(PSO), partition testing based some features of an inspection can carry significant the inspected document. Using this information can of MGA, it is used a gradient steepest descent greatly improve the accuracy of the estimates [10]. method (using a Least Mean Squares (LMS) VI.USE OF AI IN GUI TESTING algorithm with a systematic approach to overcome A growing interest can be seen in use of AI for GUI morphological-rank operator) to optimize the MRL testing. There has been some research into how perceptron parameters supplied by MGA Two GUI testing could be dealt with the help of AI. The different metrics (PRED(25) and MMRE) were various forms of this technique have been found in used to measure the performance of the proposed a quick glance to ACM library search on the topic. MRLHID model. Some of these techniques include generating the A fitness function was designed with these GUI based on a model, generating tests based on a two well-known statistic error measures in order to model, and automating test case generation to make create a global indicator of the prediction model it possible to regenerate the tests each time GUI performance, where the main idea was to maximize changes and making automated oracles which the PRED(25) metric and to minimize the MMRE model the behavior of the user interface. There metric. The justification of the inclusion of this have also been peeks into generating tests based on metrics to evaluate the proposed method is that artificial intelligence (AI) planning techniques and most of the existing literature frequently employ genetic modeling. [9] the Mean Squared Error (MSE) for estimation evaluation, however it may be used to drive the VII.USE OF AI IN SOFTWARE ESTIMATION model in the training process, but it cannot be Defect tracking using computational considered a conclusive measure for comparison of intelligence methods is used to predict software different models. An experimental validation of the Thwin. Their research extended currently software the proposed MRLHID model through a quality prediction models by including comparison, according to two performance structural/architecture considerations into software measures and a fitness function, of previous results quality metrics. The genetic training strategy of found in the literature (SVR-Linear, SVR-RBF, NeuroShell Predictor is used in their study. The Bagging, GA-based with SVR Linear, GA-based Genetic Training Strategy uses a "genetic with SVR RBF and MRL). This experimental algorithm" or survival of the fittest technique to investigation indicates a better, more consistent determine a weighting scheme for the inputs. The global performance of the proposed MRLHID genetic algorithm tests many weighting schemes model, having around 11% of improvement until it finds the one that gives the best predictions (Desharnais database) and around 12% of for the training data [11]. improvement (Cocomo database) regarding the Ricardo de A. Araujo et.al. proposed a best result reported in the literature. It is possible to hybrid intelligent method, referred to as notice that the main advantages of the proposed Morphological-Rank-Linear Hybrid Intelligent MRLHID model, apart from its superior predictive Design (MRLHID), using a Modified Genetic performance compared to all analyzed models, are Algorithm (MGA) and The Least Mean Squares (1) it has both linear and nonlinear components (it (LMS) algorithm to design 'MRL Perceptrons' was means that the model can use a distinct percentage proposed to solve the Software Development Cost of the linear and nonlinear components according Estimation (SDCE) problem. The proposed method to the linearity or nonlinearity of the problem), and used the MGA to determine the best particular (2) it is quite attractive due to its simpler features to improve the MRL perceptron computational complexity, according to analysis performance, as well as the initial parameters of presented in [12]