Qualitygate SourceAudit: A tool for assessing the technical quality of software - Resumo
1. Qualitygate SourceAudit: A tool for assessing the technical
quality of software.
Felipe Neves Brito
Universidade Federal do Ceara
17 de outubro de 2016
2. Roteiro
• Engenharia de Requisitos
• Mudan¸cas no Software
• Medi¸c˜ao da Manutenibilidade
• SourceAudit
• ColombusQM
• Banco de Dados de Referˆencia
• Grafo do Modelo de Manutenibilidade
2 of 22
3. Engenharia de Requisitos
• A engenharia de requisitos ´e uma ´area muito importante no
desenvolvimento de software, onde diversas t´ecnicas ser˜ao
utilizadas para captar as necessidades do cliente.
• Falhas na fase de elicita¸c˜ao de requisitos pode levar `a necessidade
de diversas mudan¸cas no software sendo produzido.
• Al´em disso, fatores como mudan¸cas no mercado ou mudan¸cas nas
necessidades do cliente refletem em mudan¸cas no software em
desenvolvimento
3 of 22
4. Mudan¸cas no Software
• Essa caracter´ıstica natural de constantes mudan¸cas, no software,
impacta diretamente na deteriora¸c˜ao da sua qualidade.
• Como resultado dessa deteriora¸c˜ao:
◦ Aumento no custo de Desenvolvimento
◦ Aumento no custo de Teste
◦ Aumento nos Riscos
• A utiliza¸c˜ao de ferramentas customizadas para reduzir a eros˜ao na
qualidade do software se mostra essencial
4 of 22
5. Medi¸c˜ao da Manutenibilidade
• Avaliar o c´odigo fonte para medir a manutenibilidade ´e crucial para
projetos de software.
• Sem essa informa¸c˜ao, a qualidade do produto entregue ´e medida
apenas utilizando-se os testes de aceita¸c˜ao.
• Testes de aceita¸c˜ao s˜ao importantes para avaliar se o sistema
atende as necessidades do cliente, por´em ligados `as
funcionalidades.
• Testes de aceita¸c˜ao n˜ao s˜ao capazes de prover informa¸c˜oes sobre:
◦ O Custo de Manuten¸c˜ao
◦ O Risco Operacional
5 of 22
6. SourceAudit
• SourceAudit ´e uma ferramenta criada para o gerenciamento da
qualidade de software, no qual permite uma avalia¸c˜ao da
qualidadee de forma
◦ Imediata
◦ Autom´atica
◦ Objetiva
• Utiliza o modelo de manutenibilidade ColombusQM
• Fornece uma forma sistem´atica de visualizar as mudan¸cas na
qualidade do software
6 of 22
7. SourceAudik
• SourceAudit ajuda as equipes de desenvolvimento a produzirem um
c´odigo de melhor qualidade, alertando quando a qualidade do
software diminui.
• Tamb´em contribui para uma melhor performance das equipes no
desenvolvimento do software.
7 of 22
8. ColombusQM
• O modelo de manutenibilidade ColombusQM apresenta a
quantifica¸c˜ao da qualidade do c´odigo fonte.
• SourceAudit possui as principais caracter´ısticas de outras
ferramentas existentes como:
◦ SIG maintainability model
◦ QUAMOCO
◦ Sonar
◦ SQALE
◦ SQUALE
• SourceAudit vai al´em das funcionalidades destas ferramentas,
dando suporte a
◦ An´alise de tendˆencias
◦ Estimativa de custo de manuten¸c˜ao de software.
8 of 22
9. SourceAudik
• Conceitos chaves da medi¸c˜ao usando ColombusQM
◦ Banco de Dados de Referˆencia
◦ Grafo do Modelo de Manutenibilidade
9 of 22
10. Banco de Dados de Referˆencia
• cont´em caracter´ısticas do c´odigo fonte de in´umeros sistemas de
software
• serve de base para compara¸c˜ao com os sistemas a serem avaliados
• A manutenibilidade se tornou poss´ıvel usando o mesmo banco de
dados de referˆencia para:
◦ Diferentes sistemas
◦ Diferentes vers˜oes de um mesmo sistema
10 of 22
11. Grafo do Modelo de Manutenibilidade
• ´E um grafo ac´ıclico em que seus n´os representam caracter´ısticas de
alto n´ıvel e caracter´ısticas de baixo n´ıvel
• As caracter´ısticas de baixo n´ıvel representam os n´os ao qual n˜ao se
tem arestas de entrada e podem ser diretamente calculadas atrav´es
do c´odigo fonte utilizando-se an´alise est´atica.
• As caracter´ısticas de alto n´ıvel, recebem como entrada outras
caracter´ısticas e representam os atributos de qualidade com
significados subjetivos, ou seja, n˜ao podem ser computados
diretamente no c´odigo.
11 of 22
12. Grafo do Modelo de Manutenibilidade
Figura: Grafo do Modelo de Manutenibilidade
12 of 22
13. Grafo do Modelo de Manutenibilidade
• As setas produzidas no grafo representam dependˆencias e o modelo
permite a possibilidade de criar diferentes pesos para as arestas de
acordo com a opini˜ao de desenvolvedores especialistas. Os pesos
representam a distribui¸c˜ao probabil´ıstica dos votos dos
especialistas.
13 of 22
15. Integra¸c˜ao Cont´ınua
• Plugin Jenkins
• Executa ao perceber mudan¸cas no reposit´orio
• Realiza An´alise est´atica de c´odigo:
◦ Computa¸c˜ao das M´etricas de C´odigo
◦ Detecta Viola¸c˜ao de Regras de C´odigo
◦ Detecta C´odigo Duplicado
15 of 22
16. Caracter´ısticas
• Visualizar Dados de Compara¸c˜oes
• Criar Novas Compara¸c˜oes
• Editar ou Remover Compara¸c˜oes
• Visualizar Modelos de Qualidade
• Criar Modelos de Qualidade
16 of 22
20. Referˆencias
BAKOTA, Tibor et al. Qualitygate SourceAudit: A tool for assessing
the technical quality of software. In: Software Maintenance,
Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Software Evolution Week-IEEE Conference on. IEEE, 2014. p.
440-445.
20 of 22
21. Inova¸c˜ao
A Code Refactoring Dataset and Its Assessment Regarding Software
Maintainability
• Istv´an K´ad´ar - Univ. of Szeged, Szeged, Hungary
• P´eter - Univ. of Szeged, Szeged, Hungary
• Rudolf Ferenc - Univ. of Szeged, Szeged, Hungary
• Gyim´othy - Univ. of Szeged, Szeged, Hungary
21 of 22
22. Inova¸c˜ao
Do automatic refactorings improve maintainability? An industrial case
study
• G´abor Sz˝oke - Department of Software Engineering, University of
Szeged, Hungary
• Csaba Nagy - Department of Software Engineering, University of
Szeged, Hungary
• P´eter Heged˝us - Department of Software Engineering, University of
Szeged, Hungary
22 of 22