Identificazione e gestione dei rischi
nell’adozione di software open source
Angelo Susi
Software Engineering Unit
Fondazione Bruno Kessler – Trento
In collaborazione con Mirko Morandini e Alberto Siena
Fondazione Bruno Kessler

Istituto di ricerca, con circa 380 ricercatori,
attivo nell’ambito delle:
–
–
–
–
–

Scienze umane
Information technology
Microsistemi
Materiali
Matematica
CONTENT
• Predictive Models
• Knowledge management
• Language technologies
I suoi obiettivi:
– Ricerca teorica e applicata
– Innovazione

2 hub di ricerca,
– Umanistico
– Scientifico

Nell’Information Technology
– 12 unita’ di ricerca
– 2 unita’ applicative
© RISCOSS Consortium
ENGINEERING
INTERACTION
• Software Engineering
• Formal Methods
• Service oriented Application
• Audio
• Vision
• Interfaces and interaction
2
Il gruppo di Software Engineering
RIcercatori:
Paolo Tonella (head)
Anna Perini
Angelo Susi
Mariano Ceccato
Roberto Tiella
Studenti PhD:
Postdocs:
Andrea Avancini
Mirko Morandini
Alberto Siena
Daniel Gross
Fitsum Meshesha Kifetew
Itzel Morales Ramirez
Matthieu Dominique Vergne
•
Collaborazioni
University College London, UK (Mark Harman); Queen’s University, Kingston, Canada (Jim Cordy, Tom Dean);
Wayne State University, Detroit, USA (Andrian Marcus); University of Trento (John Mylopoulos); MIS, University of
Haifa, Israel (Iris Reinhartz-Berger, Irit Hadar, Tsvika Kuflik); University of Namur, Belgium (Ivan Jureta), UPC Spain
Franch);
UZH, Switzerland (N. Seyff); UFES, Brazil (R. Souza Guizzardi); etc.
© (X.
RISCOSS
Consortium
3
© RISCOSS Consortium
3
I nostri interessi
 Ingegneria dei Requisiti
– Ingegneria dei requisiti “Goal-Oriented”
– Approcci basati su apprendimento automatico nel
campo dell’ingengeria dei requisiti
 Software Testing
– Testing di sistemi software complessi
– Testing per servizi
© RISCOSS Consortium
4
Il progetto RISCOSS
RISCOSS
Inizio
01/11/2012
Durata
36 mesi
Siamo al mese
23
Call
FP7‐ICT‐2011‐8, Objective 1.2
Keywords
Open‐Source Software, OSS, Decision‐making Techniques, Risk
Management
Website
http://www.riscoss.eu
Twitter
@RiscossProject
© RISCOSS Consortium
5
I partners








Universitat Politecnica De Catalunya (UPC) Spagna
ERICSSON Telecomunicazioni (TEI) Italia
Fondazione Bruno Kessler (FBK) Italia
Maastricht University (UMM) Olanda
Fundacion Centro Nacional De Referencia De Las Tecnologias De La Informacion Y La
Comunicacion Basadas Enfuentes Abiertas (CENATIC) Spagna
XWIKI SAS (XWiki) Francia
OW2 Consortium Association (OW2) Francia
K.P.A. KENETT-PREMINGER Associates LTD (KPA) Israele
© RISCOSS Consortium
6
L’OSS, la sua adozione e i rischi
 OSS (FLOSS) promuove un approccio libero alla
creazione e scelta del software
– questo apre importanti opportunita’ ma anche la
possibilita’ di rischi legati ad esempio alla scelta dei
compoenti da usare in un progetto
 Vari possibili rischi
–
–
–
–
Qualita’ del software
Licenze e loro integrazione
Integrazione del software con il software esistente
Mancato mantenimento ed evoluzione
© RISCOSS Consortium
7
“Adozione” dell’Open Source
 Usare un programma Open Source
– Linux, Open Office
 Includere un componente Open Source in un
proprio progetto
– Ad esempio un componente per calcoli statistici …
 Creare un nuovo progetto Open Source a
partire da uno esistente
 Sviluppare, Produrre, Vendere software con
licenza Open Source
© RISCOSS Consortium
8
“Adozione” dell’Open Source (2)
Piu in generale: adozione della filosofia Open
source secondo diversi gradi di coinvolgimento
 Coinvolgimento limitato: uso il software ma
non restituisco nulla alla comunita’
 Coinvolgimento nella comunita’: partecipo
alla comunita restituendo del feedback o
contribuendo attivamente allo sviluppo
© RISCOSS Consortium
9
Missione del Progetto
“Specifica di metodi per la identificazione e
gestione dei rischi di adozione dell’OSS
tenendo conto della natura ‘open’ e
‘community-based’ tipica del contesto Open
Source”
Metodi adeguati alla rappresentazione delle
relazioni sociali, analisi dei dati, ragionamento sui
rischi
Una piattaforma di supporto per il decision-making
© RISCOSS Consortium
10
Ecosistema OSS
ECOSISTEMA
COMMUNITY
ADOPTER
© RISCOSS Consortium
11
Gli Adopters (?) in RISCOSS
 Grande azienda
 Pubblica Amministrazione
 Comunita’ OSS e PMI
 Consorzio di comunita’
© RISCOSS Consortium
12
Visione del progetto
ECOSISTEMA
COMMUNITY
ADOPTER
suggerimenti
richieste
Livello decisionale dell’organizzazione
(rischi, costi, …)
osservazioni
produce
componenti
software
richieste
Livello Tecnico (software ecosystem)
informazioni
su componenti
© RISCOSS Consortium
13
Visione del progetto
ECOSISTEMA
COMMUNITY
ADOPTER
suggerimenti
richieste
Livello decisionale dell’organizzazione
(rischi, costi, …)
osservazioni
produce
componenti
software
richieste
Livello Tecnico (software ecosystem)
informazioni
su componenti
© RISCOSS Consortium
14
Dati dall’ecosistema OSS
 Dati del dominio OSS, in particolare
– Proprieta’ del software
– Proprieta’ delle comunita’
– Proprieta’ dell’ecosistema composto da comunita’
e organizzazioni interessate all’OSS
 Conoscenza di esperti per:
– Esplicitare proprieta’ non identificabili
automaticamente
– Valutare la relazione tra dati e rischio in
determinati contesti
© RISCOSS Consortium
15
Quale connessione ?
Obiettivi dell’organizzazione “Adopter”
?
Qualita’
del
progetto
software
© RISCOSS Consortium
Attivita’
della
comunita
OPPORTUNITA’
RISCHI
Licenze
16
Tre livelli di azione
Analisti
Livello 3
Analisi strategica
e di Business
Livello 2
Indicatori di Rischio
Livello 1
Acquisizione dei
dati
Modelli Strategici e di Business dell’ecosistema
Indicatori di
progetto OSS
Indicatori di
comunita’ OSS
© RISCOSS Consortium
Pareri
Misure
Progetti software
Indicatori
contestuali
Community
17
Misure sul progetto
Analisi statistiche su caratteristiche del progetto Open Source
come l’analisi dei “problemi” del codice in un dato intervallo
di tempo
© RISCOSS Consortium
18
Misure sulla struttura comunita’
Analisi della struttura sociale delle comunita’, della sua attivita’
e della sua evoluzione (via Social Network Analysis)
© RISCOSS Consortium
19
Collegamento tra misure e rischi
Valutazione da parte degli esperti della correlazione tra le misure,
gli indicatori di rischio e i rischi stessi attraverso Bayesian Networks
Bug Fix time
1 day
10 days
100 days
75 %
20 %
5%
correlazione
Security Risk
Critical Bug Fix time
1 day
3 days
10 days
MISURE
65 %
35 %
PREDIZIONI
60 %
30 %
10 %
Active community
A
B
C
© RISCOSS Consortium
Not sec. risk
Sec. risk
X%
Y%
Z%
20
Rappresentazione dell’ecosistema
 Rappresentazione ed analisi dell’ecosistema
– Modellazione attraverso linguaggi “goal-oriented”
– Definizione di ontologie dei rischi specifiche per
l’ambito OSS (che si basano su ontologie esistenti
come i concetti definiti nello standard ISO 31000)
© RISCOSS Consortium
21
Modelli dell’ecosistema
 Le dipendenze dell’ecosistema (nel caso l’adopter sia
“coinvolto” nella comunita’)
OSSComponent
OSS
Community
OSS
Adopter
Technical
Documentaion
Bugs to
resolve
Legenda
Commit
Resolved
bugs
© RISCOSS Consortium
Actor
Resource
22
Modelli dell’ecosistema
 La struttura degli attori dell’ecosistema
OSS
Adopter
Release
OSS
Community
Integrate OSS
component
OSSComponent
Maintain
Integration
Develop
Maintain
Contribute to OSS
community
Technical
Documentaion
Report bug
help
acquisition of
technical expertise
Patch
Report bug
Patch
Bugs to
resolve
Commit
Resolved
bugs
Legenda
Actor
© RISCOSS Consortium
Goal
activity
Resource
23
I tre livelli insieme
 La gerarchia
completa con
l’uso delle
tecniche
proposte
OSS
Adopter
Strategic layer
Risk Indicators
(Layer II)
software
maintained
impact
Risk in code
refinement
evaluation of the risk
Bayesian Network
OSS Measures
(Layer I)
© RISCOSS Consortium
measure / statistics from
OSS communities
24
Analisi dell’ecosistema
 Identificazone dei rischi e propagazione
dell’impatto tra gli attori dell’ecosistema
 Scelta tra diversi trattamenti alternativi per la
mitigazione del rischio
Entrambe attraverso tecniche di
propagazione e di apprendimento automatico
© RISCOSS Consortium
25
Ragionando sui modelli
OSS
Adopter
Release
OSS
Community
Integrate OSS
component
OSSComponent
Maintain
Integration
Maintain
Develop
Contribute to OSS
community
Technical
Documentaion
Report bug
help
acquisition of
technical expertise
Patch
IMPACT on
COMMUNITY
IMPACT
on
Adopter
Report bug
Patch
Bugs to
resolve
measure from
OSS community
Commit
Resolved
bugs
impact
feed
distribution of
bug fixing time
Bayesian Networks
and expert opinions
Legenda
Actor
activity
© RISCOSS
Consortium
Resource
26
Un possibile risultato dell’analisi
Example: scenario analysis
Scenario1
Scenario2
Scenario3
Indicators’ Values (can make it possible)
Scenarios
properties
Long time in bug fixing
X
X
X
Tutorial Available
X
High Activeness
X
X
Maintenance need
X
X
X
Product Quality Need
X
X
X
Critical
Probable, Critical
Probable
Low Update Frequency
Probable
Probable
Probable, Critical
Timeliness
Probable
Probable
Probable, Critical
Probable, Critical
Needs from organisation ( canmake it critical)
Risk Events
Lack Of Support
Risk
events
Error Proneness
Critical
List of affected Goals
© RISCOSS Consortium
27
Risultati dell’analisi sulla piattaforma
 Quali sono i rischi attivi, gli obiettivi che subiscono
l’impatto, il perche’ dell’impatto
© RISCOSS Consortium
28
In sintesi …
 Metodi per la descrizione dell’ecosistema,
quindi dell’aspetto sociale del dominio di
interesse
 Metodi di ragionamento per individuare
l’occorrenza di un evento e il suo impatto
 Metodi di analisi dei dati di tipo statistico
© RISCOSS Consortium
29
In Futuro
 Miglioramento delle tecniche proposte
– Anche attraverso il coinvolgimento di comunita’
 Specifica di nuovi modelli di rischio
– Anche attraverso la creazione di gruppi di
interesse intorno al progetto (creazione di
comunita’)
 Valutazione del framework anche in ambiti
diversi dall’OSS
© RISCOSS Consortium
30
GRAZIE !
www.riscoss.eu
@RiscossProject
© RISCOSS Consortium
32
Risk Modeling Language
 Risk characterized by
– Event; => “the community disappear” (what)
– Situation; => “the community is not active” (when)
– Situation; => “(impossible to) maintain the final software
product” (why)
Event
Situation
 Relationships between situations and events
– “expose”, “protect”
Tell when a situation makes it possible (or impossible) an event
– “increase”, “mitigate”
Tell when a situation makes it critical (or not influential) an event
 Risk drivers & Indicators
Risk driver
& indicator
– Measure raw and derived evidences
© RISCOSS Consortium
33
Meta-Model
Actor
 Connected to the
goal-models of the
ecosystems to allow
for the specification
of risk impact on
goals, activities and
other assets
Ecosystem
performs
depend
desire
provide
Goal
propagate
impact
Task
means-end
expose
protect
govern
Event
probability
extent
Situation
satisfied
evidence
increase
Indicator
value
mitigate
Risk Meta-Model
© RISCOSS Consortium
Goal Meta-Model
34
Levels of representation:
OSS ecosystems and risks together
OSS
component
OSS
Adopter
OSS
OSS component
Commu
nity
Actor
OSS
Adopter
OSS
Commu
nity
Maintain
software
Maintain
software
impact
Layer of the
Business / Strategic goal
of the Ecosystem
Actor
Goal
impact
Goal
Resource
Resource
RIsk events
Difficulty in code
refinement
expose
Difficulty
in code expose
refinement
expose
Timeliness
RIsk events
situation
situation
Risk driver
Risk driver
© RISCOSS Consortium
Timeliness
measure of
bug fixing time
Layer of the
risk indicators and risks
expose
people
on project
people
on project
Layer of the measures and
risk drivers
measure of
bug fixing time
35
Risk and Goal model reasoning
Support to different kind of analysis:
 “qualitative” reasoning when a scenario analysis
has to be done or few data are available
 “quantitative” when data are available and more
reach reasoning can be performed
 The objective is that of evaluate if a given set of
situations makes an event both possible and
critical
© RISCOSS Consortium
36
Risk and Goal model reasoning
1.
Risk assessment
– If there is high/low evidence that a given scenario holds, how are risks levels?
2.
Risk identification
– If it is the case that a given scenario holds, which risks hold?
 Risk and Goal model analysis
– starting from the knowledge about values of properties of some nodes of the
graph (Risk events, Situations, Goals, Activities), it has the objective of
inferring knowledge about values of properties of other nodes
Specification of
ecosystem models
• Goal and risk
models are
specified
© RISCOSS Consortium
Analysis of the
models
• Disjunctive logic
• Label prop.
•…
Analysis of the
results
• Analysis of the
possibility and
severity of a risk
37
Reasoning techniques: Disjunct. logic
 Model analysis via Disjunctive Datalog
– Disjunctive Datalog: Answer Set Programming (ASP) declarative
logic language
– It offers primitives to represent:
• facts and deduction rules
• disjunctive facts (which introduce alternative truth values of predicates)
• disjunctive rules (in which disjunctions may appear in the rule heads to
allow multiple alternative consequences to be drawn from a rule)
– Analysis of alternatives
An example of rules facts and models:
lives(community) v disappear(community) :- low_active(community). RULES
low_active(community) v high_active(community).
FACTS
Model 1: disappear(community), low_active(community)
Model 2: lives(community), low_active(community)
Model 3: high_active(community)
© RISCOSS Consortium
38
Reasoning techniques: based on evidence
 Some subjective knowledge is partially available from involved
stakeholders
 Directed graph (in our case, goal and risk models)
– To each node is associated an evidence
– Each relation has a weight
– Compound relations have a propagation function
 Label propagation algorithm
*0.5
n1
n3
and(0.5)
n6
*0.8
*0.5
n2
n4
Observable evidences
© RISCOSS Consortium
*0.1
Inferred evidences
n5
Target evidences
39
Expert based risk assessment via
workshops
© RISCOSS Consortium
40
Workshops for risk assessment
Determining the relationships between Risk
Indicators and Risks via expert assessment
Scripting of
scenarios
• Scenarios
prepared by
analysts
© RISCOSS Consortium
Expert Opinion
elicitation
• Scenarios
evaluated by the
experts
Statistical
models building
• Building of
Bayesian
Networks
41
Scenario for expert assessment
(Random) scenarios
Risk drivers and value of the intervals of their distributions
Scenario 1
Scenario 2
Scenario N
15
21
…
3
3
…
15
23
…
mostly
morning
mostly
night
…
mostly
weekdays
mostly
weekdays
…
never
sometimes
…
?
?
Expert assessment:
Evaluate how much the values of the Risk
drivers in the scenario impact the Timeliness of
the community (e.g., in the interval [1,5])
© RISCOSS Consortium
42
?
Resulting Bayesian Network
 Bayesian network (BN)
– BN is a Directed Acyclic Graph (DAG)
– Enable an effective representation and computation of the joint
probability distribution over a set of random variables
© RISCOSS Consortium
43
Scarica

Identificazione e gestione dei rischi nell`adozione di - Pmi