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 ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend