39
Colaborao em software de cdigo aberto: um framework para anlise 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 Informao.

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

Embed Size (px)

Citation preview

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

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.

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

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

2

Introducao

William Rufino

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

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

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

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

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

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

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

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

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

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

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

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

8

Web Semântica

William Rufino

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

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

9

Exemplo de tripla RDF

William Rufino

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

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

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

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

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

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

12

Metricas

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

William Rufino

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

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

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

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

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

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

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

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

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

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

17

Arcabouco Conceitual

William Rufino

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

18

Implementacao

William RufinoColaboracao em software de codigo

aberto: um framework para analise em redes sociais

Page 19: Colaboração em software de código aberto: um framework para análise 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

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

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

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

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

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

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

22

Rede gerada – Caso 1

William Rufino

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

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

23

Comunidades da Rede

William Rufino

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

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

24

Nos com maior relevância

William Rufino

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

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

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

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

26

Intermediacao

William Rufino

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

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

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

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

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

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

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

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

30

Rede Gerada – Caso 2

William Rufino

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

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

31

Comunidades da Rede

William Rufino

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

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

32

Nos com maior relevância

William Rufino

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

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

33

Intermediacao

William Rufino

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

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

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

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

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

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

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

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

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

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

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

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

39

Obrigado!

William Rufino

[email protected]

William Rufino