Human Resource Optimization for Bug Fixing: Balancing Short-Term and Long-Term Objectives

  • Elias Khalil
  • Mustafa Assaf
  • Abdel Salam Sayyad
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10452)


In software development projects, bugs are usually accumulated and technical debt gets bigger over time. Managers decide to reduce the technical debt by planning one or more iterations for bug fixing. The time required to fix a bug depends on the required skill and the resource skill level. Managers seek to achieve fixing the highest number of bugs during the iteration while at the same time fixing the highest possible number of high severity and high priority bugs. In this study, we optimize the human resource assignment to achieve the objectives above, using multi-objective evolutionary algorithms, and then we add a fourth objective, i.e. that the bugs left out of the iteration should require the least time to finish. We show that the additional objective can be optimized without the detriment of other objectives. The lesson is that complicating the multi-objective problem formulation can help with the overall quality of the solutions.


Human resource allocation Software project planning Agile development Search-based software engineering 


  1. 1.
    Anvik, J.: Automating bug report assignment. In: Proceeding of ICSE, pp. 937–940 (2006)Google Scholar
  2. 2.
    Basili, V., Briand, L., Condon, S., Kim, Y.M., Melo, W.L., Valett, J.D.: Understanding and predicting the process of software maintenance release. In: Proceeding ICSE, pp. 464–474 (1996)Google Scholar
  3. 3.
    Bibi, N., Ahsan, A., Anwar, Z.: Project resource allocation optimization using search based software engineering a framework. In: Proceeding of ICDIM, pp. 226–229 (2014)Google Scholar
  4. 4.
    Chen, W.N., Zhang, J.: Ant colony optimization for software project scheduling and staffing with an event-based scheduler. IEEE TSE 39(1), 1–17 (2013)Google Scholar
  5. 5.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE TEC 6(2), 182–197 (2002)Google Scholar
  6. 6.
    Durillo, J.J., Nebro, A.J.: jmetal: A java framework for multi-objective optimization. Adv. Eng. Softw. 42(10), 760–771 (2011)CrossRefGoogle Scholar
  7. 7.
    Kang, D., Jung, J., Bae, D.H.: Constraint-based human resource allocation in software projects. S: Pract. Experience 41(5), 551–577 (2011)Google Scholar
  8. 8.
    Sayyad, A.S., Ammar, H.: Pareto-optimal search-based software engineering (POSBSE): a literature survey. In: Proceeding of RAISE, pp. 21–27 (2013)Google Scholar
  9. 9.
    Sayyad, A.S., Menzies, T., Ammar, H.: On the value of user preferences in search-based software engineering: a case study in software product lines. In: Proceding of ICSE, pp. 492–501 (2013)Google Scholar
  10. 10.
    Tassey, G.: The economic impacts of inadequate infrastructure for software testing. NIST, RTI Project 7007(011) (2002)Google Scholar
  11. 11.
    Zhang, F., Khomh, F., Zou, Y., Hassan, A.E.: An empirical study on factors impacting bug fixing time. In: Proceeding of WCRE, pp. 225–234 (2012)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Elias Khalil
    • 1
  • Mustafa Assaf
    • 1
  • Abdel Salam Sayyad
    • 1
  1. 1.Master Program in Software EngineeringBirzeit UniversityRamallahPalestine

Personalised recommendations