Skip to main content

Advertisement

Log in

A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making

  • RE'08 Special Issue
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

This paper uses a multi-objective optimisation approach to support investigation of the trade-offs in various notions of fairness between multiple customers. Results are presented to validate the approach using two real-world data sets and also using data sets created specifically to stress test the approach. Simple graphical techniques are used to visualize the solution space. The paper also reports on experiments to determine the most suitable algorithm for this problem, comparing the results of the NSGA-II algorithms, a widely used multi objective evolutionary algorithm, and the Two-Archive evolutionary algorithm, a recently proposed alternative.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Automated support for requirements negotiation, 17 March 1994

  2. Aguilar-Ruiz J, Ramos I, Riquelme JC, Toro M (2001) An evolutionary approach to estimating software development projects. Inf Softw Technol 43(14):875–882

    Article  Google Scholar 

  3. Antoniol G, Di Penta M, Harman M (2004) A robust search-based approach to project management in the presence of abandonment, rework, error and uncertainty. In: 10th international software metrics symposium (METRICS 2004), Los Alamitos, California, USA. IEEE Computer Society Press, Los Alamitos, pp 172–183

  4. Antoniol G, Penta MD, Harman M (2005) Search-based techniques applied to optimization of project planning for a massive maintenance project. In: 21st IEEE international conference on software maintenance, Los Alamitos, California, USA. IEEE Computer Society Press, Los Alamitos, pp 240–249

  5. Bagnall A, Rayward-Smith V, Whittley I (2001) The next release problem. IEEE Proc Softw 43(14):883–890

    Google Scholar 

  6. Baker P, Harman M, Steinhöfel K, Skaliotis A (2006) Search based approaches to component selection and prioritization for the next release problem. In: 22nd international conference on software maintenance (ICSM 06), Philadelphia, Pennsylvania, USA, pp 176–185

  7. Baresel A, Binkley DW, Harman M, Korel B (2004) Evolutionary testing in the presence of loop-assigned flags: a testability transformation approach. In: International symposium on software testing and analysis (ISSTA 2004), Omni Parker House Hotel, Boston, Massachusetts. Software Engineering Notes, vol 29, No. 4, pp 108–118

  8. Baresel A, Sthamer H, Schmidt M (2002) Fitness function design to improve evolutionary structural testing. In: GECCO 2002: proceedings of the genetic and evolutionary computation conference, San Francisco, CA 94104, USA. Morgan Kaufmann Publishers, San Francisco, pp 1329–1336

  9. Bottaci L (2002) Instrumenting programs with flag variables for test data search by genetic algorithms. In: GECCO 2002: proceedings of the genetic and evolutionary computation conference, New York. Morgan Kaufmann Publishers, New York, pp 1337–1342

  10. Briand LC, Feng J, Labiche Y (2002) Using genetic algorithms and coupling measures to devise optimal integration test orders. In: SEKE, pp 43–50

  11. Briand LC, Labiche Y, Shousha M (2005) Stress testing real-time systems with genetic algorithms. In: H-G Beyer, U-M O’Reilly (eds) Genetic and evolutionary computation conference, GECCO 2005, Proceedings, Washington DC, USA, June 25–29, 2005. ACM Press, New York, pp 1021–1028

  12. Burgess CJ, Lefley M (2001) Can genetic programming improve software effort estimation? A comparative evaluation. Inf Softw Technol 43(14):863–873

    Article  Google Scholar 

  13. Carlshamre P (2002) Release planning in market-driven software product development: provoking an understanding. Requir Eng 7(3):139–151

    Article  Google Scholar 

  14. Coello Coello CA (2006) Evolutionary multiobjective optimization: a historical view of the field. IEEE Comput Intell Mag 1(1):28–36

    Article  MathSciNet  Google Scholar 

  15. Coello Coello CA, Van Veldhuizen DA, Lamont GB (2002) Evolutionary algorithms for solving multi-objective problems. Kluwer, New York

    MATH  Google Scholar 

  16. Collette Y, Siarry P (2004) Multiobjective optimization: principles and case studies. Springer, Berlin

  17. Corne D, Knowles J (2007) Techniques for highly multiobjective optimisation: some nondominated points are better than others. In: GECCO’07: proceedings of genetic and evolutionary computation conference, pp 773–780

  18. Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, Chichester

    MATH  Google Scholar 

  19. Deb K, Kumar A (2007) Interactive evolutionary multi-objective optimization and decision-making using reference direction method. In: GECCO’07: proceedings of genetic and evolutionary computation conference, pp 781–788

  20. Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA–II. IEEE Trans Evol Comput 6(2):182–197

    Article  Google Scholar 

  21. Dolado JJ (2000) A validation of the component-based method for software size estimation. IEEE Trans Softw Eng 26(10):1006–1021

    Article  Google Scholar 

  22. Easterbrook S, Chechik M (2001) A framework for multi-valued reasoning over inconsistent viewpoints. In: Proceedings of 23rd international conference on software engineering, May 2001. IEEE Computer Society Press, Oakland, pp 411–420

  23. Easterbrook S, Finkelstein A, Kramer J, Nuseibeh B (1994) Co-ordinating distributed ViewPoints: the anatomy of a consistency check. Technical Report 333, School of Cognitive and Computing Sciences, University of Sussex, UK

  24. Finkelstein A, Harman M, Mansouri SA, Ren J, Zhang Y (2008) "Fairness analysis" in requirements assignments. In: Proceedings of the 16th IEEE international requirements engineering conference (RE ’08), Barcelona, Catalunya, Spain, 8–12 September

  25. Fleming PJ, Purshouse RC, Lygoe RJ (2005) Many-objective optimization: an engineering design perspective. Lect Notes Comput Sci 3410:14–32

    Article  Google Scholar 

  26. Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Reading

    MATH  Google Scholar 

  27. Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253

    Article  Google Scholar 

  28. Harman M (2007) The Current State and Future of Search Based Software Engineering. In: 29th international conference on software engineering (ICSE 2007), Future of Software Engineering (FoSE), Minneapolis, USA, May 20–26

  29. Harman M, Hierons R, Proctor M (2002) A new representation and crossover operator for search-based optimization of software modularization. In: GECCO 2002: proceedings of the genetic and evolutionary computation conference, San Francisco, CA 94104, USA, 9–13 July 2002. Morgan Kaufmann Publishers, San Francisco, pp 1351–1358

  30. Horn J, Nafpliotis N (1993) Multiobjective optimization using the niched pareto genetic algorithm. Technical Report IllIGAL 93005, Illinois Genetic Algorithms Laboratory, University of Illinois, Urbana, IL

  31. In H, Boehm B, Rodgers T, Deutsch M (2001) Applying winwin to quality requirements: a case study. In: Proceedings of the 23rd international conference on software engineering, May 2001. IEEE Computer Society Press, Oakland, pp 555–564

  32. In H, Olson D, Rodgers T (2001) A requirements negotiation model based on multi-criteria analysis. In: RE. IEEE Computer Society Press, Oakland, pp 312–313

  33. Karlsson J (1996) Software requirements prioritizing. In: ICRE, pp 110–116

  34. Karlsson J, Ryan K (1996) Supporting the selection of software requirements. In: IWSSD ’96: proceedings of the 8th international workshop on software specification and design, Washington, DC, USA, 1996. IEEE Computer Society, Washington, p 146

  35. Karlsson L, Regnell B, Thelin T (2006) Case studies in process improvement through retrospective analysis of release planning decisions. Int J Softw Eng Knowl Eng 16(6)

  36. Kirsopp C, Shepperd M, Hart J (2002) Search heuristics, case-based reasoning and software project effort prediction. In: GECCO 2002: proceedings of the genetic and evolutionary computation conference, San Francisco, CA 94104, USA, 9–13 July 2002. Morgan Kaufmann Publishers, San Francisco, pp 1367–1374

  37. Knowles JD, Corne DW, Oates MJ (2000) The pareto-envelope based selection algorithm for multiobjective optimization. In: Proceedings of the sixth international conference on parallel problem solving from nature (PPSN VI), Berlin, September 2000. Springer, Berlin, pp 839–848

  38. Li Z, Harman M, Hierons R (2008) Meta-heuristic search algorithms for regression test case prioritization. IEEE Trans Softw Eng (to appear)

  39. Mitchell BS, Mancoridis S (2002) Using heuristic search techniques to extract design abstractions from source code. In: GECCO 2002: proceedings of the genetic and evolutionary computation conference, San Francisco, CA 94104, USA, 9–13 July 2002. Morgan Kaufmann Publishers, San Francisco, pp 1375–1382

  40. Mitchell BS, Mancoridis S (2006) On the automatic modularization of software systems using the bunch tool. IEEE Trans Softw Eng 32(3):193–208

    Article  Google Scholar 

  41. Nuseibeh B, Kramer J, Finkelstein A (1994) A framework for expressing the relationships between multiple views in requirements specifications. IEEE Trans Softw Eng 20(10):760–773

    Article  Google Scholar 

  42. O’Keeffe M, O’Cinneide M (2006) Search-based software maintenance. In: Conference on software maintenance and reengineering (CSMR’06), March 2006, pp 249–260

  43. Osyczka A (1985) In: Multicriteria optimization for engineering design. Design Optimization, pp 193–227

  44. Praditwong K, Yao X (2006) A new multi-objective evolutionary optimisation algorithm: the two-archive algorithm. In: Proceedings of the 2006 international conference on computational intelligence and security (CIS’2006). IEEE Press, NJ, pp 286–291

  45. Robinson WN, Volkov V (1999) Requirement conflict restructuring, August 25, 1999

  46. Ruhe G, Saliu MO (2005) The art and science of software release planning. IEEE Softw 22(6):47–53

    Article  Google Scholar 

  47. Ryan K, Karlsson J (1997) Prioritizing software requirements in an industrial setting. In: ICSE, pp 564–565

  48. Saliu MO, Ruhe G (2005) Software release planning for evolving systems. ISSE 1(2):189–204

    Google Scholar 

  49. Saliu MO, Ruhe G (2007) Bi-objective release planning for evolving software systems. In: Proceedings of ESEC/SIGSOFT FSE 2007

  50. Seng O, Bauer M, Biehl M, Pache G (2005) Search-based improvement of subsystem decompositions. In: H-G Beyer, O’Reilly U-M (eds) Genetic and evolutionary computation conference, GECCO 2005, Proceedings, Washington DC, USA, June 25–29, 2005. ACM Press, New York, pp 1045–1051

  51. Srinivas N, Deb K (1994) Multiobjective optimization using nondominated sorting in genetic algorithms. Evol Comput 2(3):221–248, Fall

    Article  Google Scholar 

  52. Szidarovsky F, Gershon ME, Dukstein L (1986) Techniques for multiobjective decision making in systems management. Elsevier, New York

    Google Scholar 

  53. van den Akker M, Brinkkemper S, Diepen G, Versendaal J (2008) Software product release planning through optimization and what-if analysis. Inf Softw Technol 50(1–2):101–111

    Google Scholar 

  54. Wegener J, Baresel A, Sthamer H (2001) Evolutionary test environment for automatic structural testing. Information and Software Technology Special Issue on Software Engineering using Metaheuristic Innovative Algorithms 43(14):841–854

    Google Scholar 

  55. Zhang Y, Finkelstein A, Harman M. Search based requirements optimisation: existing work and challenges. In: Proceedings of the 14th international working conference, requirements engineering: foundation for software quality (REFSQ ’08), vol 5025 of LNCS, Montpellier, France, 16–17 June 2008. Springer, Berlin, pp 88–94

  56. Zhang Y, Harman M, Mansouri SA (2007) The multi-objective next release problem. In: GECCO’07: proceedings of the genetic and evolutionary computation conference, ACM Press, pp 1129–1136

  57. Zitzler E, Laumanns M, Thiele L (2001) SPEA2: Improving the strength pareto evolutionary algorithm. Technical Report 103, Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology (ETH) Zurich, Gloriastrasse 35, CH-8092 Zurich, Switzerland, May 2001

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anthony Finkelstein.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Finkelstein, A., Harman, M., Mansouri, S.A. et al. A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making. Requirements Eng 14, 231–245 (2009). https://doi.org/10.1007/s00766-009-0075-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-009-0075-y

Keywords

Navigation