Human Values in Software Release Planning

Software products have become an integral part of human lives, and therefore need to account for human values such as privacy, fairness, and equality. Ignoring human values in software development leads to biases and violations of human values: racial biases in recidivism assessment and facial recognition software are well-known examples of such issues. One of the most critical steps in software development is Software Release Planning (SRP), where decisions are made about the presence or absence of the requirements (features) in the software. Such decisions are primarily guided by the economic value of the requirements, ignoring their impacts on a broader range of human values. That may result in ignoring (selecting) requirements that positively (negatively) impact human values, increasing the risk of value breaches in the software. To address this, we have proposed an Integer Programming approach to considering human values in software release planning. In this regard, an Integer Linear Programming (ILP) model has been proposed, that explicitly accounts for human values in finding an “optimal” subset of the requirements. The ILP model exploits the algebraic structure of fuzzy graphs to capture dependencies and conflicts among the values of the requirements.

[1]  Michael P. Wellman Formulation of tradeoffs in planning under uncertainty , 1988 .

[2]  Max Tegmark,et al.  The role of artificial intelligence in achieving the Sustainable Development Goals , 2019, Nature Communications.

[3]  Lei Wu,et al.  A New Optimization Model for the Sustainable Development: Quadratic Knapsack Problem with Conflict Graphs , 2017 .

[4]  David M. W. Powers,et al.  Dependency-aware software release planning through mining user preferences , 2017, Soft Computing.

[5]  Waqar Hussain,et al.  Operationalizing human values in software: a research roadmap , 2018, ESEC/SIGSOFT FSE.

[6]  Moshood Omolade Saliu,et al.  Measuring dependency constraint satisfaction in software release planning using dissimilarity of fuzzy graphs , 2005, Fourth IEEE Conference on Cognitive Informatics, 2005. (ICCI 2005)..

[7]  Vasant Honavar,et al.  Algorithmic Bias in Recidivism Prediction: A Causal Perspective , 2019, AAAI.

[8]  David M. W. Powers,et al.  An Integer Linear Programming Model for Binary Knapsack Problem with Dependent Item Values , 2017, Australasian Conference on Artificial Intelligence.

[9]  Johan de Kleer,et al.  A Qualitative Physics Based on Confluences , 1984, Artif. Intell..

[10]  S. Schwartz,et al.  Toward A Universal Psychological Structure of Human Values , 1987 .

[11]  Davoud Mougouei,et al.  Dependency-aware release planning for software projects using fuzzy graphs and integer programming , 2019, J. Intell. Fuzzy Syst..

[12]  Luis-Felipe Rodríguez,et al.  Toward integrating cognitive components with computational models of emotion using software design patterns , 2021, Cognitive Systems Research.

[13]  Yunfeng Zhang,et al.  Think Your Artificial Intelligence Software Is Fair? Think Again , 2019, IEEE Software.

[14]  David M. W. Powers,et al.  Modeling and Selection of Interdependent Software Requirements Using Fuzzy Graphs , 2017, Int. J. Fuzzy Syst..

[15]  Davoud Mougouei,et al.  Engineering Human Values in Software through Value Programming , 2020, ICSE.

[16]  Robert L. Nord,et al.  Optimization of Software Release Planning Considering Architectural Dependencies, Cost, and Value , 2020 .

[17]  Davoud Mougouei,et al.  Dependency-Aware Software Requirements Selection using Fuzzy Graphs and Integer Programming , 2020, Expert Syst. Appl..

[18]  David M. W. Powers,et al.  Dependency-Aware Software Release Planning , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[19]  Junjie Wang,et al.  A Simulation Approach for Impact Analysis of Requirement Volatility Considering Dependency Change , 2012, REFSQ.

[20]  Andrew Kusiak,et al.  Dependency analysis in constraint negotiation , 1995, IEEE Trans. Syst. Man Cybern..

[21]  Waqar Hussain,et al.  A Study on the Prevalence of Human Values in Software Engineering Publications, 2015 - 2018 , 2019, 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE).

[22]  Günther Ruhe,et al.  A systematic approach for solving the wicked problem of software release planning , 2007, Soft Comput..

[23]  Davoud Mougouei,et al.  Factoring requirement dependencies in software requirement selection using graphs and integer programming , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[24]  Björn Regnell,et al.  An industrial survey of requirements interdependencies in software product release planning , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[25]  Yuanyuan Zhang,et al.  An Empirical Study of Meta- and Hyper-Heuristic Search for Multi-Objective Release Planning , 2018, ACM Trans. Softw. Eng. Methodol..

[26]  Anne Persson,et al.  Requirements Interdependencies: State of the Art and Future Challenges , 2005 .

[27]  Davoud Mougouei,et al.  A Fuzzy-Based Technique for Describing Security Requirements of Intrusion Tolerant Systems , 2013 .

[28]  Huda Mutab Al Mutab Fuzzy Graphs , 2019, JOURNAL OF ADVANCES IN MATHEMATICS.