Search Metodologies in Software Engineering

Major: Software Engineering
Code of subject: 7.121.01.E.025
Credits: 5.00
Department: Software
Lecturer: Professor Roman Bazylevych
Semester: 2 семестр
Mode of study: денна
Learning outcomes: РНС2.4. Be able to apply methods of linear and nonlinear programming, discrete optimization, metaheuristics, memetics, living creatures behavior and others during the entire software lifecycle.
Required prior and related subjects: Prerequisites: Software Reliability Theory Corequisites: Master’s Thesis Preparation and Defence
Summary of the subject: Fundamentals of optimization methods. Optimization criteria. Optimization methods for organizing computing when solving problems of software engineering. The state-of-art and modern trends in software development and testing. Decomposition, aggregation and macromodelling. Multilevel decomposition. Polynomial and non-polynomial problem statement. Polynomial problems. Non-deterministic algorithms. Non-polynomial problems. NP-complete problems. Approaches to overcoming difficulties in solving high-dimensional non-polynomial problems: multilevel decomposition, hierarchical clustering. Methods and algorithms of linear and non-linear programming and discrete optimization: greedy algorithms, branch-and-bound, nearest neighbor, simulated annealing, evolutionary, neural network, immune, swarm intelligence, memetic, hybrid. Methods of assessing software development cost (COCOMO1, COCOMO2, neural network, fuzzy logic, functional point, swarm intelligence). Using optimization methods during the software requirement specification, software design, software development, software testing and software maintenance phases.
Assessment methods and criteria: Current control: 50% (presentation – 15%, laboratory works – 30% (5 labs 6% each), active participation in discussions on classes 5%) Exam: 50% (written part 40%, spoken part 10%)
Recommended books: 1. Harman M., Mansouri, S.A., Zhang, Y. Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys 45(1), 11, 2012, pp.11:1-61. 2. Harman M. The Current State and Future of Search Based Software Engineering. FOSE '07 2007 Future of Software Engineering. Pp. 342-357. IEEE Computer Society Washington, DC, doi>10.1109/FOSE.2007.29. www0.cs.ucl.ac.uk/staff/mharman/icse07.ps. 3. Hifza Afaq, and Sanjay Saini. Swarm Intelligence based Soft Computing Techniques for the Solutions to Multiobjective Optimization Problems. IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 2, May 2011. www.IJCSI.org 498 . 4. Mark Harman and Afshin Mansouri. Search Based Software Engineering: Introduction to the Special Issue of the IEEE Transactions on Software Engineering. IEEE transactions on software engineering, vol. 36, no. 6, november/december 2010. 5. Mark Harman. 2013. Software engineering: an ideal set of challenges for evolutionary computation. In Proceedings of the 15th annual conference companion on Genetic and evolutionary computation (GECCO '13 Companion), Christian Blum (Ed.). ACM, New York, NY, USA, 1759-1760. DOI: https://doi.org/10.1145/2464576.2480770. 6. McMinn. Search-Based Software Testing Past, Present and Future. 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops. 7. Changhai Nie, Huayao Wu, Yalan Liang, Hareton Leung, Fei-Ching Kuo, Zheng Li, "Search Based Combinatorial Testing", Software Engineering Conference (APSEC) 2012 19th Asia-Pacific, vol. 1, pp. 778-783, 2012. View Article Full Text: PDF (205KB) Google Scholar. 8. 2. Bogdan Marculescu, Robert Feldt, Richard Torkar, "Practitioner-Oriented Visualization in an Interactive Search-Based Software Test Creation Tool", Software Engineering Conference (APSEC) 2013 20th Asia-Pacific, vol. 2, pp. 87-92, 2013. 9. Christian Blum and Andrea Roli. 2003. Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Comput. Surv. 35, 3 (September 2003), 268-308. DOI: https://doi.org/10.1145/937503.937505. 10. Edmund K. Burke and Graham Kendall. 2013. Search Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques (2nd ed.). Springer Publishing Company, Incorporated. 11. Bazylevych R., Bazylevych*** L., Wrzesien*** M. A set of nets planarization for electronic devices’ physical design automation // Комп’ютерні науки та інформа-ційні технології : матеріали XV Міжнародної науково-технічної конференції CSIT-2020 (Збараж, 23–26 вересня 2020 р.). – 2020. – C. 192–195. 0,18 ум.д.ар. (За іншою тематикою) (SciVerse SCOPUS). 12. Bazylevych R., Czarnul*** P., Franko** A. Unit test generation in a cluster using parallel computations and contro flow graph analysis // Комп’ютерні науки та інфо-рмаційні технології : матеріали XV Міжнародної науково-технічної конферен-ції CSIT-2020 (Збараж, 23–26 вересня 2020 р.). – 2020. – C. 407–410. 0,4 ум.д.ар. [н.к. – Базилевич Р.П.] (SciVerse SCOPUS).