Search-based techniques applied to optimization of project planning for a massive maintenance project

This paper evaluates the use of three different search-based techniques, namely genetic algorithms, hill climbing and simulated annealing, and two problem representations, for planning resource allocation in large massive maintenance projects. In particular, the search-based approach aims to find an optimal or near optimal order in which to allocate work packages to programming teams, in order to minimize the project duration. The approach is validated by an empirical study of a large, commercial Y2K massive maintenance project, which compares these techniques with each other and with a random search (to provide base line comparison data). Results show that an ordering-based genome encoding (with tailored cross over operator) and the genetic algorithm appear to provide the most robust solution, though the hill climbing approach also performs well. The best search technique results reduce the project duration by as much as 50%.

[1]  Tarek K. Abdel-Hamid,et al.  The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach , 1989, IEEE Trans. Software Eng..

[2]  D. E. Goldberg,et al.  Optimization and Machine Learning , 2022 .

[3]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

[4]  Julian F. Miller,et al.  Genetic and Evolutionary Computation — GECCO 2003 , 2003, Lecture Notes in Computer Science.

[5]  Mark Harman,et al.  Seminal software engineering using metaheuristic innovative algorithms , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[6]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[7]  Edward G. Coffman,et al.  Approximation Algorithms for Extensible Bin Packing , 2001, SODA '01.

[8]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[9]  Mark Harman,et al.  Evolutionary testing in the presence of loop-assigned flags: a testability transformation approach , 2004, ISSTA '04.

[10]  Martin J. Shepperd,et al.  Search Heuristics, Case-based Reasoning And Software Project Effort Prediction , 2002, GECCO.

[11]  Dr. Zbigniew Michalewicz,et al.  How to Solve It: Modern Heuristics , 2004 .

[12]  Giuliano Antoniol,et al.  Assessing staffing needs for a software maintenance project through queuing simulation , 2004, IEEE Transactions on Software Engineering.

[13]  Mark Harman,et al.  Testability transformation , 2004, IEEE Transactions on Software Engineering.

[14]  John A. Clark,et al.  Formulating software engineering as a search problem , 2003, IEE Proc. Softw..

[15]  Giuliano Antoniol,et al.  A robust search-based approach to project management in the presence of abandonment, rework, error and uncertainty , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[16]  Michael Randolph Garey,et al.  Approximation algorithms for bin-packing , 1984 .

[17]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

[18]  Mark Harman,et al.  A New Representation And Crossover Operator For Search-based Optimization Of Software Modularization , 2002, GECCO.

[19]  Emanuel Falkenauer,et al.  Genetic Algorithms and Grouping Problems , 1998 .

[20]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[21]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[22]  Giuliano Antoniol,et al.  Modeling Web Maintenance Centers through Queue Models , 2001, CSMR.

[23]  Mark Harman,et al.  10 th International Software Metrics Symposium (METRICS 2004) , 2004 .

[24]  Lawrence Davis,et al.  Job Shop Scheduling with Genetic Algorithms , 1985, ICGA.

[25]  José Javier Dolado,et al.  A Validation of the Component-Based Method for Software Size Estimation , 2000, IEEE Trans. Software Eng..

[26]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[27]  Claes Wohlin,et al.  An evaluation of methods for prioritizing software requirements , 1998, Inf. Softw. Technol..

[28]  Eugene C. Lynd Living with the 2-digit year-Year 2000 maintenance using a procedural solution , 1997, 1997 Proceedings International Conference on Software Maintenance.

[29]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[30]  Spiros Mancoridis,et al.  Using Heuristic Search Techniques To Extract Design Abstractions From Source Code , 2002, GECCO.