Advertisement

Application of Genetic Algorithms in Software Engineering: A Systematic Literature Review

  • Pablo F. Ordoñez-OrdoñezEmail author
  • Milton Quizhpe
  • Oscar M. Cumbicus-Pineda
  • Valeria Herrera Salazar
  • Roberth Figueroa-Diaz
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 895)

Abstract

Software engineering was born from the need to establish an adequate and efficient methodology for the development of the software, not using appropriate methods in the software produces a large number of errors, today on Software has evolved drastically and is considered as a discipline that has its own principles and requirements to obtain more structured solutions with planning, development and culmination. The genetic algorithms present an alternative to solve problems of optimization in the software engineering, therefore in this work a systematic literature review (SLR) of the application and technologies was carried out of the genetic algorithms in it. The results are presented based on 127 initial documents which, after passing through a review protocol, were reduced to 20 chords to the research topic, where it was indicated that the greatest application is in the tests of software.

Keywords

Optimization Software engineering Genetic algorithms Genetic programming Evolutionary algorithms 

References

  1. 1.
    IEEE Xplore Digital Library. https://ieeexplore.ieee.org/Xplore/home.jsp
  2. 2.
    ACM: The ACM Digital Library. https://www.acm.org/
  3. 3.
    Afzal, U., Mahmood, T., Rauf, I., Shaikh, Z.A.: Minimizing feature model inconsistencies in software product lines. In: Proceedings of the 17th IEEE International Multi-Topic Conference Collaborative and Sustainable Development of Technologies, IEEE INMIC 2014, pp. 137–142 (2015).  https://doi.org/10.1109/INMIC.2014.7097326
  4. 4.
    Algabri, M., Saeed, F., Mathkour, H., Tagoug, N.: Optimization of soft cost estimation using genetic algorithm for NASA software projects. In: 2015 5th National Symposium on Information Technology: Towards New Smart World, pp. 1–4 (2015).  https://doi.org/10.1109/NSITNSW.2015.7176416, http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=7176416
  5. 5.
    Ali, S., Iqbal, M.Z., Arcuri, A.: Improved heuristics for solving OCL constraints using search algorithms. In: 16th Genetic and Evolutionary Computation Conference, GECCO 2014, pp. 1231–1238 (2014).  https://doi.org/10.1145/2576768.2598308
  6. 6.
    Alzabidi, M., Kumar, A.: Automatic software structural testing by using evolutionary algorithms for test data generations. J. Comput. Sci. 9(4), 390–395 (2009). http://paper.ijcsns.org/07_book/200904/20090453.pdf
  7. 7.
    Baccichetti, F., Bordin, F., Carlassare, F.: \(\lambda \)-Prophage induction byfurocoumarin photosensitization. Experientia 35(2), 183–184 (1979).  https://doi.org/10.1007/BF01920603. http://www.gbv.de/dms/ilmenau/toc/01600020X.PDFCrossRefGoogle Scholar
  8. 8.
    Bhasin, H.: Cost-priority cognizant regression testing. ACM SIGSOFT Softw. Eng. Notes 39(3), 1–7 (2014).  https://doi.org/10.1145/2597716.2597722CrossRefGoogle Scholar
  9. 9.
    Briciu, C.V., Filip, I., Indries, I.I.: Methods for cost estimation in software project management. In: IOP Conference Series: Materials Science and Engineering, vol. 106, no. 1 (2016).  https://doi.org/10.1088/1757-899X/106/1/012008, http://www.scopus.com/inward/record.url?eid=2-s2.0-84960154391&partnerID=tZOtx3y1CrossRefGoogle Scholar
  10. 10.
    Chawla, P., Chana, I., Rana, A.: A novel strategy for automatic test data generation using soft computing technique. Front. Comput. Sci. 9(3), 346–363 (2015).  https://doi.org/10.1007/s11704-014-3496-9. http://www.scopus.com/inward/record.url?eid=2-s2.0-84938208965&partnerID=40&md5=6b7065f7903d0a046c17613f79b6ecd1CrossRefGoogle Scholar
  11. 11.
    Elsevier B.V.: Scopus. https://www.scopus.com/home.uri
  12. 12.
    Ghiduk, A.S.: Automatic generation of basis test paths using variable length genetic algorithm. Inf. Process. Lett. 114(6), 304–316 (2014).  https://doi.org/10.1016/j.ipl.2014.01.009MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Hsinyi, J.: Can the genetic algorithm be a good tool for software engineering searching problems? In: Proceedings of the International Conference on Computer Software and Applications, vol. 2, pp. 362–364 (2006).  https://doi.org/10.1109/COMPSAC.2006.123
  14. 14.
    Jena, A.K., Swain, S.K., Mohapatra, D.P.: A novel approach for test case generation from UML activity diagram. In: 2014 International Conference on Issues Challenges in Intelligent Computing Techniques, pp. 621–629 (2014).  https://doi.org/10.1109/ICICICT.2014.6781352, http://www.scopus.com/inward/record.url?eid=2-s2.0-84899098078&partnerID=tZOtx3y1
  15. 15.
    Jeya Mala, D., Sabari Nathan, K., Balamurugan, S.: Critical components testing using hybrid genetic algorithm. ACM SIGSOFT Softw. Eng. Notes 38(5), 1 (2013).  https://doi.org/10.1145/2507288.2507309. http://dl.acm.org/citation.cfm?doid=2507288.2507309CrossRefGoogle Scholar
  16. 16.
    Kitchenham, B.: Procedures for performing systematic reviews. Keele University, Keele, UK 33(TR/SE-0401), 28 (2004).  https://doi.org/10.1109/METRIC.2004.1357885
  17. 17.
    Kitchenham, B., et al.: Systematic literature reviews in software engineering: a tertiary study. Inf. Softw. Technol. 52(8), 792–805 (2010).  https://doi.org/10.1016/j.infsof.2010.03.006CrossRefGoogle Scholar
  18. 18.
    Li, Z.Y.: Predicting project effort intelligently in early stages by applying genetic algorithms with neural networks. Appl. Mech. Mater. 513–517, 2035–2040 (2014).  https://doi.org/10.4028/www.scientific.net/AMM.513-517.2035CrossRefGoogle Scholar
  19. 19.
    Mahajan, S., Joshi, S.D., Khanaa, V.: Component-based software system test case prioritization with genetic algorithm decoding technique using Java platform. In: 2015 International Conference on Computing Communication Control and Automation, pp. 847–851 (2015).  https://doi.org/10.1109/ICCUBEA.2015.169, http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=7155967
  20. 20.
    Malhotra, R., Tiwari, D.: Development of a framework for test case prioritization using genetic algorithm. ACM SIGSOFT Softw. Eng. Notes 38(3), 1 (2013).  https://doi.org/10.1145/2464526.2464536. http://dl.acm.org/citation.cfm?doid=2464526.2464536CrossRefGoogle Scholar
  21. 21.
    Nesmachnow, S.: Efficient parallel evolutionary algorithms for deadline-constrained scheduling in project management. Int. J. Innov. Comput. Appl. 7(1), 34–49 (2016).  https://doi.org/10.1504/IJICA.2016.075468CrossRefGoogle Scholar
  22. 22.
    Pino, F., García, F., Piattini, M.: Revisión sistemática de mejora de procesos software en micro, pequeñas y medianas empresas. Rev. Espa nola Innovación Calid. e Ing. del Softw. REICIS 2(1), 6–23 (2006). http://redalyc.uaemex.mx/pdf/922/92220103.pdfGoogle Scholar
  23. 23.
    RRAAE: Red de Repositorio de Acceso Abierto del Ecuador. http://www.rraae.org.ec/
  24. 24.
    Salami, H.O., Ahmed, M.: Retrieving sequence diagrams using genetic algorithm, pp. 324–330. IEEE Computer Society (2014).  https://doi.org/10.1109/JCSSE.2014.6841889
  25. 25.
    Saxena, V., Arora, D., Mishra, N.: UML modeling of load optimization for distributed computer systems based on genetic algorithm. SIGSOFT Softw. Eng. Notes 38(1), 1–7 (2013).  https://doi.org/10.1145/2413038.2413043CrossRefGoogle Scholar
  26. 26.
    Shamshiri, S., Rojas, J.M., Fraser, G., Mcminn, P., Court, R.: Random or genetic algorithm search for object-oriented test suite generation? In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, pp. 1367–1374 (2015).  https://doi.org/10.1145/2739480.2754696, http://dl.acm.org/citation.cfm?id=2754696
  27. 27.
    Sharma, C., Sabharwal, S., Sibal, R.: A survey on software testing techniques using genetic algorithm. Int. J. Comput. Sci. Issues 10(1), 381–393 (2013). https://arxiv.org/ftp/arxiv/papers/1411/1411.1154.pdfGoogle Scholar
  28. 28.
    Shuai, B., Li, M., Li, H., Zhang, Q., Tang, C.: Software vulnerability detection using genetic algorithm and dynamic taint analysis. In: 2013 Proceedings of the 3rd International Conference on Consumer Electronics, Communications and Networks, CECNet 2013, pp. 589–593 (2013).  https://doi.org/10.1109/CECNet.2013.6703400, http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6703400
  29. 29.
    Sommerville, I.: Software engineering (2010).  https://doi.org/10.1111/j.1365-2362.2005.01463.xCrossRefGoogle Scholar
  30. 30.
    Suresh, Y.: Software quality assurance for object-oriented systems using meta-heuristic search techniques, pp. 441–448 (2015)Google Scholar
  31. 31.
    Vodithala, S.: A dynamic approach for retrieval of software components using genetic algorithm. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7339085
  32. 32.
    Wang, S., Ali, S., Gotlieb, A.: Minimizing test suites in software product lines using weight-based genetic algorithms. In: Proceeding of the Fifteenth Annual Conference on Genetic and Evolutionary Computation, pp. 1493–1500 (2013).  https://doi.org/10.1145/2463372.2463545
  33. 33.
    Wang, X., Jiang, X., Shi, H.: Prioritization of test scenarios using hybrid genetic algorithm based on UML activity diagram, pp. 854–857. IEEE Computer Society, November 2015.  https://doi.org/10.1109/ICSESS.2015.7339189

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Facultad de Energía, CISUniversidad Nacional de LojaLojaEcuador
  2. 2.ETSI Sistemas InformáticosUniversidad Politécnica de MadridMadridSpain
  3. 3.Departamento de Ciencias de la Computación e Inteligencia ArtificialUniversidad del País VascoLeioaSpain

Personalised recommendations