Colaboração em software de código aberto: um framework para análise em redes sociais

Preview:

Citation preview

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

Aluno: William Horta Rufino da Silva

Orientador: Prof. Dr. Orlando Abreu Gomes

Coorientador: Prof. Dr. Fernando Silva Parreiras

Linha de Pesquisa: Sistemas de Informacao.

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

2

Introducao

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

3

Introducao

• Repositorios de software nao sao utilizados para tomadas de decisao. (HASSAN,2008)

• Um problema que atinge o desenvolvimento de software como um todo e a quantidade de projetos que falham ou sao entregues fora do prazo, causando prejuizos na escala de bilhoes no mundo todo. (CHARETTE, 2005)

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

4

Introducao – Analise em Redes Sociais

• Descobrir padroes e comunidades• Detectar anormalidades• Prever tendências

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

5

Problema

• Diante dessa situacao, surge a seguinte pergunta: quais sao os componentes de um arcabouco conceitual que permitem a criacao e analise de redes sociais em linked data sobre engenharia de software?

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

6

Objetivo Geral

• O objetivo geral do trabalho e propor um arcabouco conceitual para analise de redes sociais sobre bases de dados abertos e vinculados de engenharia de software.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

7

Objetivos Especificos

1. Identificar os componentes necessarios para construcao do arcabouco conceitual.

2. Propor um arcabouco conceitual.

3. Construir consultas a fim de extrair os dados e montar a(s) rede(s) a ser(em) analisada(s).

4. Testar o arcabouco conceitual proposto.

5. Executar analise de redes sociais sobre os resultados.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

8

Web Semântica

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

9

Exemplo de tripla RDF

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

10

RedesUma rede, em sua forma mais simples, e uma colecao de pontos ligados em par por linhas (NEWMAN, 2010).

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

11

Redes SociaisUma rede social acontece quando ha interacao social entre individuos, como em uma amizade, casamento ou comunicacao. (XU; CHRISTLEY; MADEY, 2006)

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

12

Metricas

• Intermediacao (Betweeness)• Autovetor (Eigenvector)• Aglomeracao (Cluster)

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

13

Aplicacoes de ARS na engenharia de softwareFonte de dados para ARS

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

14

Metodologia

Abordagem Qualitativa

Tipo ExplicativaMétodo ExperimentalNatureza Pesquisa Aplicada

Validação Avaliação - Prova de Conceito

William Rufino

15

Origem dos Dados

SeCold

William RufinoColaboracao em software de codigo

aberto: um framework para analise em redes sociais

• Primeira base online em linked data sobre artefatos de software.

• Criado na universidade de Concordia, CA.

• Disponivel na nuvem LOD.

Fatos

16

Origem dos Dados

Projeto Chromium

William RufinoColaboracao em software de codigo

aberto: um framework para analise em redes sociais

• Codigo aberto• Grande número de

colaboradores• Muito ativo

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

17

Arcabouco Conceitual

William Rufino

18

Implementacao

William RufinoColaboracao em software de codigo

aberto: um framework para analise em redes sociais

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

19

Validacao

• Dados sobre bugs. • Segundo tipo mais utilizado segundo

revisao sistematica da literatura.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

20

Validacao – Caso 1Um usuario esta conectado a outro usuario caso os dois tenham feito algum comentario em um bug comum.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

21

Validacao – Caso 2 Combinacao de comentarios por palavras-chave atraves da API AlchemyAPI.

Dois comentarios com a mesma palavra-chave estao conectados entre si.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

22

Rede gerada – Caso 1

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

23

Comunidades da Rede

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

24

Nos com maior relevância

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

25

Por que Autovetor e nao grau?

• Nos que tenham conexao a nos mais relevantes sao mais relevantes que nos que tenham conexoes a nos poucos relevantes.

• Metricas de relevância como o Pagerank Page, Lawrence; Brin, Sergey; Motwani, Rajeev and Winograd, Terry (1998) sao derivadas do Autovetor.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

26

Intermediacao

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

27

Por que Intermediacao?

• Um ator com alta intermediacao pode controlar o fluxo de colaboracao.

• Alta intermediacao significa um caminho mais curto para conectar a outros atores.

• Sua remocao pode quebrar a rede.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

28

Intermediacao por AutovetorQuem serve de ponto e e relevante...

William Rufino

Inte

rmed

iaçã

o

Relevância

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

29

Intermediacao por AutovetorQuem serve de ponto e e relevante...

William Rufino

Inte

rmed

iaçã

o

Relevância

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

30

Rede Gerada – Caso 2

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

31

Comunidades da Rede

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

32

Nos com maior relevância

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

33

Intermediacao

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

34

Intermediacao por AutovetorQuem serve de ponto e e relevante...

William Rufino

Inte

rmed

iaçã

o

Relevância

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

35

Intermediacao por AutovetorQuem serve de ponto e e relevante...

William Rufino

Inte

rmed

iaçã

o

Relevância

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

36

Estudo da Colaboracao

• Identificacao de principais atores.• Identificacao de comunidades dentro da

rede.• Identificacao de atores pouco eficientes.• Treinamento de equipes• Melhoria da comunicacao• Identificacao de papeis dentro da rede.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

37

Objetivos Alcancados

Identificar os componentes necessarios para construção do arcabouço conceitual.

Revisão da literatura

Propor um arcabouço conceitual. Arcabouço ConceitualConstruir consultas a fim de extrair os dados e montar a(s) rede(s) a ser(em) analisada(s).

Implementação – Scripts de processamento

Testar o arcabouço conceitual proposto.

Implementação e Validação

Executar analise de redes sociais sobre os resultados.

Validação

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

38

Consideracoes Finais

A construcao do arcabouco para esse experimento mostra que as bases de dados em linked data podem ser exploradas para estudos na engenharia software, gerando, assim, novos conhecimentos e mais dados abertos, de forma que possam ser disponibilizados para uso de outros pesquisadores.

William Rufino

Colaboracao em software de codigo aberto: um framework para analise em redes sociais

39

Obrigado!

William Rufino

williamhrs@gmail.com

William Rufino