2012 qualificacao-rodrigo-2012
TRANSCRIPT
![Page 1: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/1.jpg)
Reabertura de Defeitos Corrigidos: Impactos e Prevenção
(Exame de Qualificação)
Rodrigo Rocha G. e Souza <[email protected]>
Orientadora: Christina von Flach Garcia ChavezCo-Orientador: Roberto Almeida Bittencourt
Laboratório de Engenharia de Software (LES)Universidade Federal da Bahia (UFBA)
3 de dezembro de 2012 1
![Page 2: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/2.jpg)
IntroduçãoContexto e Motivação.
Estado da Arte e Limitações.
2
![Page 3: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/3.jpg)
Durante o desenvolvimento de software, defeitos são relatados em sistemas de acompanhamento de defeitos
Artefato: relatório de defeito ou tíquete
3
![Page 4: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/4.jpg)
4
Criação de Tíquete
![Page 5: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/5.jpg)
5
![Page 6: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/6.jpg)
6
![Page 7: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/7.jpg)
7
![Page 8: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/8.jpg)
7
FIXED / DUPLICATE / WONTFIX / WORKSFORME / INVALID
![Page 9: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/9.jpg)
Processo de Correção de
Defeitos
confirmação
triagem
localização
correção
verificação
8
![Page 10: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/10.jpg)
Processo de Correção de
Defeitos
confirmação
triagem
localização
correção
verificação
8
UNCONFIRMED => NEW
![Page 11: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/11.jpg)
Processo de Correção de
Defeitos
confirmação
triagem
localização
correção
verificação
8
DUPLICATEWONTFIX
WORKSFORMEINVALID
UNCONFIRMED => NEW
![Page 12: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/12.jpg)
Processo de Correção de
Defeitos
confirmação
triagem
localização
correção
verificação
8
DUPLICATEWONTFIX
WORKSFORMEINVALID
UNCONFIRMED => NEW
![Page 13: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/13.jpg)
Processo de Correção de
Defeitos
confirmação
triagem
localização
correção
verificação
8
DUPLICATEWONTFIX
WORKSFORMEINVALID
FIXED
UNCONFIRMED => NEW
![Page 14: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/14.jpg)
Processo de Correção de
Defeitos
confirmação
triagem
localização
correção
verificação
8
DUPLICATEWONTFIX
WORKSFORMEINVALID
FIXED
UNCONFIRMED => NEW
VERIFIED
![Page 15: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/15.jpg)
confirmação
triagem
localização
correção
verificação
9
existe uma fase de verificação?
é feita pelo responsável pela triagem?
que resoluções são empregadas?
Características
etc.
![Page 16: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/16.jpg)
Reabertura de Defeitos
• Depois de marcado como resolvido, o tíquete é reaberto.
10
![Page 17: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/17.jpg)
Quando o defeito pode ser reaberto
confirmação
triagem
localização
correção
verificação
11
![Page 18: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/18.jpg)
Quando o defeito pode ser reaberto
confirmação
triagem
localização
correção
verificação
11
DUPLICATEWONTFIX
WORKSFORMEINVALID
![Page 19: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/19.jpg)
Quando o defeito pode ser reaberto
confirmação
triagem
localização
correção
verificação
11
DUPLICATEWONTFIX
WORKSFORMEINVALID
FIXED
![Page 20: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/20.jpg)
Quando o defeito pode ser reaberto
confirmação
triagem
localização
correção
verificação
11
DUPLICATEWONTFIX
WORKSFORMEINVALID
FIXED
VERIFIED
![Page 21: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/21.jpg)
Só 2% dos defeitos corrigidos são reabertos
12
(Fonte: Almossawi, 2012)
![Page 22: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/22.jpg)
Porém, defeitos reabertos...
13
![Page 23: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/23.jpg)
levam mais tempo para ser corrigidos
14
(Fonte: Shihab et al., 2010)
![Page 24: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/24.jpg)
envolvem mais desenvolvedores
15
(Fonte: Park et al., 2012)
![Page 25: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/25.jpg)
podem atrasar o lançamento de novas
versões
16
![Page 26: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/26.jpg)
podem ser descobertos após o lançamento
17
![Page 27: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/27.jpg)
A reabertura de defeitos deve ser evitada
18
+ reabertura =- produtividade- qualidade
![Page 28: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/28.jpg)
Qual o estado da arte sobre
reabertura de defeitos?
19
![Page 29: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/29.jpg)
Métodos
• Mineração de repositórios de software (relatórios de defeito, código-fonte)
• Mineração de dados, estatística
• Questionários
![Page 30: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/30.jpg)
Estado da Arte
• Por que os defeitos são reabertos?
• Em que defeitos reabertos diferem dos demais?
• Qual o custo da reabertura de defeitos?
![Page 31: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/31.jpg)
Por que os defeitos são reabertos?
• Zimmermann et al., 2012:
• Dificuldade de se reproduzir o defeito
• Causa raiz do defeito não identificada
• Avaliação incorreta da prioridade (wontfix)
• Correção incompleta
• Problemas de integração de código
22
![Page 32: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/32.jpg)
Por que os defeitos são reabertos?
• Almossawi, 2012 (apenas defeitos “fixed”):
• 68%: o defeito reapareceu
• 16%: erros humanos, falhas na colaboração (ex.: esquecer de anexar o patch)
• 7%: o defeito regrediu por causa de outras alterações
• 9%: causas diversas
23
![Page 33: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/33.jpg)
Em que defeitos reabertos diferem dos demais?
• Shihab et al., 2010
• Palavras usadas na descrição e nos comentários (ex.: “depuração”, “plataformas”).
• Tempo para a primeira correção.
• Componente onde o defeito foi encontrado.
24
![Page 34: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/34.jpg)
Em que defeitos reabertos diferem dos demais?
• Zimmermann et al., 2012:
• Como foram encontrados: revisão de código e ferramentas de análise vs. usuários e teste de sistema.
• Maior severidade.
25
![Page 35: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/35.jpg)
Em que defeitos reabertos diferem dos demais?
• Desenvolvedores mais ativos (em código-fonte) tendem a fornecer correções definitivas. (Jongyindee et al., 2011)
• Defeitos corrigidos e reabertos estão associados a código-fonte com alta complexidade ciclomática. (Almossawi, 2012)
26
![Page 36: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/36.jpg)
Qual o custo da reabertura de defeitos?
• Considerando apenas defeitos corrigidos, a taxa de reabertura é de 2,15% no GNOME, 1,35% no Evolution e 3,88% no GTK+. (Almossawi, 2012)
27
![Page 37: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/37.jpg)
Qual o custo da reabertura de defeitos?
• Defeitos reabertos têm ciclo de vida...
• 2x mais longo (Shihab et al., 2010)
• 56 a 91% mais longo (Park et al., 2012)
• Defeitos reabertos envolvem a participação de 21 a 62% mais desenvolvedores. (Park et al., 2012)
28
![Page 38: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/38.jpg)
Qual o custo da reabertura de defeitos?
• Nem todas as reaberturas representam custo adicional significativo. Às vezes defeitos são fechados de propósito para serem resolvidos no futuro. (Jongyindee et al., 2011)
29
![Page 39: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/39.jpg)
Observações sobre o estado da arte
![Page 40: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/40.jpg)
Área recente: 2010–
31
![Page 41: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/41.jpg)
Caracterização e predição de reabertura
32
![Page 42: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/42.jpg)
Predição ≠ Prevenção
33
![Page 43: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/43.jpg)
Reabertura após triagemvs.
Reabertura após correção
34
![Page 44: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/44.jpg)
Conhecimento limitado sobre o
impacto da reabertura
35
![Page 45: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/45.jpg)
PropostaObjetivos. Questõesde Pesquisa. Métodos
36
![Page 46: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/46.jpg)
37
Avaliar que características do processo de correção de defeitos
(sobretudo verificação) contribuem para evitar a
reabertura de defeitos corrigidos ou reduzir seus impactos
Objetivo Geral
![Page 47: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/47.jpg)
38
Avaliar que características do processo de correção de defeitos
(sobretudo verificação) contribuem para evitar a
reabertura de defeitos corrigidos ou reduzir seus impactos
Objetivo Geral
![Page 48: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/48.jpg)
38
Avaliar que características do processo de correção de defeitos
(sobretudo verificação) contribuem para evitar a
reabertura de defeitos corrigidos ou reduzir seus impactos
Objetivo Geral
foco em prevenção
![Page 49: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/49.jpg)
38
Avaliar que características do processo de correção de defeitos
(sobretudo verificação) contribuem para evitar a
reabertura de defeitos corrigidos ou reduzir seus impactos
Objetivo Geral
foco em prevenção
foco em defeitos corrigidos
![Page 50: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/50.jpg)
38
Avaliar que características do processo de correção de defeitos
(sobretudo verificação) contribuem para evitar a
reabertura de defeitos corrigidos ou reduzir seus impactos
Objetivo Geral
foco em prevenção
foco em defeitos corrigidos foco em
impactos
![Page 51: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/51.jpg)
1. Caracterizar o processo de verificação a partir de relatórios
de defeito
39
Objetivo Específico
![Page 52: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/52.jpg)
40
Questões de Pesquisa
![Page 53: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/53.jpg)
• RQ1.1: Quando a verificação é realizada dentro do ciclo de vida de lançamentos?
40
Questões de Pesquisa
![Page 54: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/54.jpg)
• RQ1.1: Quando a verificação é realizada dentro do ciclo de vida de lançamentos?
• RQ1.2: Quem realiza a verificação? Há uma equipe dedicada?
40
Questões de Pesquisa
![Page 55: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/55.jpg)
• RQ1.1: Quando a verificação é realizada dentro do ciclo de vida de lançamentos?
• RQ1.2: Quem realiza a verificação? Há uma equipe dedicada?
• RQ1.3: Que técnicas são empregadas para a verificação?
40
Questões de Pesquisa
![Page 56: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/56.jpg)
• RQ1.1: Quando a verificação é realizada dentro do ciclo de vida de lançamentos?
• RQ1.2: Quem realiza a verificação? Há uma equipe dedicada?
• RQ1.3: Que técnicas são empregadas para a verificação?
• RQ1.4: Que ameaças existem ao se investigar as questões RQ1.{1,2,3} através da mineração de repositórios de software?
40
Questões de Pesquisa
![Page 57: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/57.jpg)
2. Caracterizar a reabertura de defeitos (ocorrência e custo*)
* tempo
41
Objetivo Específico
![Page 58: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/58.jpg)
42
Questões de Pesquisa
![Page 59: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/59.jpg)
• RQ2.1: Como a reabertura de defeitos se distribui em relação ao tempo, aos desenvolvedores etc.?
42
Questões de Pesquisa
![Page 60: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/60.jpg)
• RQ2.1: Como a reabertura de defeitos se distribui em relação ao tempo, aos desenvolvedores etc.?
• RQ2.2: Qual o custo de defeitos reabertos (em relação a não-reabertos), em termos de tempo de desenvolvimento?
42
Questões de Pesquisa
![Page 61: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/61.jpg)
3. Investigar a influência do processo de verificação na ocorrência e no custo de
reaberturas
43
Objetivo Específico
![Page 62: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/62.jpg)
44
Questões de Pesquisa
![Page 63: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/63.jpg)
• RQ3.1: Qual o impacto do instante da verificação na reabertura de defeitos?
44
Questões de Pesquisa
![Page 64: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/64.jpg)
• RQ3.1: Qual o impacto do instante da verificação na reabertura de defeitos?
• RQ3.2: Qual o impacto da equipe de qualidade na reabertura de defeitos?
44
Questões de Pesquisa
![Page 65: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/65.jpg)
• RQ3.1: Qual o impacto do instante da verificação na reabertura de defeitos?
• RQ3.2: Qual o impacto da equipe de qualidade na reabertura de defeitos?
• RQ3.3: Qual o impacto da técnica de verificação na reabertura de defeitos?
44
Questões de Pesquisa
![Page 66: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/66.jpg)
Método
45
![Page 67: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/67.jpg)
Método• Mineração de repositórios de software
45
![Page 68: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/68.jpg)
Método• Mineração de repositórios de software
• Dados: relatórios de defeitos
45
![Page 69: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/69.jpg)
Método• Mineração de repositórios de software
• Dados: relatórios de defeitos
• Ameaças
45
![Page 70: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/70.jpg)
Método• Mineração de repositórios de software
• Dados: relatórios de defeitos
• Ameaças
• nem toda a coordenação entre desenvolvedores está registrada
45
![Page 71: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/71.jpg)
Método• Mineração de repositórios de software
• Dados: relatórios de defeitos
• Ameaças
• nem toda a coordenação entre desenvolvedores está registrada
• o defeito pode ter sido resolvido antes mesmo de ser relatado
45
![Page 72: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/72.jpg)
Método• Mineração de repositórios de software
• Dados: relatórios de defeitos
• Ameaças
• nem toda a coordenação entre desenvolvedores está registrada
• o defeito pode ter sido resolvido antes mesmo de ser relatado
• pode haver edições em massa
45
![Page 73: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/73.jpg)
Método
• Análise exploratória*: levantamento de variáveis de interesse
• Classificação automática
• Análise exploratória*: validação
• Caracterização ou inferência
* quantitativa e qualitativa
![Page 74: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/74.jpg)
47
• Método: teste exato de Fisher (associação entre variáveis)
• Desafio: isolar variáveis de confusão (ex.: severidade, componente...)
• Estratificação
• Regressão
Método(objetivo específico 3)
![Page 75: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/75.jpg)
Projetos Estudados
![Page 76: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/76.jpg)
Resultados Parciais
49
![Page 77: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/77.jpg)
Como aproveitar relatórios de defeito para minerar o
processo de verificação? Há ruído nos dados?
50
(Objetivo Específico 1)
![Page 78: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/78.jpg)
51
há ruídos nos dados?
quando é feita a verificação?
quem faz a verificação?
como é feita a verificação?
(RQ1.4)
(RQ1.1)
(RQ1.2)
(RQ1.3)
![Page 79: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/79.jpg)
verificações em massa
há ruídos nos dados?
52
![Page 80: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/80.jpg)
há ruídos nos dados?
No Eclipse Modelling Framework, VERIFIED significa que o patch está disponível em uma build.
53
![Page 81: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/81.jpg)
fase de verificação
quando é feita a verificação?
54
![Page 82: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/82.jpg)
quem faz a verificação?
55
time deQA
10
![Page 83: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/83.jpg)
quem faz a verificação?
55
20% dos desenvolvedores
time deQA
10
![Page 84: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/84.jpg)
quem faz a verificação?
55
20% dos desenvolvedores
time deQA
80% das verificações
10
![Page 85: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/85.jpg)
como é feita a verificação?
56
A maioria dos comentários não traz informação sobre a técnica empregada.
![Page 86: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/86.jpg)
Resumo
57
Fase de verificação ✓ ✗
Time de QA ✗ ✓
Comentários raramente mencionam técnica de verificação.⚠ Cuidado com verificações em massa.
![Page 87: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/87.jpg)
Será que determinadas práticas de verificação são
mais eficazes do que outras no sentido de evitar
reaberturas?(em andamento)
58
![Page 88: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/88.jpg)
4 olhos
59
![Page 89: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/89.jpg)
4 olhos
• Hipótese: bugs verificados por outra pessoa (4 olhos) estão menos sujeitos a serem reabertos (depois da verificação)
59
![Page 90: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/90.jpg)
4 olhos
• Hipótese: bugs verificados por outra pessoa (4 olhos) estão menos sujeitos a serem reabertos (depois da verificação)
• Dados: 34 subprojetos do Eclipse
59
![Page 91: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/91.jpg)
4 olhos
• Hipótese: bugs verificados por outra pessoa (4 olhos) estão menos sujeitos a serem reabertos (depois da verificação)
• Dados: 34 subprojetos do Eclipse
• Método: teste exato de Fisher
59
![Page 92: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/92.jpg)
4 olhos
• Hipótese: bugs verificados por outra pessoa (4 olhos) estão menos sujeitos a serem reabertos (depois da verificação)
• Dados: 34 subprojetos do Eclipse
• Método: teste exato de Fisher
• Resultado: inconclusivo
59
![Page 93: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/93.jpg)
Exemplo de tabela de contingência
não reabriu
reabriu
2 olhos 1985 108
4 olhos 11366 125
![Page 94: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/94.jpg)
• A chance de o bug ser reaberto após a verificação é menor quando...
• ... a verificação é feita pelo time de QA?inconclusivo
• ... a verificação é feita durante a fase de verificação?sim (em 2/4 dos projetos)
• ... uma determinada técnica de verificação é empregada (testes, inspeção etc.)?sim, no caso de inspeção de código no Eclipse/Platform
61
![Page 95: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/95.jpg)
Cronograma
62
![Page 96: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/96.jpg)
Atividades Concluídas
• Requisitos do programa
• Créditos de disciplinas (112%)
• Estágio docência (1 semestre, 2 turmas)
• Pesquisa
• 1º objetivo específico
• publicação no MSR 2012
![Page 97: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/97.jpg)
1. Caracterizar a reabertura de defeitos2. Escrever artigo sobre a caracterização3. Investigar a influência do processo de
verificação na reabertura de defeitos4. Escrever a tese5. Apresentar a tese6. Escrever artigo com os resultados finais
64
Atividades Previstas
![Page 98: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/98.jpg)
1. Caracterizar a reabertura de defeitos2. Escrever artigo sobre a caracterização3. Investigar a influência do processo de
verificação na reabertura de defeitos4. Escrever a tese5. Apresentar a tese6. Escrever artigo com os resultados finais
65
x•
![Page 99: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/99.jpg)
66
2. Escrever artigo sobre a caracterização
![Page 100: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/100.jpg)
Periódicos
• IEEE Transactions on Software Engineering
• Empirical Software Engineering
• Information and Software Technology
• Software Practice and Experience
• Journal of Systems and Software
67
6. Escrever artigo com os resultados finais
![Page 101: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/101.jpg)
Considerações Finais
68
![Page 102: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/102.jpg)
• Proposta do trabalho: estudar a reabertura de defeitos corrigidos — características, custo e meios de preveni-la.
• Área de pesquisa recente.
69
![Page 103: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/103.jpg)
• Espera-se determinar que práticas podem ser usadas para diminuir a quantidade de defeitos reabertos e seus impactos negativos
• Esse conhecimento, se aplicado, ajuda a reduzir o custo de desenvolvimento e aumentar a qualidade do software
70
![Page 104: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/104.jpg)
Referências
71
![Page 105: 2012 qualificacao-rodrigo-2012](https://reader033.vdocuments.site/reader033/viewer/2022052200/55980b551a28ab3f2c8b466b/html5/thumbnails/105.jpg)
[Almossawi 2012] Almossawi, A. (2012). Investigating the architectural drivers of defects in open-source software systems: an empirical study of defects and reopened defects in gnome.
[Jongyindee et al. 2011] Jongyindee, A., Ohira, M., Ihara, A., and Matsumoto, K.-i. (2011). Good or bad committers? a case study of committers’ cautiousness and the conse- quences on the bug fixing process in the eclipse project. In Proceedings of the 2011 Joint Conference of the 21st International Workshop on Software Measurement and the 6th International Conference on Software Process and Product Measurement, IWSM- MENSURA ’11, pages 116–125, Washington, DC, USA. IEEE Computer Society.
[Park et al. 2012] Park, J., Kim, M., Ray, B., and Bae, D.-H. (2012). An empirical study of supplementary bug fixes. In Lanza, M., Penta, M. D., and Xi, T., editors, MSR, pages 40–49. IEEE.
[Shihab et al. 2010] Shihab, E., Ihara, A., Kamei, Y., Ibrahim, W. M., Ohira, M., Adams, B., Hassan, A. E., and Matsumoto, K.-i. (2010). Predicting re-opened bugs: A case study on the eclipse project. In Proceedings of the 2010 17th Working Conference on Reverse Engineering, WCRE ’10, pages 249–258, Washington, DC, USA. IEEE Computer Society.
[Zimmermann et al. 2012] Zimmermann, T., Nagappan, N., Guo, P. J., and Murphy, B. (2012). Characterizing and predicting which bugs get reopened. In Proceedings of the 2012 International Conference on Software Engineering, ICSE 2012, pages 1074– 1083, Piscataway, NJ, USA. IEEE Press.