Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Shyamal Prajapati, Bhagirath Prajapati, Sudhir Vegad, Gunvantsinh Gohil
DOI Link: https://doi.org/10.22214/ijraset.2022.40889
Certificate: View Certificate
Artificial Intelligence and Software Engineering are the two fields of computer science that have many commonalities. Both fields deal with modelling and real-world problems. Both the fields of computer science have different characteristics, benefits, and limitations. There are many possibilities that the researcher may apply the available methods, tools, and techniques of Artificial Intelligence to Software Engineering and vice versa in a manner that good things, characteristics, and advantages of both fields are consumed, and limitations may be neglected. An intersection area between AI and SE is found during its applicability, which forms the relation between AI and SE. This article gives a short overview about these disciplines, describes some current topics against the background of common points of contact, and discusses the factors that come while communicating between AI and SE.
I. INTRODUCTION
Artificial Intelligence (AI) and Software Engineering (SE) have developed separately without much exchange of research results during the last decades. In AI, it's researched techniques for the computations that created it attainable to understand, reason, and act. Whereas Research in SE was concerned with supporting human beings to develop better software faster.
Nowadays, several research directions of each discipline are coming back together to make new research areas. Software Agents play a crucial role as research objects in Distributed AI (DAI) also as in agent-oriented software package engineering (AOSE). Knowledge-Based Systems (KBS) are being studied for Learning Software Organizations (LSO) also known as knowledge engineering. Ambient Intelligence (AmI) may be a new research space for distributed, non-intrusive, and intelligent software package systems each from the direction of the way to build these systems and as the way to form the collaboration between ambient systems. Computational Intelligence (CI) plays a pivotal role in the study concerning software evaluation or project management also as knowledge discovery in databases or machine learning. Additionally, while research is still in the early stages, preliminary studies may be showing that the advent of COVID has also increased interest in AI, as people get used to the reduced human element in all levels of society and the increased use of automation [1][31].
Furthermore, in the last five to ten years many books, journals, and conferences have focused on the intersection between AI and SE.
II. ARTIFICIAL INTELLIGENCE
Artificial intelligence is the field of computer science that aims to create intelligent machines. AI research is particularly technical and specialised, and deeply divided into subfields that usually fail to communicate with one another.
A. Aspects of Artificial Intelligence
Before discussing computer science, let’s incorporate understanding and analysing visual scenes, speaking, computing arithmetic and logic operations, having memory, interminably inferring for generalization of human intelligence. The history of Artificial Intelligence computing element is sort of a biological artificial vegetative cell - neuron. AI involves a history for much longer than is often assumed, in fields from science and philosophy locomoting all the manner back to ancient Greece [2]. AI has gone through numerous ebb and floods since its foundation in the 1950s, cited AI “summers and winters” [3]. Despite the time frame the sector has existed, there is still no commonly accepted definition [4] [5] [6].
Defining Artificial Intelligence is not considered a problem yet. However, as several scientific ideas solely get true definitions once they have matured enough, rather than their conception, and given the intricacy and breadth of AI, one cannot expect AI to possess definition, however.
Still, this doesn’t mean that the subject should ought to be unnoticed, particularly with the recent advancements in the sector [7]. However, without a transparent definition of the term, “It is difficult for policymakers to assess what AI systems will be able to do in the foreseeable future, and how the field may get there.
There is no common framework to determine which kinds of AI systems are even desirable” [4]. Related concern has been shared by Monett and Lewis (2018), that that “theories of intelligence and the goal of Artificial Intelligence have been the source of much confusion both within the field and among the general public”. Intelligence generally means “the ability to solve hard problems” [8].
Modern iteration of AI owes to Alan Mathison Turing [30] [9] and the Dartmouth conference in 1956, where the term “Artificial Intelligence” was formally coined and outlined by John McCarthy at the time as “the science and engineering of making intelligent machines.” Russel and Norvig [3] acknowledged it as the “The birth of Artificial Intelligence.” [32] Winston and Prendergast referred as “The study of computations that create it attainable to understand, reason and act”. Today, most of the AI is applied to simulate natural intelligence to untangle issues and decision-making approaches. Hendler [10] aforesaid, “Systems are good science”. AI is not solely restricted to the flexibility to recognise ideas, understand objects or to execute some complicated motor skills of humans, however it is the potential to have interaction, multi-step reasoning, to grasp that means of tongue, to design initiate artefacts, to get novel plans that deliver the goods goals, and even to answer their own reasoning [11]. This human-like acumen is usually referred to as sturdy AI [12]. With the range of opinions on what AI is, lacking agreement on standard research makes it extremely difficult for the domain to take care of healthy growth [13].
Wahlster [14] clarifies that AI has two different types of goals, one motivated by cognitive science, the other by the engineering sciences (Fig. 1).
B. AI Functions
For the needs of this systematic literature review, functions of AI as delineated by Dejoux and L´eon [17]. The broad contrast of functions is shown in Table 1.
Table 1. Functions of AI |
||
Title |
Description |
Example |
Expert Systems (ES) |
Designed to simulate the problem-solving behaviour of a human |
Dendral: Expert system used for chemical analysis to predict molecular structure. |
Machine Learning |
Automatically refines its methods and improves its results as it gets more data. |
Some of most advanced recommendation systems i.e. Google, You Tube, Spotify, etc |
Robotics |
Concerned with the generation of computer-controlled motions of physical objects in a wide variety of settings |
Service Robots |
Natural Language processing |
Designed to understand and analyse language as used by humans. NLP is the base for AI powered Speech recognition. |
Intelligent agent i.e., Apple Siri, Google Assistant, Amazon Alexa |
Machine Vision |
The analysis of images using algorithmic inspection. |
The computer vision used to help drive autonomous vehicles. |
Speech Recognition |
Can be understood as an approach that deals with the translation of spoken words into the text. |
Google Dictate uses speech recognition to convert spoken words into text |
At present, studies are demonstrating the potential opportunities of adopting AI in a substantial selection of fields, with manufacturing, digital marketing, and health sector significant educational interest [18]. In manufacturing, factories are doubtless to broadly use AI as product automation will increase and industries use AI extensively and cyber physical systems [19]. Healthcare researchers propose exploitation AI systems joined to sensors placed on humans to watch and record their health [20]. For digital marketing, Juniper Research [18] predicts that demand prognostication exploitation AI can over triple between 2019 and 2023 with chatbot interactions reaching 22 billion within the same year from current levels of 2.6 billion. Borges et al. [21] found that the strategic use of AI had not been well explored yet and created a preliminary conceptual framework to aid managers in exploring that. Karger [22] was a first attempt to investigate how block chain and AI could combine. However, these opportunities are solely out there if one will perceive what AI is.
Artificial intelligence faces several problems and limitations. The main problems of AI embody such traits as reasoning, knowledge, planning, learning, communication, perception, and ability to manoeuvre and manipulate objects. General intelligence or strong AI remains among the field's long-term goals. To date, all the traits and aspects of human intelligence have not been captured. Currently, Artificial Intelligence rather appears to target domain specific applications that do not need the total extent of AI capabilities.
III. SOFTWARE ENGINEERING (SE)
It has been noted that AI technology has tended to “become a somewhat broad church where many forms of automation and limited intelligent machines are labelled as AI” [23]. There is a gap there for researchers to give more clarity in defining AI, even if that means redefining it away from traditional human intelligence.
Artificial Intelligence is concerned about creating intelligent machines, whereas Software engineering is the activity of procedure, designing, and deploying several the foremost complicated and difficult systems groupings has ever wanted to engineer. Software engineering is the systematic and scientific approach to develop, operate, maintain and to retire the product. Though Software engineering may be a terribly disciplined and systematic approach, it has some limitations and complications. 1) It is terribly tough to simulate the human mind or behaviour with the assistance of software engineering. 2) Computer consciousness is not possible in software engineering. 3) It is not possible to unravel NP’s Complete problem quickly i.e., in polynomial time. 4) Development method models in software engineering use the sequential approach and fixed phases; this product is not flexible in nature. 5) Real time software is very difficult to engineer with the help of Software engineering. Lastly, since code is thus low cost to create thus software engineering validation methods don't seem to be of a lot of use in universe software development. Software development remains more of a craft than associate software engineering discipline owing to lack of rigor in vital processes of confirming and rising a style.
AI is fascinating for researchers from SE because it will give the initial technology and first (successful) applications furthermore as a testing atmosphere for concepts. The inclusion of analysis supports the facultative of human-enacted processes and will increase user acceptance. AI has potential to provide a base to overall SE methodology on a concrete technology, providing sufficient details for initial methodology and present reference technology clarifying the semantics of the current method. Additionally, different AI techniques naturally substituting/extending the chosen technology may be used for improved versions of the SE methodology.
A. Aspects of Software Engineering
The discipline of Software Engineering was born 1968 at the NATO conference in Garmisch-Partenkirchen, Germany [24][25]. It is the domain of adopting engineering principles that may be used for economical and effective development of high quality and principally terribly giant software products. The goal is to support software engineers and managers to develop higher code quicker with intelligent tools and methodology. In this act principles of research and synthesis ascertained. Research is the method of decomposing something into parts or modules with a mindset to understand the individual part. Methods from software engineering are developed to support the formal and unambiguous evocation of code needs from the users, to boost the usability of the systems, and to determine a binding and unambiguous definition of the ensuring system throughout and when software project definition is required. The research for Software Design & Architecture develops methods for the development, management, and analysis of depictions of abstract representations of the software system along with necessary tools and notations. Techniques to support the specialized programming of software are sophisticated to develop highly maintainable, efficient, and effective source code. Verification & Validation concerns with the design, development, and execution of tests and checks to learn defects or estimate the standard of elements of the code. Analysis for Implementation & Distribution is liable for the event of ways for the introduction at the customer’s web site, support throughout operation, and integration in existing IT infrastructure.
Software engineering can be classified into two types namely programming knowledge and domain knowledge. The traditional view of the software development process begins with requirements specification and ends at maintaining the software. At each of the stages, different kinds of knowledge are required. At each of the two stages, design and coding exist as a cycle: error recognition and debugging. Experience shows that errors can occur at any stage of development.
B. Issues with Software Engineering
A basic drawback of software engineering is the long delay between the requirements specification and the delivery of a product. This long development cycle causes requirements to change before product arrival. There is the matter of phase independence of requirements, design, and codes in the software development process. Phase independence means if we have made any decision of change at any one level of the software development process, get fixed for the next level. Thus, the coding team is forced to code whenever there is some change in the requirement of the product.
IV. FACTORS OF INTERACTION
There are some factors that are required to discuss before discussing the interaction between AI and SE, as there is an increase of interest in using AI methods, tools, and techniques in the field of SE, there is also considerable interest in the use of SE Techniques in AI. These factors are objectives, communication, problems, issues, reasons for AI can be applicable to SE and reasons for SE can’t be applicable to AI.
Understanding the level of communication between two areas of specialization is utmost important. The main objective of software engineering is to study, build and improve the good quality software so that an efficient software can be built in less time and cost. These objectives create some problems like productivity, maintenance, reliability, and reuse of software. Resembling software engineering, artificial intelligence has additional objectives and issues too.
Several researchers have carried research that specialise in resolution of the problems that end up in solution of the problem. Although this level of communication between objectives and problems is not at the number of solutions [26]. Probability of exchange of answers from one field to a different field is the main issue in interaction at solution level. Research should be problem oriented rather than solution oriented. The solution should be fit for the problem. Bridge the gap between the AI and SE at the level of solution without reference to objective leads to several misconceptions between these two fields. SE is an associate engineering discipline to develop and maintain quality software in the most optimum manner. For these numerous methodologies are required for software development and maintenance and numerous tools are developed to support these methodologies. The dealing drawback is that the one in every of the factors that is to be thought of whereas getting to perform associate interaction between AI and SE. Each field works on totally different issues. AI deals with problems for which solution methods are not well understood. As a result, researchers in AI have developed better programming tools and methodologies. SE deals with the matter to simulate human behaviour and computer consciousness which is not potential in software engineering. Mostly, process models in software engineering use the sequential approach and fixed phases therefore real time software is extremely troublesome to engineer with the assistance of software engineering. As we all know that each of these fields have totally different problems to deal with. AI deals with problems like implementing human behaviour and human emotions and intelligence within the software, whereas Software Engineering deals with the issues such as productivity, maintenance, and reliability of software. However, the issues from both fields are communicated and share information with each other.
A. Supporting Factors
AI’s methods, tools and techniques are applicable to SE. As a result, they are interdependent. For instance, (1) Automatic Programming (AP) in AI is similar to software engineering and this represents a new paradigm for SE within the future research. (2) Expert systems technology is adequately productive and mature enough to produce vital solutions to certain aspects of the SE methods. (3) AI development and maintenance environments are appropriate for direct application to the SE process. (4) AI practice and techniques may be applied to the software design process. (5) The AI fast prototyping model is helpful as a SE paradigm.
B. Factors limiting the interaction:
Moreover, SE methods and tools can not necessarily be applicable to AI because, (1) Method models in software engineering use the sequential approach and fixed phases, hence not appropriate to AI. (2) It is hard to simulate human behaviour with the assistance of software engineering. (3) Computational consciousness isn't possible with software engineering. (4) Professional systems can't be identified properly and therefore SE techniques don't apply in expert systems. (5) AI software is simple to keep up and is being developed at its own pace therefore SE is not needed. (6) AI is deeply divided into subfields that usually fail to speak with one another therefore difficult to act with SE.
The interaction between AI and SE is not one way. Software engineering is regarding constructing usable, sensible systems; the dearth of those qualities in its product is one in every of AI's biggest failings. AI purists, the cognitive feature scientists specialise in understanding human intelligence, could acknowledge no interest within the reliability of their models. However human intelligence exhibits qualities (the nature of the interest in reliability may be different within different streams of AI but the necessity for reliability is the same) that software engineers consider as vital in a helpful system. It could, therefore, benefit AI work if a transfer of SE methodologies resulted in the rise in AI system robustness and reliability.
Framework of interaction between AI and SE has four major categories of collaboration between AI and SE such as: (1) software system support environment; that encompasses work on reducing the effective quality of software system development for the software development engineer. This reduction of quality is achieved by creating the computer system to do additional work than human and supply support for the software system development process. (2) AI tools and techniques in a typical software system: The software system being developed need not to be AI software, however the support setting may equally to be with AI. The explanation to incorporate this category is that the foremost ways designed to produce over rudimentary help to the struggling developer, quickly attain the purpose wherever the data is required inside the support setting and heuristic deciding jointly becomes essential. The data required during this category is the application domain data and software system development data each generally and system specific approach. The necessity for pragmatic selections comes from a need to issue timely warnings and specific forms of help to the developer while not overwhelming and distracting him with either the inaccurate or the apparent.
The role of the second category of interaction is obvious and important. (3) Use of typical software system technology in AI systems: in this conventional software development, the world has spent a great deal of effort on finding well outlined ways to get sturdy and reliable merchandise expeditiously.
AI systems developers, though facing somewhat totally different issues, still face several identical obstacles to the assembly of quality software products. Much of the conventional wisdom accumulated in the SE world can be imported into AI software development (4) Methodological considerations: conventional SE and therefore the development of sensible AI software systems have a lot in common, however they even have some critical variations that are forcefully within the various methodologies. The main point is that they are all answered differently which depends upon whether they are contemplating a conventional software system or AI one. The different sets of answers point to different development methodologies. Hence the interest in methodological consideration issues in the overlap area. These four classes concern the way the interaction affects the software development process of both conventional SE and AI systems Interaction between SE and AI.
C. Interaction Between SE and AI
In the last decades, the disciplines of Artificial Intelligence and Software Engineering have developed on an individual basis without much collaboration of research results. However, both the fields have individual benefits and limitations. This situation opens several potentialities and ideas for research. One possibility is that the scientist applies the strategies and techniques of AI onto SE in order that benefits of each field are summed up and limitations can scale back as much as possible. While the intersections between AI and SE are currently rare, they are multiplying and growing. Initial points of contact emerged from the appliance of techniques from one discipline to the opposite [27]. Today, strategies and techniques from each discipline support the practice and analysis within several different research domains.
Systematic software development which includes Requirements Engineering (RE), source code (CE)), project management (PM), Design Engineering (DE) methodologies help to build intelligent software systems using advanced data. While Artificial Intelligence discipline uses advanced data analysis techniques (DAI) and Knowledge Acquisition (KA) techniques [28] help to build EF and intelligent ambient systems like Domain Modelling (DM) techniques support the structure of requirements for software systems and product lines. Case-Based Reasoning (CBR) is used to support the retrieval and management of data in EF. Information Agents are used in SE to simulate development processes or to distribute and explain altering requests.
It can be concluded that a robust connection exists between Artificial Intelligence and Software Engineering that offer a bigger potential for future research work. Several new applications and research fields of interest to both disciplines can be developed covering knowledge-based systems for learning software organization and the development of computational intelligence. In this paper many research fields have been identified for long term research work fascinating both the disciplines. Wider debate is needed into the Software Engineering and Artificial Intelligence interaction, especially in the long term, with some studies specifically showing that the strategic use of AI technologies for customer and employee engagement has not been well exploited yet [21][29]. A specific domain that is currently lacking in research for Artificial Intelligence; previous research has examined the fear of computers and have not accounted for new and evolving technologies.
[1] Coombs, “Will Covid-19 be the tipping point for the Intelligent Automation of work? A review of the debate and implication for research”. International Journal of Information Management, vol. 55 Article 102182. 2020 [2] D. Dennehy, “Ireland post-pandemic: Utilizing AI to kick-start economic recovery.” Cutter Business Technology Journal, vol. 33 Issue 11, pp. 22-27. 2020. [3] S. Russel & P. Norvig. “Artificial Intelligence: A Modern Approach”, 4th ed. N.J.: Prentice Hall, 2020 [4] J. F. Allen, “AI growing up: The changes and opportunities.”, AI Magazine, vol. 19 issue 4, pp. 13–23, 1998. [5] S. Bhatnagar, A. Alexandrova, S. Avin, S. Cave, L. Cheke, M. Crosby, & R. J. Hernandez- Brachman, AAAI—more than the sum of its parts, 2005 AAAI Presidential Address. In AI Magazine, 27 pp. 19–34, 2006. [6] M. A. Hearst, & H. Hirsh, “AI’s greatest trends and controversies.”, IEEE Intelligent, vol. 8-17, 2000. [7] N. J. Nilsson, “The quest for artificial intelligence: A history of ideas and achievements”, 2009. [8] M. Minsky, “The society of mind. New York: Simon and Schuster”, 1958. [9] Y. LeCun, Y. Bengio, & G. Hinton, “Deep Learning. Nature”, vol. 521, pp. 436–444, 2015. [10] J. Hendler. “Experimental AI Systems”, Journal of Experimental and Theoretical AI, vol. 7, pp. 1-5, 1995. [11] P. Langley, Artificial Intelligence AISB Quarterly, 2011. [12] R. Kurzwell, The singularity is near New York; Viking. 2005. [13] J. Hern´andez-Orallo, “The measure of all minds: Evaluating natural and artificial”, Cambridge: Cambridge University Press, 2017. [14] W. Wahlster, “Einführung in die Methoden der Künstlichen Intelligenz”, University of Saarbrücken, Germany, Lecture Notes, 2002. [15] M. M. Richter, Artificial Intelligence, University of Calgary, Canada, Lecture Notes, 2004. [16] A. Abecker, Wissensbasierte Systeme, Berufsakademie Mosbach, Lecture Notes, 2002. [17] L. Deng, & E. Leon, “Metamorphose des managers “, (1st ed.), France: Pearson, 2018. [18] “AI in retail. segment analysis, vendor positioning & market”, Juniper Research, 2018. [19] L. Wang, & X.V. Wang, “Outlook of cloud, CPS and IoT in manufacturing. Cloud-Based Cyber-Physical Systems in Manufacturing”, pp. 377–398, Cham: Springer, 2016. [20] B. Rubik & H. Jabs, “Artificial intelligence and the human biofield: New opportunities and challenges”, Cosmos and History, vol. 14(1), pp. 153-162, 2018. [21] A. F. Borges, Laurindo, F. J, M. M. Spinola, R.F. Goncalves & Mattos, C.A. ,2021. [22] E. Karger, “Combining Blockchain and Artificial Intelligence – Literature Review and State of the Art”, ICIS 2020 Proceedings, 2020. [23] Y. K. Dwivedi., L. Hughes, E. Ismagilova, G. Aarts, C. Coombs, Crick, T. Medaglia, “Artificial Intelligence (AI): Multidisciplinary perspectives on emerging challenges, opportunities, and agenda for research, practice, and policy”, International Journal of Information Management, 57, Article 101994, 2021. [24] P. Naur and B. Randell, “Software Engineering: Report of a conference”, sponsored by the NATO Science Committee, Garmisch, Germany 7-11 Oct. 1968, 1968. [25] C. L. Simons, I. C. Parmee, and P. D. Coward, “35 years on: to what extent has software engineering design achieved its goals?”, IEEE Proceedings Software, vol. 150, pp. 337-50, 2003. [26] W.T. Tsai, K.G. Heisler, D. Volovik, “A critical look at the relationship between AI and SE”, IEEE, University of Minnesota, Minneapolis, CH2636-9/88/0000/0002, 1988. [27] D. Partridge, “Artificial intelligence, and software engineering: understanding the promise of the future”, Chicago: Glenlake Pub. Co. Fitzroy Dearborn Publishers, ISBN 1-57958-062-9, 2000. [28] A. Birk, D. Surmann, and K.D. Althoff, \"Applications of knowledge acquisition in experimental software engineering,\" presented at 11th European Knowledge Acquisition Workshop (EKAW\'): Knowledge Acquisition, Modeling, and Management, Berlin, Germany, 1999. [29] D. Gursoy, O.H. Chi, L. Lu & R. Nunkoo, “Customer acceptance of artificially intelligent (AI) device use in service delivery”, International Journal of Information Management, 49, 157–169, 2019. [30] A. M. Turing, “Preparing for the future of artificial intelligence”, Computing machinery and intelligence. Mind, LIX, 433–460. U.S. National Science and Technology Council. Washington DC: Government Printing Office, 2016. [31] J.C. Sipior, “Considerations for development and use of AI in response to COVID-19”, International Journal of Information Management, 55, Article 102170, 2020. [32] P. H. Winston, Artificial intelligence, 3rd (repr. with corrections 1993) ed. Reading, Mass.: Addison Wesley, ISBN: 0-201-53377-4, 1993.
Copyright © 2022 Shyamal Prajapati, Bhagirath Prajapati, Sudhir Vegad, Gunvantsinh Gohil. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET40889
Publish Date : 2022-03-21
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here