Open Access Open Access  Restricted Access Subscription Access
Open Access Open Access Open Access  Restricted Access Restricted Access Subscription Access

Applications of Artificial Intelligence and Data Mining in Optimizing Software Engineering


Affiliations
1 VIT University, Vellore, Tamil Nadu, India
2 Department of Software Systems, VIT University, Vellore, Tamil Nadu, India
     

   Subscribe/Renew Journal


Software engineering usually deals with a huge amount of data while attempting optimization, consistent cost estimation and other activities. Software engineering uses life cycle models with a number of phases that seem most suitable for development of a particular software. These phases have goals, which when carried out effectively and efficiently, can increase the success rate of the software. This paper focuses on two main ideas which involve the use of data mining and artificial intelligence techniques in software engineering respectively. Data mining techniques such as association, classification and clustering can be used to achieve development goals more efficiently by finding hidden patterns in data. As a result, selection of the appropriate data mining technique for each phase of the life cycle model optimizes the development process. Artificial Intelligence techniques like fuzzy logic, genetic algorithms, neural networks, knowledge bases and machine learning are being increasingly used to improve software development procedures and their functionality. Since a software evolves by exposure to varied environments and expertise of developers, there is a huge scope for applying artificial intelligence techniques to software development and engineering.

Keywords

Software Engineering, Data Mining, Fuzzy Logic, Genetic Algorithms, Artificial Neural Networks.
Subscription Login to verify subscription
User
Notifications
Font Size


  • M. M. Ahamed, “Current research topic In software engineering,” 2013.
  • F. Meziane, “Artificial intelligence applications for improved software engineering development: New prospects,” IGI Global, 2009.
  • M. Harman, “The role of artificial intelligence in software engineering,” In Proceedings of the First International Workshop on Realizing AI Synergies in Software Engineering, pp. 1-6, 2012.
  • M. P. S. Bhatia, A. Kumar, and R. Beniwal, “Ontologies for software engineering: Past, present and future,” Indian Journal of Science and Technology, vol. 9, no. 9, pp. 1-16, 2016.
  • T. Xie, J. Pei, and A. E. Hassan, “Mining software engineering data,” IEEE Computer Society in Companion to the proceedings of the 29th International Conference on Software Engineering, pp. 172-173, 2007.
  • Q. Taylor, C. Giraud-Carrier, and C. D. Knutson, “Applications of data mining in software engineering,” International Journal of Data Analysis Techniques and Strategies, vol. 2, no. 3, pp. 243-257, 2010.
  • A. E. Hassan, and T. Xie, “Software intelligence: The future of mining software engineering data,” In Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, pp. 161-166, 2010.
  • H. R. Rezende, and A. A. A. Esmin, “Proposed application of data mining techniques for clustering software projects,” INFOCOMP Journal of Computer Science, vol. 9, no. 6, pp. 43-48, 2010.
  • W. Husain, P. V. Low, L. K. Ng, and Z. L. Ong, “Application of data mining techniques for improving software engineering,” In ICIT 2011 the 5th International Conference on Information Technology, 2011.
  • S. Lujn-Mora, and J. Trujillo, “A data warehouse engineering process,” In International Conference on Advances in Information Systems, Springer Berlin Heidelberg, pp. 14-23, 2004.
  • D. Santani, M. Bundele, and P. Rijwani, “Artificial neural networks for software effort estimation: A review,” International Journal of Advances in Engineering Sciences and Technology, vol. 3, no. 3, pp. 193-200, 2014.
  • B. K. Sinha, A. Sinhal, and B. Verma, “A software measurement using artificial neural network and support vector machine,” International Journal of Software Engineering Applications, vol. 4, no. 4, pp. 41, 2013.
  • V. Sangeetha, and T. Ramasundaram, T., “Application of genetic algorithms in software testing techniques,” International Journal of Advanced Research in Computer and Communication Engineering, vol. 5, no. 10, pp. 2278-1021, October, 2016.
  • A.Sharma, P. Rishon, and A. Aggarwal, “Software testing using genetic algorithms,” International Journal of Computer Science and Engineering Survey, vol. 7, no. 2, pp. 21-33, 2016.
  • J. T. Alander, and T. Mantere, “Automatic software testing by genetic algorithm optimization: A case study,” In Proceedings of the 1st International Workshop on Soft Computing Applied to Software Engineering, pp. 1-9, April, 1999.
  • Ziauddin, S. Kamal, S. Khan, and J. A. Nasir, “A fuzzy logic based software cost estimation model,” International Journal of Software Engineering and its Applications, Vol. 7, No. 2, pp. 7-18, March, 2013.
  • F. Marcelloni, and M. Aksit, “Applying fuzzy logic techniques in object-oriented software development,” In European Conference on Object-Oriented Programming, Springer Berlin Heidelberg, pp. 295-298, June, 1997.
  • A. K.Shradhanand, and D. S. Jain, “Use of fuzzy logic in software development,” Issues in Information Systems, vol. 8, no. 2, pp. 238-244, 2007.
  • N. Sram, “Practical application of fuzzy logic from software engineering point of view,” Obuda University e-Bulletin, vol. 2, no. 1, pp. 285-291, 2011.
  • D. Zhang, “Applying machine learning algorithms in software development,” In The Proceedings of 2000 Monterey Workshop on Modeling Software System Structures, pp. 275-285, June, 2000.
  • P. Runeson, M. Alexandersson, and O. Nyholm, “Detection of duplicate defect reports using natural language processing,” In Proceedings of the 29th International Conference on Software Engineering, pp. 499-510, 2007.

Abstract Views: 364

PDF Views: 1




  • Applications of Artificial Intelligence and Data Mining in Optimizing Software Engineering

Abstract Views: 364  |  PDF Views: 1

Authors

Upamanyu Chakravarty
VIT University, Vellore, Tamil Nadu, India
Rajit Pimpale
VIT University, Vellore, Tamil Nadu, India
Raghav Sharma
VIT University, Vellore, Tamil Nadu, India
L. Ramanathan
Department of Software Systems, VIT University, Vellore, Tamil Nadu, India

Abstract


Software engineering usually deals with a huge amount of data while attempting optimization, consistent cost estimation and other activities. Software engineering uses life cycle models with a number of phases that seem most suitable for development of a particular software. These phases have goals, which when carried out effectively and efficiently, can increase the success rate of the software. This paper focuses on two main ideas which involve the use of data mining and artificial intelligence techniques in software engineering respectively. Data mining techniques such as association, classification and clustering can be used to achieve development goals more efficiently by finding hidden patterns in data. As a result, selection of the appropriate data mining technique for each phase of the life cycle model optimizes the development process. Artificial Intelligence techniques like fuzzy logic, genetic algorithms, neural networks, knowledge bases and machine learning are being increasingly used to improve software development procedures and their functionality. Since a software evolves by exposure to varied environments and expertise of developers, there is a huge scope for applying artificial intelligence techniques to software development and engineering.

Keywords


Software Engineering, Data Mining, Fuzzy Logic, Genetic Algorithms, Artificial Neural Networks.

References