Human Values in Software Release Planning
HHuman Values in Software Release Planning
Davoud Mougouei, Aditya Ghose, Hoa Dam
School of Computing and Information TechnologyUniversity of Wollongong
Sydney, Australia { Davoud, Aditya, Hoa } @uow.edu.au David Powers
College of Science and EngineeringFlinders University
Adelaide, AsutraliaDavid.Powers@flinders.edu.au
Abstract —Software products have become an integral partof human lives, and therefore need to account for humanvalues such as privacy, fairness, and equality. Ignoring humanvalues in software development leads to biases and violations ofhuman values: racial biases in recidivism assessment and facialrecognition software are well-known examples of such issues.One of the most critical steps in software development is Soft-ware Release Planning (SRP), where decisions are made aboutthe presence or absence of the requirements (features) in thesoftware. Such decisions are primarily guided by the economicvalue of the requirements, ignoring their impacts on a broaderrange 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 addressthis, we have proposed an
Integer Programming approach toconsidering human values in software release planning. In thisregard, an
Integer Linear Programming (ILP) model has beenproposed, that explicitly accounts for human values in findingan “optimal” subset of the requirements. The ILP model exploitsthe algebraic structure of fuzzy graphs to capture dependenciesand conflicts among the values of the requirements.
Index Terms —Human Values, Software Release Planning, In-teger Programming, Fuzzy Logic, Typed Value Graph
I. I
NTRODUCTION
Today’s software products collect and analyze our biolog-ical data, personalize recommendations based on our usagepatterns and emotions, and monitor and influence our behav-ior [1]. That gives software products a great deal of power andinfluence over humans. But “with great power comes greatresponsibility.” Studies have shown that considering humanvalues such as privacy, fairness, and equality, in developingsoftware, is essential for mitigating the potential risks itcan pose to the society [2]. Ignoring human values, on theother hand, may lead to privacy violations, algorithmic biases,and widening socio-economic inequalities. One of the mostimportant stages in software development is software releaseplanning, where decisions are made as to what requirements(features) should be included in the software. Ignoring humanvalues at such a critical point may lead to breaching thosevalues in the software, leading to user dissatisfaction [3],financial loss, and reputation damage [4], [5].Several examples of violating human values in softwarehave been reported in recent years [6], [7]: racial biases inrecidivism assessment, facial recognition software, and phototagging [7] are of the most commonly known examples [6].Among these, perhaps one of the most tragic cases is the suicide of the British teenager Molly Russell [8], attributed toInstagram’s personalization algorithms, which flooded Molly’sfeed with self-harm images without considering the impactof such personalization on her health. In response, Instagramadded features that prevent personalizations on self-harm. Hadsuch features and their impacts on health been evaluatedmore carefully in the earlier stages of software development,Molly’s suicide could have possibly been prevented. Hence,it is important to account for human values as early as insoftware release planning, where decisions are made about therequirements (features) of the software, based on their values.Regardless of the approach used for release planning, theprocess involves selecting an “optimal” subset of the re-quirements. Release planning thus is modeled as differentvariations of Binary Knapsack Problem (BKP), for whichseveral mathematical formulations have been devised [9], [10].These formulations can be solved, exactly, using advancedsolvers such as IBM CPLEX [11] or be approximated usingmeta-heuristics [12]. Nonetheless, the existing software releaseplanning models have primarily focused on maximizing theeconomic value of software, ignoring a broader range ofhuman values (Figure 1) [3], that are also important and needto be taken into account. Moreover, the extant release planningmodels do not take into account the fact that the value of asoftware requirement may depend on the presence or absenceof other requirements in the optimal set. Ignoring such
ValueDependencies increases the risk of value loss through ignoring(selecting) requirements that positively (negatively) influencethe values of other requirements [13], [9], [14], [15], [16],[17]. It is imperative that value dependencies are not limitedto the economic value; they extend to a broader range ofhuman values [18], [3]. As observed by Carlshamre et al. [19],requirement dependencies in general and value dependenciesin particular are fuzzy [19] in the sense that the strengths ofthose dependencies are imprecise and vary [20], [21], [22],[19] from large to insignificant [23] in real-world projects.Hence, it is important to consider not only the existence butthe strengths of value dependencies and the imprecision ofthose dependencies in software projects.In this paper, we propose an integer programming approachto considering human values in software release planning. Theproposed approach comprises an
Integer Linear Programming (ILP) model, that finds an optimal subset of the softwarerequirements with the highest economic worth subject to1 a r X i v : . [ c s . S E ] F e b ig. 1: A map of human values based on Schwartz theory of basic values [24]. a set of constraints concerning human values, i.e., ValueConstraints . The value constraints of a software project ensurethat the user values are not violated in the selected subsetof the requirements. We have further exploited the algebraicstructure of fuzzy graphs to capture dependencies and conflictsamong the values of the requirements. In this regard, we haveproposed an extension of fuzzy graphs named
Typed ValueGraphs (TVGs), that allow for capturing the strengths andqualities (positive/negative) of value dependencies.II. M
ODELING D EPENDENCIES AMONG V ALUES
This section presents typed value graphs (TVGs) for mod-eling value dependencies among the requirement. A TVG oftype t is defined by Definition 1, where t denotes a specifichuman value, e.g., privacy, fairness, and economic worth.Multiple TVGs can be created for a software project, eachcapturing the value dependencies of a specific type. Definition 1.
Typed Value Graph . A type t TVG is a signeddirected fuzzy graph G t = ( R, σ t , ρ t ) , where the requirementset R : { r , ..., r n } form the graph nodes. Also, the qualitativefunction σ t → { + , − , ±} and the membership function ρ t :( r i , r j ) → [0 , specify the quality and the strength of anexplicit type t value dependency from r i to r j respectively. ρ t ( r i , r j ) = 0 , σ t ( r i , r j ) = ± specifies the absence of anexplicit type t value dependency from r i to r j .Definition 2 provides a comprehensive definition of valuedependencies that includes both explicit (direct) and implicit(indirect) value dependencies of different types. Definition 2.
Typed Value Dependencies . A type t valuedependency in a TVG G t = ( R, σ t , ρ t ) is defined as asequence of the requirements d i : (cid:0) r (0) , ..., r ( k ) (cid:1) such that ∀ r ( j ) ∈ d i , ≤ j ≤ k we have ρ t (cid:0) r ( j − , r ( j ) (cid:1) (cid:54) = 0 . j ≥ is the sequence of the j th requirement (node) denoted as r ( j ) on the dependency path. A consecutive pair (cid:0) r ( j − , r ( j ) (cid:1) specifies an explicit value dependency. ∀ d i : (cid:0) r (0) , ..., r ( k ) (cid:1) : ρ t ( d i ) = k (cid:94) j =1 ρ t (cid:0) r ( j − , r ( j ) (cid:1) (1) ∀ d i : (cid:0) r (0) , ..., r ( k ) (cid:1) : σ t ( d i ) = k (cid:89) j =1 σ t (cid:0) r ( j − , r ( j ) (cid:1) (2)Equation (1) computes the strength of type t value de-pendency d i : (cid:0) r (0) , ..., r ( k ) (cid:1) by finding the strength of theweakest of the k explicit type t dependencies on d i . Fuzzyoperator ∧ denotes Zadeh’s AND (minimum) operation [25],[26]. Also, the quality (positive or negative) of a type t valuedependency d i : (cid:0) r (0) , ..., r ( k ) (cid:1) is calculated by the qualitativeserial inference [27], [28], [29] of (2) as shown in Table I. TABLE I: Qualitative serial inference in a type t TVG. σ t (cid:0) r ( j − , r ( j ) , r ( j + 1) (cid:1) σ t (cid:0) r ( j ) , r ( j + 1) (cid:1) + − ± σ t (cid:0) r ( j − , r ( j ) (cid:1) + + − ±− − + ±± ± ± ± Let D t = { d , d , ..., d m } be the set of all type t valuedependencies from r i ∈ R to r j ∈ R in a type t TVG2 t = ( R, σ t , ρ t ) , where the positive and negative dependen-cies can simultaneously exist from r i to r j . The strength of allpositive value dependencies of type t from r i to r j is denotedby ρ + ∞ t and calculated by (3), that is to find the strength ofthe strongest positive dependency [30] from r i to r j . Fuzzyoperators ∧ and ∨ denote Zadeh’s fuzzy AND (minimum) andfuzzy OR (maximum) operators [25] respectively. Similarly,the strengths of all negative value dependencies of type t from r i to r j is denoted by ρ −∞ t and computed by (4). ρ + ∞ t ( r i , r j ) = (cid:95) d m ∈ D t ,σ t ( d m )=+ ρ t ( d m ) (3) ρ −∞ t ( r i , r j ) = (cid:95) d m ∈ D t ,σ t ( d i )= − ρ t ( d m ) (4) I i,j,t = ρ + ∞ t ( r i , r j ) − ρ −∞ t ( r i , r j ) (5)In a type t TVG, ρ + ∞ t ( r i , r j ) or ρ −∞ t ( r i , r j ) can becomputed in polynomial time, O ( n ) , using Floyd-Warshallalgorithm. We have demonstrated this for a simple value graph,with only one type (economic value), in our earlier work [9].It is clear that repeating the computations for different valuestypes does not change the order of complexity. The overallstrengths of all type t value dependencies from r i to r j isreferred to as the Influence of r j on the type t value of r i and denoted by I i,j,t ∈ [ − , . I i,j,t , as given by (5), iscalculated by subtracting ρ −∞ t ( r i , r j ) from ρ + ∞ t ( r i , r j ) . Apositive (negative) values for I i,j,t implies that r j positively(negatively) influences the type t value of r i .III. T HE I NTEGER L INEAR P ROGRAMMING M ODEL
Equations (7)-(18) give an integer linear programming (ILP)model that finds an optimal subset of the requirements withthe highest economic worth subject to a set of constraintsconcerning human values, i.e.,
Value Constraints . The modeluses the algebraic structure of typed value graphs (TVGs)introduced in Section II for capturing value dependenciesamong the requirements. In (7)-(18), x i is a selection variabledenoting whether a requirement r i is selected ( x i = 1 ) orignored ( x i = 0 ). Also, θ i,t in (11) specifies the penalty of atype t value of requirement r i , that is the extent to whichthe type t value of r i is impacted by ignoring (selecting)requirements with positive (negative) influences on the type t value of r i . T in (7)-(18) specifies the total number of the valuetypes including the economic value ( T = 58 as in Figure 1).Moreover, θ i,t in (11) gives the simplified algebraic expressionof the penalty in (6). I i,j,t , as given by (5), is the influence of r j on the type t value of r i . θ i,t = n (cid:95) j =1 (cid:18) x j (cid:0) | I i,j,t | − I i,j,t (cid:1) + (1 − x j ) (cid:0) | I i,j,t | + I i,j,t (cid:1) (cid:19) = n (cid:95) j =1 (cid:18) | I i,j,t | + (1 − x j ) I i,j,t (cid:19) ,i (cid:54) = j = 1 , ..., n, t = 1 , ..., T (6) As stated earlier, v i, in (7)-(18) denotes the economicvalue of a requirement r i and E ( v i.t ) , t ∈ { , ..., n } denotesthe expected type t value of a requirement r i . Similarly, inall other variables/parameters in (7)-(18), t = 1 denotes thevariables/parameters related to the economic value (Wealth)while t = { , ..., T } specify the variables/parameters relatedto other values in Figure 1. The expected values of therequirements are used in the proposed ILP model to accountfor the fact that a particular requirement (feature) may not beperceived equality valuable by different users.Maximize n (cid:88) i =1 x i E ( v i, ) − y i, E ( v i, ) (7)Subject to n (cid:88) i =1 c i x i ≤ b (8) (cid:40) x i ≤ x j r j precedes r i x i ≤ − x j r i conflicts with r j , i (cid:54) = j = 1 , ..., n (9) n (cid:88) i =1 x i E ( v i,t ) − y i,t E ( v i,t ) ≥ β t , t = 2 , ..., T (10) θ i,t ≥ (cid:18) | I i,j,t | + (1 − x j ) I i,j,t (cid:19) , (11) i (cid:54) = j = 1 , ..., n, t = 1 , ..., T − g i ≤ x i ≤ g i , i = 1 , ..., n (12) − (1 − g i ) ≤ x i ≤ − g i ) , i = 1 , ..., n (13) − g i ≤ y i,t ≤ g i , i = 1 , ..., n, t = 1 , ..., T (14) − (1 − g i ) ≤ ( y i,t − θ i,t ) ≤ (1 − g i ) , (15) i = 1 , ..., n, t = 1 , ..., T ≤ y i,t ≤ , i = 1 , ..., n, t = 1 , ..., T (16) ≤ θ i,t ≤ , i = 1 , ..., n, t = 1 , ..., T (17) x i , g i ∈ { , } , i = 1 , ..., n (18)The objective function (7) aims to optimize the economicvalue of the selected requirements subject to (8)-(18). Con-straint (8) ensures that the total cost of the requirementswill not exceed the budget b . Also, (9) accounts for theprecedence dependencies among the requirements and thevalue implications of those dependencies, which may impactthe value types. Precedence dependencies mainly include therequirement dependencies of type Requires ( Conflicts-with ),where one requirement intrinsically requires (conflicts with)another. The set of the Value Constraints (10) ensures thatthe minimum amounts (lower-bounds) of the expected type t values are satisfied for the selected requirements. β t in (10) de-notes the required lower-bound for the expected type t value ofthe requirements. β t can be adjusted to reflect the preferencesof the stakeholders for different human values, and reconcilepotential conflicts among the values when satisfying one valuetype conflicts with another. For a given requirement r i , in (7)-(18) we have either a : ( x i = 0 , y i,t = 0) , t = 1 , ..., T , or3 : ( x i = 1 , y i,t = θ i,t ) , t = 1 , ..., T occur. To capture therelation between θ i,t and y i,t in a linear form, we have madeuse of an auxiliary variable g i = { , } and (12)-(18). Assuch, we have either ( g i = 0) → a , or ( g i = 1) → b . Theselection model (7)-(18) therefore, is a linear model as it hasa linear objective function with linear inequality constraints.IV. S UMMARY
In this paper, we proposed an integer programming approachto considering human values in software release planning.At the heart of the proposed approach is an integer linearprogramming (ILP) model that takes into account not onlythe economic worth of the software requirements but alsotheir impacts on other human values such as fairness, privacy,and equality. The proposed model finds an “optimal” subsetof software requirements with the highest economic valuesubject to satisfying a set of constraints concerning humanvalues (Value Constraints). The value constraints ensure thatthe selected subset of the requirements does not violate thevalues of the users. We have further proposed typed valuegraphs (TVGs), a variation of fuzzy graphs, to capture thedependencies among the values of the requirements. The workcan be extended in several directions. That includes usingthe proposed approach for release planning of a real-worldproject as well as measuring the effectiveness of the proposedapproach in considering human values through user surveys.R
EFERENCES[1] E. Osuna, L.-F. Rodr´ıguez, and J. O. Gutierrez-Garcia, “Toward inte-grating cognitive components with computational models of emotionusing software design patterns,”
Cognitive Systems Research , vol. 65,pp. 138–150, 2021.[2] R. Vinuesa, H. Azizpour, I. Leite, M. Balaam, V. Dignum, S. Domisch,A. Fell¨ander, S. D. Langhans, M. Tegmark, and F. F. Nerini, “The roleof artificial intelligence in achieving the sustainable development goals,”
Nature communications , vol. 11, no. 1, pp. 1–10, 2020.[3] D. Mougouei, H. Perera, W. Hussain, R. Shams, and J. Whittle,“Operationalizing human values in software: a research roadmap,” in
Proceedings of the 2018 26th ACM Joint Meeting on European SoftwareEngineering Conference and Symposium on the Foundations of SoftwareEngineering . ACM, 2018, pp. 780–784.[4] H. Perera, W. Hussain, J. Whittle, A. Nurwidyantoro, D. Mougouei,R. A. Shams, and G. Oliver, “A study on the prevalence of human valuesin software engineering publications, 2015-2018,” in . IEEE,2020, pp. 409–420.[5] D. Mougouei, “Engineering human values in software through valueprogramming,” in
ICSEW’20: Proceedings of the IEEE/ACM 42ndInternational Conference on Software Engineering , 2020, pp. 133–136.[6] A. Khademi and V. Honavar, “Algorithmic bias in recidivism prediction:A causal perspective (student abstract),” in
Proceedings of the AAAIConference on Artificial Intelligence , vol. 34, no. 10, 2020, pp. 13 839–13 840.[7] R. K. Bellamy, K. Dey, M. Hind, S. C. Hoffman, S. Houde, K. Kannan,P. Lohia, S. Mehta, A. Mojsilovic, S. Nagar et al. , “Think your artificialintelligence software is fair? think again,”
IEEE Software
ExpertSystems with Applications , p. 113748, 2020.[10] D. Mougouei, D. M. W. Powers, and A. Moeini, “An integer linearprogramming model for binary knapsack problem with dependent itemvalues,” in
AI 2017: Advances in Artificial Intelligence: 30th Aus-tralasian Joint Conference, Melbourne, VIC, Australia, August 19–20,2017, Proceedings , vol. 10400. Springer International Publishing, 2017,pp. 144–154.[11] D. Mougouei and D. M. Powers, “Dependency-aware software releaseplanning through mining user preferences,”
Soft Computing , 2020.[12] Y. Zhang, M. Harman, G. Ochoa, G. Ruhe, and S. Brinkkemper, “Anempirical study of meta-and hyper-heuristic search for multi-objectiverelease planning,”
ACM Transactions on Software Engineering andMethodology (TOSEM) , vol. 27, no. 1, p. 3, 2018.[13] R. S. Sangwan, A. Negahban, R. L. Nord, and I. Ozkaya, “Optimizationof software release planning considering architectural dependencies,cost, and value,”
IEEE Transactions on Software Engineering , 2020.[14] D. Mougouei and D. M. Powers, “Dependency-aware release planningfor software projects using fuzzy graphs and integer programming,”
Journal of Intelligent & Fuzzy Systems , pp. 1–15, 2019.[15] D. Mougouei, “Factoring requirement dependencies in software require-ment selection using graphs and integer programming,” in . IEEE, 2016, pp. 884–887.[16] D. Mougouei, D. M. Powers, and A. Moeini, “Dependency-awaresoftware release planning,” in . IEEE, 2017,pp. 198–200.[17] D. Mougouei and D. M. Powers, “Modeling and selection of interdepen-dent software requirements using fuzzy graphs,”
International Journalof Fuzzy Systems , pp. 1–17, 2017.[18] X. Shi, L. Wu, and X. Meng, “A new optimization model for thesustainable development: Quadratic knapsack problem with conflictgraphs,”
Sustainability , vol. 9, no. 2, p. 236, 2017.[19] P. Carlshamre, K. Sandahl, M. Lindvall, B. Regnell, and J. Natt och Dag,“An industrial survey of requirements interdependencies in softwareproduct release planning,” in
Fifth IEEE International Symposium onRequirements Engineering, 2001. Proceedings , 2001, pp. 84–91.[20] ˚A. G. Dahlstedt and A. Persson, “Requirements interdependencies: stateof the art and future challenges,” in
Engineering and managing softwarerequirements . Springer, 2005, pp. 95–116.[21] A. Ngo-The and G. Ruhe, “A systematic approach for solving the wickedproblem of software release planning,”
Soft Computing , vol. 12, no. 1,pp. 95–108, 2008.[22] A. Ngo-The and M. O. Saliu, “Measuring dependency constraint satis-faction in software release planning using dissimilarity of fuzzy graphs,”in
Cognitive Informatics, 2005.(ICCI 2005). Fourth IEEE Conference on .IEEE, 2005, pp. 301–307.[23] J. Wang, J. Li, Q. Wang, H. Zhang, and H. Wang, “A simulationapproach for impact analysis of requirement volatility considering de-pendency change,”
Requirements Engineering: Foundation for SoftwareQuality , pp. 59–76, 2012.[24] S. H. Schwartz and W. Bilsky, “Toward a universal psychological struc-ture of human values.”
Journal of personality and social psychology ,vol. 53, no. 3, p. 550, 1987.[25] L. A. Zadeh, “Fyzzy sets,”
Inf. Comput. , vol. 8, pp. 338-353, Dec 1965.[26] D. Mougouei and W. Nurhayati, “A fuzzy-based technique for describ-ing security requirements of intrusion tolerant systems,”
InternationalJournal of Software Engineering and its Applications , vol. 7, no. 2, pp.99–112, 2013.[27] J. De Kleer and J. S. Brown, “A qualitative physics based on conflu-ences,”
Artificial intelligence , vol. 24, no. 1, pp. 7–83, 1984.[28] M. P. Wellman and M. Derthick,
Formulation of tradeoffs in planningunder uncertainty . Pitman London, 1990.[29] A. Kusiak and J. Wang, “Dependency analysis in constraint negotiation,”
Systems, Man and Cybernetics, IEEE Transactions on , vol. 25, no. 9,pp. 1301–1313, 1995.[30] A. Rosenfeld, “Fuzzy graphs,”
Fuzzy Sets and Their Applications ,vol. 77, p. 95, 1975.,vol. 77, p. 95, 1975.