A Survey on Computational Intelligence Applications in Software Engineering and its Data

  • Narendar Reddy K CVR College of Engineering, Department of CSE, Hyderabad, India
  • Kiran Kumar Jogu IBM India Software Lab, Hyderabad, India.

Abstract

Ubiquitous software has become an indispensable technology for science, engineering, and business. Software is everywhere, as a standalone system, or part of a new technology, or as a service in the cloud. Hence it has paramount importance. As size and complexity of software systems are increasing, software engineering problems such as software effort estimation, software testing, software defect prediction,  software project scheduling, software reliability maximization, software module clustering, and software maintenance have become more difficult to handle. In order to reduce the high cost of performing software engineering activities and to increase software quality and reliability, computational intelligence techniques are being used for problem solving using research oriented approaches and for decision-support. Computational intelligence has been used in different fields for a long time. There has been a recent surge in interest in the application of computational intelligence techniques in software engineering. Search based software engineering and machine learning for software engineering are the areas of computational intelligence research which have been showing promising results in this context. Search based software engineering reformulates software engineering problems as optimisation problems, and then using optimisation algorithms problems are solved. Software engineering produces lot of data related to software, like effort estimates, source code, test cases, data on bugs and fixes, version data, and metrics data. As part of analytics on software data, machine learning techniques are used to solve some software engineering problems and for effective decision making. The objective of this survey paper is to identify software engineering problems and applications of computational intelligence techniques to solve those problems. In survey, computational intelligence applications for solving different software engineering problems are identified and presented. In this paper, some research questions which indicate research directions and some possible research topics are presented. New research issues and challenges posed by the hard problems in software engineering could stimulate further development of new theories and algorithms in computational intelligence.

Published
2019-08-09