Skip to main content

A Survey on Program Analysis and Transformation

  • Conference paper
  • First Online:
Computational Statistics and Mathematical Modeling Methods in Intelligent Systems (CoMeSySo 2019 2019)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 1047))

Included in the following conference series:

  • 583 Accesses

Abstract

Program transformation is a process in which an input program is transformed into another program that achieves a specific goal. Such transformation is done by applying a sequence of transformation rules on the input program to generate another program as the output. Such transformations can be done manually with human intervention (software developer) or automatically by a transformation program applying a transformation algorithm. Automating this process has been of an interest to a myriad of researchers in the past years. Several researches were done to automatically find good transformation sequences to achieve different transformation goals including program optimization and test case generation. The most popular techniques used are search-based meta-heuristic algorithms including genetic algorithm. In this paper, we will survey previous works that used genetic algorithm to achieve optimization goals under the umbrella of program transformation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Fatiregun, D., et al.: Evolving transformation sequences using genetic algorithms. In: Fourth IEEE International Workshop on Source Code Analysis and Manipulation, 8 June 2009. https://doi.org/10.1109/scam.2004.11

  2. Srivastava, P.R., Kim, T.: Application of genetic algorithm in software testing. Int. J. Softw. Eng. Appl. 3(4), 87–96 (2009)

    Google Scholar 

  3. Sharma, A., et al.: Software testing using genetic algorithms. Int. J. Comput. Sci. Eng. Surv. 7(2), 21–33 (2016). https://doi.org/10.5121/ijcses.2016.7203

    Article  Google Scholar 

  4. El-Mihoub, T.A., et al.: Hybrid genetic algorithms: a review. Eng. Lett. 13, 124–137 (2006)

    Google Scholar 

  5. Pandian, S., Modrák, V.: Possibilities, obstacles and challenges of genetic algorithm in manufacturing cell formation. Adv. Logistic Syst. 3, 63–70 (2009)

    Google Scholar 

  6. Kudjo, P.K., Ocquaye, E., Ametepe, W.: Review of genetic algorithm and application in software testing. Int. J. Comput. Appl. 160(2), 1–6 (2017). https://doi.org/10.5120/ijca2017912965

    Article  Google Scholar 

  7. Goyal, S., et al.: Software test case optimization using genetic algorithm. Int. J. Sci. Eng. Sci. 1(12), 69–73 (2018)

    Google Scholar 

  8. Rajkumari, R., Geetha, B.G.: Automated test data generation and optimization scheme using genetic algorithm. In: International Conference on Software and Computer Applications, vol. 9, pp. 52–56 (2011)

    Google Scholar 

  9. Cooper, K.D., et al.: Optimizing for reduced code space using genetic algorithms. In: Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded Systems - LCTES 99 (1999). https://doi.org/10.1145/314403.314414

  10. Baxter, I.D.: Transformation systems: domain-oriented component and implementation knowledge. In: Proceedings of the Ninth Workshop on Institutionalizing Software Reuse, Austin, TX, USA, January 1999

    Google Scholar 

  11. Bennett, K.H.: Do program transformations help reverse engineering? In: IEEE International Conference on Software Maintenance (ICSM 1998), Bethesda, Maryland, USA, pp. 247–254. IEEE Computer Society Press, Los Alamitos, November 1998

    Google Scholar 

  12. Darlington, J., Burstall, R.M.: A transformation system for developing recursive programs. J. ACM 24(1), 44–67 (1977)

    Article  MathSciNet  Google Scholar 

  13. Harman, M., Fox, C., Hierons, R.M., Hu, L., Danicic, S., Wegener, J.: Vada: a transformation-based system for variable dependence analysis. In: IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2002), Montreal, Canada, pp. 55–64. IEEE Computer Society Press, Los Alamitos (2002)

    Google Scholar 

  14. Harman, M., Hu, L., Hierons, R., Baresel, A., Sthamer, H.: Improving evolutionary testing by flag removal. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2002, pp. 1359–1366. Morgan Kaufmann Publishers, New York, 9–13 July 2002

    Google Scholar 

  15. Somerville, I.: Software Engineering, 7th edn. Addison-Wesley, Boston

    Google Scholar 

  16. Mathur, A.P.: Foundation of Software Testing, 1st edn. Pearson Education, London (2008)

    Google Scholar 

  17. Alander, J.T., Mantere, T., Turunen, P.: Genetic Algorithm Based Software Testing (1997). http://citeseer.ist.psu.edu/40769.html

  18. Mansour, N., Salame, M.: Data generation for path testing. Softw. Qual. J. 12, 121–136 (2004)

    Article  Google Scholar 

  19. Srivastava, P.R., et al.: Generation of test data using Meta heuristic approach. In: IEEE TENCON, 19–21 November 2008. India available in IEEEXPLORE

    Google Scholar 

  20. Wegener, J., Baresel, A., Sthamer, H.: Suitability of evolutionary algorithms for evolutionary testing. In: Proceedings of the 26th Annual International Computer Software and Applications Conference, Oxford, England, 26–29 August 2002

    Google Scholar 

  21. Berndt, D.J., Watkins, A.: Investigating the performance of genetic algorithm-based software test case generation. In: Proceedings of the Eighth IEEE International Symposium on High Assurance Systems Engineering (HASE 2004), pp. 261–262. University of South Florida, 25–26 March 2004

    Google Scholar 

  22. Korel, B.: Automated software test data generation. IEEE Trans. Softw. Eng. 16(8), 870–879 (1990)

    Article  Google Scholar 

  23. Jones, B.F., Sthamer, H.-H., Eyres, D.E.: Automatic structural testing using genetic algorithms. Softw. Eng. J. 11, 299–306 (1996)

    Article  Google Scholar 

  24. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques and Tools. Addison Wesley, Boston (1986)

    Google Scholar 

  25. Visser, E., Benaissa, Z., Tolmach, A.: Building program optimizers with rewriting strategies. In: Proceedings of the International Conference on Functional Programming (ICFP 1998), Baltimore, USA, September 1998

    Google Scholar 

  26. Ward, M.: Reverse engineering through formal transformation. Comput. J. 37(5), 795–813 (1994)

    Google Scholar 

  27. Cooper, M.K.D., Schielke, P.J., Subramanian, D.: Optimising for reduced code space using genetic algorithms. In: Proceedings of the 1999 Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES), May 1999 (1994)

    Google Scholar 

  28. Ward, M.P.: Assembler to C migration using the FermaT transformation system. In: IEEE International Conference on Software Maintenance (ICSM 1999), Oxford, UK, August 1999. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  29. Ryan, C.: Automatic Re-engineering of Software Using Genetic Programming. Kluwer Academic Publishers, Dordrecht (2000)

    Chapter  Google Scholar 

  30. Goldberg, D.E.: Genetic Algorithms: in Search, Optimization & Machine Learning. Addison Wesley, Boston (1989)

    MATH  Google Scholar 

  31. Berndt, D.J., Fisher, J., Johnson, L., Pinglikar, J., Watkins, A.: Breeding software test cases with genetic algorithms. In: Proceedings of the Thirty-Sixth Hawaii International Conference on System Sciences (HICSS-36), Hawaii, January 2003

    Google Scholar 

  32. Last, M., Eyal1, S., Kandel, A.: Effective black-box testing with genetic algorithms. In: IBM Conference (2005)

    Google Scholar 

  33. Lin, J.C., Yeh, P.L.: Using genetic algorithms for test case generation in path testing. In: Proceedings of the 9th Asian Test Symposium (ATS 2000), Taipei, Taiwan, 4–6 December 2000

    Google Scholar 

  34. Baresel, A., Sthamer, H., Schmidt, M.: Fitness function design to improve evolutionary structural testing. In: Proceedings of the Genetic and Evolutionary Computation Conference (2002)

    Google Scholar 

  35. Rajappa, V., Biradar, A., Panda, S.: Efficient software test case generation using genetic algorithm based graph theory. In: First International Conference on Emerging Trends in Engineering and Technology, ICETET 2008, pp. 298–303 (2008)

    Google Scholar 

  36. Holland, J.: Adaptation in Natural and Artificial Systems: The University of Michigan (1975)

    Google Scholar 

  37. De Jong, K.: An analysis of the behavior of a class of genetic adaptive systems. Doctoral dissertation. The University of Michigan, Ann Arbor (1975)

    Google Scholar 

  38. Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, Boston (1989)

    Google Scholar 

  39. Girgis, M.R.: Automatic test data generation for data flow testing, using a genetic algorithm. J. Univ. Comput. Sci. 11(6), 898–915 (2005)

    Google Scholar 

  40. Last, M., Eyal, S., Kandel, A.: Effective black-box testing with genetic algorithms. Department of Computer Science and Engineering, Ben-Gurion University of the Negev, BeerSheva, Israel (2005)

    Google Scholar 

  41. Beasley, D., Bull, D.R., Martin, R.R.: An overview of genetic algorithms: part 1, fundamentals. Univ. Comput. 15, 58–69 (1993)

    Google Scholar 

  42. Itkonen, J., Mantyla, M.V., Lassenius, C.: How do testers do it? An exploratory study on manual testing practices. In: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 494–497 (2009)

    Google Scholar 

  43. Miller, C.M.: Automated testing system, ed: Google Patents (1995)

    Google Scholar 

  44. Michael, C.C., McGraw, G.E., Schatz, M.A., Walton, C.C.: Genetic algorithms for dynamic test data generation. In: Proceedings of 12th IEEE International Conference Automated Software Engineering, pp. 307–308 (1997)

    Google Scholar 

  45. Goldberg, D.E.: Optimal initial population size for binary-coded genetic algorithms: clearinghouse for genetic algorithms, Department of Engineering Mechanics, University of Alabama (1985)

    Google Scholar 

  46. Reeves, C.R.: Using genetic algorithms with small populations. In: ICGA, p. 92 (1993)

    Google Scholar 

  47. Ahn, C.W., Ramakrishna, R.S.: A genetic algorithm for shortest path routing problem and the sizing of populations. IEEE Trans. Evol. Comput. 6, 566–579 (2002)

    Article  Google Scholar 

  48. Horn, J., Nafpliotis, N., Goldberg, D.E.: A niched Pareto genetic algorithm for multiobjective optimization. In: Proceedings of the First IEEE Conference on Evolutionary Computation, IEEE World Congress on Computational Intelligence, pp. 82–87 (1994)

    Google Scholar 

  49. Berndt, D.J., Watkins, A.: Investigating the performance of genetic algorithm-based software test case generation. In: Proceedings of Eighth IEEE International Symposium on High Assurance Systems Engineering, pp. 261–262 (2004)

    Google Scholar 

  50. Kosindrdecha, N., Daengdej, J.: A test case generation process and technique. J. Softw. Eng. 4, 265–287 (2010)

    Article  Google Scholar 

  51. Last, M., et al.: Effective black-box testing with genetic algorithms. LNCS, pp. 134–148. Springer, Heidelberg (2006)

    Google Scholar 

  52. Giuseppe, A., et al.: Testing web –applications: the state of art and future trends. Inf. Softw. Technol. 48, 1172–1186 (2006)

    Google Scholar 

  53. Michael, C.C., McGraw, G.E., Schatz, M.A., Walton, C.C.: Genetic algorithms for dynamic test data generation. In: Proceedings of the 1997 International Conference on Automated Software Engineering (ASE 1997) (formerly: KBSE) 0-8186-7961-1/97 © 1997 IEEE

    Google Scholar 

  54. Asoh, H., Mühlenbein, H.: On the mean convergence time of evolutionary algorithms without selection and mutation. In: Davidor, Y., Schwefel, H.-P., Manner, R. (eds.) Parallel Problem Solving from Nature, PPSN III, pp. 88–97. Springer, Berlin (1994)

    Chapter  Google Scholar 

  55. Thierens, D., Goldberg, D., Guimaraes, P.: Domino convergence, drift, and the temporal-salience structure of problems. In: 1998 IEEE International Conference on Evolutionary Computation Anchorage, pp. 535–540. IEEE (1998)

    Google Scholar 

  56. Mahfoud, S.W.: Boltzmann selection. In: Handbook of Evolutionary Computation, Back, T., Fogel, D.B., Michalewicz, Z. (eds.) pp. C2.5:1-4. IOP Publishing Ltd and Oxford University Press (1997)

    Google Scholar 

  57. Reeves, C.: Genetic algorithms and neighbourhood search. In: Fogarty, T.C. (ed.) Evolutionary Computing, AISB Workshop, vol. 865. LNCS, pp. 115–130. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  58. Hart, W.E.: Adaptive global optimization with local search. Doctoral dissertation. University of California, San Diego (1994)

    Google Scholar 

  59. Lobo, F.G., Goldberg, D.E.: Decision making in a hybrid genetic algorithm. In: IEEE International Conference on evolutionary Computation, pp. 122–125. IEEE Press, Piscataway (1997)

    Google Scholar 

  60. De Jong, K.: Genetic algorithms: a 30 year perspective. In: Booker, L., Forrest, S., Mitchell, M., Riolo, R. (eds.) Perspectives on Adaptation in Natural and Artificial Systems. Oxford University Press, Oxford (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ahmed Maghawry .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Maghawry, A., Kholief, M., Omar, Y., Hodhod, R. (2019). A Survey on Program Analysis and Transformation. In: Silhavy, R., Silhavy, P., Prokopova, Z. (eds) Computational Statistics and Mathematical Modeling Methods in Intelligent Systems. CoMeSySo 2019 2019. Advances in Intelligent Systems and Computing, vol 1047. Springer, Cham. https://doi.org/10.1007/978-3-030-31362-3_12

Download citation

Publish with us

Policies and ethics