Guidelines to Improve Software Engineering Process Using Artificial Intelligence Techniques

Hema Shankari*, R. Thirumalai Selvi**
Assistant Professor, Department of Computer Science, Women's Christian College, Chennai.
Assistant Professor, Department of Computer Science, Govt. Arts College (Men) (Autonomous), Chennai.
Periodicity:April - June'2014
DOI : https://doi.org/10.26634/jse.8.4.3050

Abstract

Software Engineering and Artificial Intelligence are the two important fields of the Computer Science. Artificial Intelligence is about making machines intelligent, while Software Engineering is knowledge intensive activity, requiring extensive knowledge of the application domain and to target on software itself. This study intends to review the techniques developed in artificial intelligence from the standpoint of their application in software engineering. The goal of this paper is to give some guidelines to use the artificial intelligence techniques that can be applied in solving problems associated with software engineering processes. This paper also find out the exact AI technique is likely to be fruitful for particular software development process.

Keywords

Software Engineering, Artificial Intelligence Techniques, Software Development Process.

How to Cite this Article?

Shankari,H.K., and Thirumalaiselvi.R. (2014). Guidelines to Improve Software Engineering Process Using Artificial Intelligence Techniques. i-manager’s Journal on Software Engineering, 8(4),33-43. https://doi.org/10.26634/jse.8.4.3050

References

[1]. Jyoti tewari, Swati Arya, Prem Narayan Singh (2013). “Approach of Intelligent Software Agents in Future Development”, IJARCSSE, ISSN:2277128X, May 2013.
[2]. H. H. Ammar, W. Abdelmoez, and M. S. Hamdi, (2012). "Software Engineering Using Artificial Intelligence Techniques: Current State and Open Problems", Proceedings of the First Taibah University International Conference on Computing and Information Technology (ICCIT 2012), Al-Madinah Al-Munawwarah, Saudi Arabia, 12-14 March 2012.
[3]. Mark Harman (2011). “The Role of Artificial Intelligence in Software Engineering” ACM computing surveys, 2011.
[4]. Prince Jain (2011). “Interaction between Software Engineering and Artificial Intelligence-A Review ”- International Journal on Computer Science and Engineering (IJCSE), ISSN: 0975-3397, Vol. 3 No.12, December 2011.
[5]. Dr. Nachamai. M, Senthil Vadivu and Tapaskar (2011). “Enacted Software Development Process Based on Agent methodologies”, IJEST, Vol.3, No.11, November 2011.
[6]. Farid Meziane, Sunil Vadera, (2010). “Artificial Intelligence Applications for Improved Software Engineering Development: New Prospects” DOI: 10.4018/978-1-60566-758-4.ch014.
[7]. Farah Naaz Raza (2009). “Artificial Intelligence Techniques in Software Engineering, International multiconference of Engineers and Computer Scientists 2009 – IMECS, ISBN 978-988.17012-2-0 Vol. 1 2009.
[8]. Parveen Ranjan Srivastava, and Tai-Hoon Kim (2009). Application of Genetic Algorithm in Software Testing, International Journal of Software Engineering and its Applications. Vol. 3, No.4, October 2009.
[9]. Hooshyar, B., Tahmani, A., & Shenasa, M. (2008). A Genetic Algorithm to Time-Cost Trade off in project scheduling. Proceedings of the IEEE World Congress on Computational Intelligence, Hong Kong, pp. 3081-3086.
[10]. Yang, Y., Xia, F., Zhang, W., Xiao, X., Li, Y., & Li, X. (2008). Towards Semantic Requirement Engineering. IEEE International Workshop on Semantic Computing and Systems (pp. 67-71).
[11]. Zhen-Yu, Z., Wei-Yang, Y., & Qian-Lei, L. (2008). Applications of Fuzzy Critical Chain Method in Project Scheduling. In Proceedings of the Fourth International Conference on Natural Computation (pp. 473-477), Jinan, China.
[12]. Bertolino, A. (2007). Software Testing Research: Achievements, Challenges, Dreams. In Proceedings of the IEEE International Conference on Software Engineering (pp. 85-103), Minneapolis, MN.
[13]. Kobbacy, K. A., Vadera, S., & Rasmy, M. H. (2007). AI and OR in management of operations: history and trends. The Journal of the Operational Research Society, 58, 10–28. doi:10.1057/palgrave.jors.2602132.
[14]. Nand, S., Kaur, A., Jain S. (2007). Use of Fuzzy Logic in Software Development. Issues in Information Systems. Volume VIII, No. 2, pp. 238-244.
[15]. Hu, Y., Chen, J., Rong, Z., Mei, L., & Xie, K. (2006). A Neural Networks Approach for Software Risk Analysis. In Proceedings of the Sixth IEEE International Conference on Data Mining Workshops (pp. 722-725), Hong Kong.
[16]. Wappler, S., & Wegener, J. (2006). Evolutionary unit testing of object-oriented software using strongly-typed genetic programming. In Proceedings of the Eighth Annual Conference on Genetic and Evolutionary Computation (pp. 1925-1932).
[17]. Yujia, G., & Chang, C. (2006). Capability-based Project Scheduling with Genetic Algorithms. In Proceedings of the International Conference on Intelligent Agents, Web Technologies and Internet Commerce (pp. 161-161).
[18]. Briand, L. C., Labiche, Y., & Shousha, M. (2005). Stress testing real-time systems with genetic algorithms. In Proceedings of the Conference on Genetic and Evolutionary Computation (pp. 1021- 1028).
[19]. Baresel, A., Binkley, D., Harman, M., & Korel, B. (2004). Evolutionary testing in the presence of loopassigned flags: a testability transformation approach. In Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis (pp. 108- 118).
[20]. Gupta, M., Bastani, F., Khan, L., & Yen, I.-L. (2004). Automated test data generation using MEA-graph planning. In Proceedings of the Sixteenth IEEE Conference on Tools with Artificial Intelligence (pp. 174- 182).
[21]. Wallace, L., & Keil, M. (2004). Software project risks and their effect on outcomes. Communications of the ACM, Vol. 47(4), 68–73. doi:10.1145/975817.975819.
[22]. Baudry, B., Fleurey, F., Jezequel, J.-M., & Le Traon, Y. (2002a). Automatic test case optimization using a bacteriological adaptation model: application to. NET components. In Proceedings of the Seventeenth IEEE International Conference on Automated Software Engineering (pp.253-256).
[23]. Baudry, B., Fleurey, F., Jezequel, J. M., & Le Traon, Y. (2002b). Genes and Bacteria for Automatic Test Cases Optimization in the. Net Environment. In Proceedings of the Thirteenth International Symposium on Software Reliability Engineering (ISSRE'02), 195- 206).
[24]. Briand, L. C., Feng, J., & Labiche, Y. (2002). Using genetic algorithms and coupling measures to devise optimal integration test orders. In Proceedings of the Fourteenth International Conference on Software Engineering and knowledge Engineering (pp. 43-50).
[25]. Hindi, K. S., Hongbo, Y., & Fleszar, K. (2002). An evolutionary algorithm for resource-constrained project scheduling. IEEE Transactions on Evolutionar y Computation, 6(5), 512–518.
[26]. Jonathan Onowakpo Goddey Ebbah “Deploying Artificial Intelligence Techniques In Software Engineering, American Journal of Undergraduate Research, March 2002.
[27]. Neumann, D. (2002). An Enhanced Neural Network Technique for Software Risk Analysis. IEEE Transactions on Software Engineering, 28(9), 904–912. doi:10.1109/ TSE.2002.1033229.
[28]. Shan, Y., McKay, R. I., Lokan, C. J., & Essam, D.L. (2002). Software project effort estimation using genetic programming. In Proceedings of the IEEE International Conference on Communications, Circuits and Systems (pp. 1108-1112), Arizona. Washington DC: IEEE Computer Society.
[29] Thwin, M. M. T., & Quah, T.-S. (2002). Application of neural network for predicting software development faults using object-oriented design metrics. In Proceedings of the Ninth International Conference on Neural Information Processing (pp.2312-2316).
[30]. Mark Harman, Bryan F. Jones, (2001). 'Search Based Software Engineering”, ACM Computing Surveys, Elsevier science, 2001.
[31]. T. Menzies, “Practical machine learning for software engineering and knowledge engineering,” in Handbook of Software Engineering and Knowledge Engineering. World-Scientific, December 2001.
[32]. C. Mair, G. Kadoda, M. Lefley, K. Phalp, C. Schofield, M. Shepperd, and S. Webster, “An investigation of machine learning based prediction systems,” The Journal of Systems and Software, Vol. 53, No. 1, pp.23-29, Jul. 2000.
[33]. Meziane, F., Vadera, S., Kobbacy, K., & Proudlove, N. (2000). Intelligent Systems in Manufacturing: Current Developments and Future Prospects. The International Journal of Manufacturing Technology Management, Vol. 11(4), pp.218-238.
[34]. C. Ryan (2000). Automatic re-engineering of software using genetic programming. Kluwer Academic Publishers, 2000.
[35]. Ian Sommerville, (2000). Software Engineering (6th Edn.) (Addison Wesley Publishers, New York, USA) 2000.
[36]. Memon, A. M., Pollack, M. E., & Soffa, M. L. (1999). Using a Goal Driven Approach to Generate Test Cases for GUIs. In Proceedings of the Twenty-first International Conference on Software Engineering (pp. 257-266).
[37]. J. Karlsson and K. Ryan, (1997). “A cost- value approach for prioritizing requirements,” IEEE Software, Vol. 14, No. 5, pp. 67–74, September/October 1997.
[38]. Khoshgoftaar, T. M., & Lanning, D. L. (1995). A Neural Network Approach for Early Detection of Program Modules Having High Risk in the Maintenance Phase. Journal of Systems and Software, Vol. 29, pp.85–91. doi:10.1016/0164-1212(94)00130-F.
[39]. Cheng, R., & Gen, M. (1994). Evolution program for resource constrained project scheduling problem. In Proceedings of the 1st First IEEE Conference on Evolutionary Computation, s(pp. 736-741), Orlando, FL, USA.
[40]. Stuart Russell and Peter Norvig, (1994). Artificial Intelligence: A Modern Approach (Prentice Hall Publishers, Upper Saddle River, New Jersey, USA) 1994.
[41]. DeMillo, R.A., Offutt, A.J. (1991). Constraint- based automatic test data generation. IEEE Transactions on Software Engineering, Vol. 17 (9), pp.900–910
[42]. Boardman, J. T., & Marshall, G. (1990). A knowledgebased architecture for project planning and control. In Proceedings of the UK Conference on IT, (pp. 125-132), Southampton, UK.
[43]. Seth Hock, (1989). Computers and Computing. Houghton Mifflin College Publishers, Boston, Massachusetts, USA, 1989.
[44]. Bering, C. A., & Crawford, M. W. (1988). Using an expert system to test a logistics information system. In Proceedings of the IEEE National Aerospace and Electronics Conference (pp.1363-1368), Dayton, OH. Washington DC: IEEE Computer Society.
[45]. M.L. Emrich, A. Robert Sadlowe, and F. Lloyd Arrowood (1988). Expert Systems and Advanced Data Processing. Proceedings of the conference on Expert Systems Technology the ADP Environment, (Elsevier-North Holland, New York, USA) 1988.
[46]. Roger S. Pressman (1988). A Beginner's Guide. McGraw Hill Higher Education Publishers, New York, 1988.
[47]. Booch, G. (1986). Object-Oriented Development. IEEE Transactions on Software Engineering, Vol. 12(2), pp. 211–221
[48]. Sathi, A., Fox, M. S., & Greenberg, M. (1985). Representation of Activity Knowledge for Project Management. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-7(5), pp.531–552. doi:10.1109/TPAMI.1985.4767701.
[49]. Wright, J. M., Fox, M. S., & Adam, D. (1984). SRL/2 User Manual. Robotic Institute, Carnegie- Mellon University, Pittsburgh, PA.
[50]. Siemens, N. (1971). A Simple CPM Time-Cost Tradeoff Algorithm. Management Science, Vol. 17(6), 354–363. doi:10.1287/mnsc.17.6.B354.
If you have access to this article please login to view the article or kindly login to purchase the article

Purchase Instant Access

Single Article

North Americas,UK,
Middle East,Europe
India Rest of world
USD EUR INR USD-ROW
Pdf 35 35 200 20
Online 35 35 200 15
Pdf & Online 35 35 400 25

Options for accessing this content:
  • If you would like institutional access to this content, please recommend the title to your librarian.
    Library Recommendation Form
  • If you already have i-manager's user account: Login above and proceed to purchase the article.
  • New Users: Please register, then proceed to purchase the article.