interac ve search approaches for requirements priori za on
play

Interac(ve Search Approaches for Requirements Priori(za(on - PowerPoint PPT Presentation

Interac(ve Search Approaches for Requirements Priori(za(on Angelo Susi In collaboration with Alessandro Marchetto, Francis Palma, Giuseppe Scanniello, PaoloTonella Fondazione Bruno Kessler Software Engineering


  1. Interac(ve ¡Search ¡Approaches ¡for ¡ Requirements ¡Priori(za(on ¡ Angelo Susi In collaboration with Alessandro Marchetto, Francis Palma, Giuseppe Scanniello, PaoloTonella Fondazione Bruno Kessler Software Engineering Research Unit Trento, Italy

  2. Outline ¡ • The ¡problem ¡of ¡requirements ¡priori(za(on ¡ • The ¡purpose ¡of ¡interac(on ¡in ¡priori(za(on ¡methods ¡ • Exploita(on ¡of ¡Interac(ve ¡Gene(c ¡Algorithm ¡ • Applica(ons ¡of ¡the ¡approach ¡to ¡test ¡cases ¡priori(za(on ¡ (ongoing ¡work) ¡ 1 ¡ London, ¡February ¡12 th , ¡2013 ¡

  3. The ¡problem ¡of ¡(requirements) ¡ priori(za(on ¡ • The ¡ac(vity ¡of ¡finding ¡an ¡order ¡rela(on ¡on ¡the ¡set ¡of ¡ requirements ¡under ¡analysis ¡ • Priori(ze ¡according ¡to ¡domain ¡knowledge ¡/ ¡ constraints ¡concerning ¡ • available ¡budget ¡ ¡ • (me ¡constraints ¡ • business ¡risks ¡ ¡ • stakeholder ¡expecta(ons ¡ ¡ ¡ • technical ¡constraints ¡ ¡ 2 ¡ London, ¡February ¡12 th , ¡2013 ¡

  4. A ¡simple ¡Interac(on ¡Schema ¡ Solution Collect user input 3 ¡ London, ¡February ¡12 th , ¡2013 ¡

  5. The ¡Interac(on ¡Schema ¡ Collect initial user input Constraints user input Local SB optimization Determine critical Candidate user input needed solution 4 ¡ London, ¡February ¡12 th , ¡2013 ¡

  6. Why ¡interac(on ¡in ¡priori(za(on ¡ • Increment ¡the ¡effec(veness ¡of ¡the ¡priori(za(on ¡ process ¡via ¡the ¡exploita(on ¡of ¡knowledge ¡by ¡the ¡ decision ¡makers ¡ – Decision ¡makers ¡have ¡a ¡lot ¡of ¡“hidden” ¡informa(on ¡that ¡ can ¡be ¡“extracted” ¡and ¡exploited ¡ ¡ • (Expected) ¡effects: ¡ – Inclusion ¡of ¡“emerging” ¡knowledge ¡s(mulated ¡by ¡the ¡ specific ¡subproblem ¡to ¡solve ¡ ¡ – Decrease ¡of ¡the ¡decision ¡making ¡effort ¡ – Increase ¡of ¡the ¡precision ¡of ¡the ¡result ¡ ¡ 5 ¡ London, ¡February ¡12 th , ¡2013 ¡

  7. Some ¡key ¡points ¡ • Important ¡ingredients ¡for ¡interac(on ¡are: ¡ – The ¡process ¡should ¡be ¡able ¡to ¡detect ¡“ cri$cal ” ¡points ¡(such ¡ as ¡inconsistencies ¡between ¡constraints ¡and ¡inconsistencies ¡ in ¡the ¡feedback) ¡ – The ¡process ¡should ¡be ¡able ¡to ¡“ express ” ¡the ¡cri(cal ¡point ¡ and ¡ask ¡the ¡decision ¡maker(s) ¡to ¡solve ¡it ¡ – The ¡process ¡should ¡be ¡able ¡to ¡exploit ¡the ¡feedback ¡ 6 ¡ London, ¡February ¡12 th , ¡2013 ¡

  8. Approaches ¡ ¡ ¡ Incomplete ¡Analy(c ¡Hierarchy ¡Process ¡(IAHP): ¡state-­‑of-­‑the-­‑art ¡pairwise ¡ • comparison ¡approach, ¡considers ¡only ¡user ¡feedback ¡on ¡the ¡set ¡of ¡ alterna(ve ¡requirements, ¡and ¡exploit ¡it ¡to ¡drive ¡the ¡elicita(on ¡process ¡ ¡ CBRank: ¡pairwise ¡approach ¡based ¡on ¡Machine ¡Learning ¡techniques ¡that ¡ • take ¡into ¡account ¡previous ¡user ¡feedback ¡and ¡the ¡domain ¡constraints ¡to ¡ drive ¡the ¡process ¡of ¡elicita(on ¡of ¡the ¡feedback ¡ Interac(ve ¡Gene(c ¡Algorithms: ¡use ¡of ¡gene(c ¡algorithms ¡to ¡find ¡the ¡ • solu(on ¡and ¡drive ¡the ¡elicita(on ¡process ¡(that ¡could ¡be ¡based ¡on ¡pairwise ¡ comparisons) ¡ ¡ ¡ 7 ¡ London, ¡February ¡12 th , ¡2013 ¡

  9. (One ¡of) ¡our ¡approach(es) ¡ • Based ¡on ¡ Interac$ve ¡ Gene(c ¡Algorithm ¡(IGA) ¡ – aims ¡at ¡ minimizing ¡the ¡disagreement ¡ between ¡a ¡ total ¡ order ¡of ¡priori$zed ¡requirements ¡ and ¡the ¡ various ¡ constraints ¡that ¡are ¡either ¡encoded ¡with ¡the ¡requirements ¡ or ¡that ¡are ¡expressed ¡ itera$vely ¡by ¡the ¡user ¡during ¡the ¡ priori(za(on ¡process ¡ ¡ 8 ¡ London, ¡February ¡12 th , ¡2013 ¡

  10. The ¡Input ¡ • Set ¡of ¡ Requirements ¡ • Requirements ¡documenta$on ¡ (e.g., ¡cost ¡of ¡the ¡ implementa(on, ¡value ¡for ¡the ¡stakeholders, ¡dependencies ¡ between ¡requirements) ¡that ¡can ¡be ¡converted ¡into ¡total ¡or ¡ par(al ¡rankings ¡of ¡the ¡requirements ¡ • Evalua$on ¡from ¡users ¡ in ¡terms ¡of ¡orderings ¡between ¡pairs ¡of ¡ requirements ¡ 9 ¡ London, ¡February ¡12 th , ¡2013 ¡

  11. The ¡process ¡ 1. ¡Acquisi(on ¡and ¡coding ¡of ¡set ¡of ¡Requirements ¡and ¡Documenta(on ¡ 2. ¡Interac(ve ¡Gene(c ¡Algorithm: ¡computa(on ¡of ¡solu(ons ¡(individuals), ¡also ¡ exploi(ng ¡evalua(ons ¡from ¡users ¡ 3. ¡Output ¡of ¡the ¡ranking ¡(the ¡most ¡promising ¡individual) ¡ R 1 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡R 2 ¡ ¡ R 3 ¡ ¡ ¡R 4 ¡ Critical Pairs Set of requirements R 1 ¡ R 4 ¡ Interac.ve ¡Gene.c ¡ Algorithm ¡ R 3 ¡ R 1 ¡ R 2 ¡ R 2 ¡ R 5 ¡ R 3 ¡ R 2 ¡ R 3 ¡ R 4 ¡ R 1 ¡ R 4 ¡ User feedback Requirements documentation 10 ¡ London, ¡February ¡12 th , ¡2013 ¡

  12. The ¡IGA ¡algorithm: ¡step ¡2. ¡ 2.1. ¡computa(on ¡of ¡a ¡first ¡set ¡of ¡solu(ons ¡(individuals) ¡ 2.2. ¡iden(fica(on ¡of ¡ conflicts ¡((es) ¡between ¡individuals ¡and ¡ constraints ¡ 2.3. ¡request ¡of ¡knowledge ¡to ¡users ¡(to ¡decide ¡about ¡conflicts) ¡ 2.4. ¡computa(on ¡of ¡new ¡solu(ons ¡ – via ¡evolu(on ¡rules ¡ 2.5. ¡If ¡max ¡number ¡of ¡itera(ons ¡ ¡ ¡ – than ¡exit ¡ ¡ – else ¡2.2 ¡ 11 ¡ London, ¡February ¡12 th , ¡2013 ¡

  13. Req. ¡documenta(on ¡coding ¡into ¡ graphs ¡ Transform the domain knowledge into graphs Req ¡ Priori.es ¡ Dependencies ¡ R 1 ¡ High ¡ R 2 , ¡R 3 ¡ R 2 ¡ Low ¡ R 3 ¡ R 3 ¡ Low ¡ R 3 ¡ R 2 ¡ R 4 ¡ Medium ¡ R 3 ¡ R 5 ¡ Medium ¡ R 1 ¡ R 4 ¡ Dependencies R 1 ¡ R 4 ¡ R 5 ¡ R 2 ¡ R 3 ¡ Priorities 12 ¡ London, ¡February ¡12 th , ¡2013 ¡

  14. Produc(on ¡of ¡individuals ¡and ¡ iden(fica(on ¡of ¡conflicts ¡ Individual ¡ Requirements ¡rankings ¡ Disagree ¡ ID ¡ (Individual) ¡ Pr 1 ¡ ¡ < ¡R 3 ,R 2 ,R 1 ,R 4 ,R 5 ¡> ¡ Pr 2 ¡ ¡ < ¡R 3 ,R 2 ,R 1 ,R 5 ,R 4 ¡> ¡ ¡ Pr 3 ¡ ¡ < ¡R 1 ,R 3 ,R 2 ,R 4 ,R 5 ¡> ¡ R 3 ¡ Pr 4 ¡ ¡ < ¡R 2 ,R 3 ,R 1 ,R 4 ,R 5 ¡> ¡ Conflicts = Pr 5 ¡ ¡ < ¡R 2 ,R 3 ,R 4 ,R 5 ,R 1 ¡> ¡ R 2 ¡ {(R 3 , R 1 ), Pr 6 ¡ ¡ < ¡R 2 ,R 3 ,R 5 ,R 4 ,R 1 ¡> ¡ (R 3 , R 4 ), R 1 ¡ (R 3 , R 5 )} R 1 ¡ R 4 ¡ R 5 ¡ R 4 ¡ R 2 ¡ R 3 ¡ R 5 ¡ Priorities dis ( pr 1 , pr 2 ) = {( r , s ) ∈ pr 1 * |( r , s ) ∈ pr 2 *} 13 ¡ London, ¡February ¡12 th , ¡2013 ¡

  15. Produc(on ¡of ¡individuals ¡and ¡ iden(fica(on ¡of ¡conflicts ¡ Individual ¡ Requirements ¡rankings ¡ Disagree ¡ ID ¡ (Individual) ¡ 6 Pr 1 ¡ ¡ < ¡R 3 ,R 2 ,R 1 ,R 4 ,R 5 ¡> ¡ Pr 2 ¡ ¡ < ¡R 3 ,R 2 ,R 1 ,R 5 ,R 4 ¡> ¡ ¡ 6 R 3 ¡ Pr 3 ¡ ¡ < ¡R 1 ,R 3 ,R 2 ,R 4 ,R 5 ¡> ¡ Conflicts = 6 Pr 4 ¡ ¡ < ¡R 2 ,R 3 ,R 1 ,R 4 ,R 5 ¡> ¡ {(R 2 , R 1 ), 7 Pr 5 ¡ ¡ < ¡R 2 ,R 3 ,R 4 ,R 5 ,R 1 ¡> ¡ R 2 ¡ 9 (R 2 , R 4 ), Pr 6 ¡ ¡ < ¡R 2 ,R 3 ,R 5 ,R 4 ,R 1 ¡> ¡ 9 (R 2 , R 5 ), R 1 ¡ (R 3 , R 1 ), R 1 ¡ (R 3 , R 4 ), R 4 ¡ R 5 ¡ R 4 ¡ (R 3 , R 5 )} R 2 ¡ R 3 ¡ R 5 ¡ Priorities … and so on … dis ( pr 1 , pr 2 ) = {( r , s ) ∈ pr 1 * |( r , s ) ∈ pr 2 *} 14 ¡ London, ¡February ¡12 th , ¡2013 ¡

  16. Pairs ¡to ¡be ¡evaluated ¡to ¡choose ¡ the ¡individuals ¡for ¡feedback ¡ Individual ¡ID ¡ Requirements ¡rankings ¡ Disagree ¡ (Individual) ¡ Pr 1 ¡ ¡ < ¡R 3 ,R 2 ,R 1 ,R 4 ,R 5 ¡> ¡ 6 ¡ PR 1 = < R 3 ,R 2 ,R 1 ,R 4 ,R 5 > vs Pr 2 ¡ ¡ < ¡R 3 ,R 2 ,R 1 ,R 5 ,R 4 ¡> ¡ ¡ 6 ¡ PR 2 = < R 3 ,R 2 ,R 1 ,R 5 ,R 4 > Pr 3 ¡ ¡ < ¡R 1 ,R 3 ,R 2 ,R 4 ,R 5 ¡> ¡ 6 ¡ Pr 4 ¡ ¡ < ¡R 2 ,R 3 ,R 1 ,R 4 ,R 5 ¡ > ¡ 7 ¡ (R 4 ,R 5 ) Pr 5 ¡ < ¡R 2 ,R 3 ,R 4 ,R 5 ,R 1 ¡> ¡ 9 ¡ Pr 6 ¡ ¡ < ¡R 2 ,R 3 ,R 5 ,R 4 ,R 1 ¡> ¡ 9 ¡ Ranked individuals with respect to disagreement Indiv. ¡ID ¡ PAIRS ¡ Candidate pairs Pr 1 , ¡Pr 2 , ¡Pr 3 ¡ (R 4 , ¡R 5 ), ¡(R 1 , ¡R 2 ), ¡(R 1 , ¡R 3 ) ¡ to be asked to Pr 5 ,Pr 6 ¡ (R 4 , ¡R 5 ) ¡ decision maker 15 ¡ London, ¡February ¡12 th , ¡2013 ¡

Recommend


More recommend