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.
Similar content being viewed by others
References
Automated support for requirements negotiation, 17 March 1994
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
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
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
Bagnall A, Rayward-Smith V, Whittley I (2001) The next release problem. IEEE Proc Softw 43(14):883–890
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
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
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
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
Briand LC, Feng J, Labiche Y (2002) Using genetic algorithms and coupling measures to devise optimal integration test orders. In: SEKE, pp 43–50
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
Burgess CJ, Lefley M (2001) Can genetic programming improve software effort estimation? A comparative evaluation. Inf Softw Technol 43(14):863–873
Carlshamre P (2002) Release planning in market-driven software product development: provoking an understanding. Requir Eng 7(3):139–151
Coello Coello CA (2006) Evolutionary multiobjective optimization: a historical view of the field. IEEE Comput Intell Mag 1(1):28–36
Coello Coello CA, Van Veldhuizen DA, Lamont GB (2002) Evolutionary algorithms for solving multi-objective problems. Kluwer, New York
Collette Y, Siarry P (2004) Multiobjective optimization: principles and case studies. Springer, Berlin
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
Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, Chichester
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
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
Dolado JJ (2000) A validation of the component-based method for software size estimation. IEEE Trans Softw Eng 26(10):1006–1021
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
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
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
Fleming PJ, Purshouse RC, Lygoe RJ (2005) Many-objective optimization: an engineering design perspective. Lect Notes Comput Sci 3410:14–32
Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Reading
Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253
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
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
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
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
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
Karlsson J (1996) Software requirements prioritizing. In: ICRE, pp 110–116
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
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)
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
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
Li Z, Harman M, Hierons R (2008) Meta-heuristic search algorithms for regression test case prioritization. IEEE Trans Softw Eng (to appear)
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
Mitchell BS, Mancoridis S (2006) On the automatic modularization of software systems using the bunch tool. IEEE Trans Softw Eng 32(3):193–208
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
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
Osyczka A (1985) In: Multicriteria optimization for engineering design. Design Optimization, pp 193–227
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
Robinson WN, Volkov V (1999) Requirement conflict restructuring, August 25, 1999
Ruhe G, Saliu MO (2005) The art and science of software release planning. IEEE Softw 22(6):47–53
Ryan K, Karlsson J (1997) Prioritizing software requirements in an industrial setting. In: ICSE, pp 564–565
Saliu MO, Ruhe G (2005) Software release planning for evolving systems. ISSE 1(2):189–204
Saliu MO, Ruhe G (2007) Bi-objective release planning for evolving software systems. In: Proceedings of ESEC/SIGSOFT FSE 2007
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
Srinivas N, Deb K (1994) Multiobjective optimization using nondominated sorting in genetic algorithms. Evol Comput 2(3):221–248, Fall
Szidarovsky F, Gershon ME, Dukstein L (1986) Techniques for multiobjective decision making in systems management. Elsevier, New York
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-009-0075-y