Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/22845
Tipo: Tese
Título: Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion
Autor(es): Silva, Bruno Carreiro da
Autor(es): Silva, Bruno Carreiro da
Abstract: Coesão tem sido reconhecida como um importante atributo de qualidade em design de software ao longo de décadas. Coesão é definida como o grau em que um módulo está focado em um único interesse do software. Entretanto, medir coesão não é trivial, pois é difícil capturar os interesses realizados por módulos de software. Métricas de coesão bem conhecidas dependem da estrutura do código fonte, pois elas avaliam como métodos dentro de um módulo acessam atributos em comum. No entanto, coesão nem sempre é bem representada pela estrutura internade módulos. Há situações em que métricas de coesão estrutural falham em representar a coesão de módulos de software. Sabendo desta limitação, pesquisadores têm proposto métricas de coesão conceitual, que consistem em formas alternativas de medição de coesão baseadas em quais interesses cada módulo realiza. Entretanto, falta evidência empírica para compreender como métricas de coesão conceitual se encaixam entre diversas métricas de coesão estrutural que têm sido propostas e bem estabelecidas nas últimas décadas e incorporadas em ferramentas de medição de software em escala industrial. Neste contexto, realizamos uma série de estudos empíricos a fim de explicar coesão conceitual como uma diferente forma de medir coesão quando comparada com coesão estrutural convencional. De modo geral, nossa pesquisa envolveu oitenta desenvolvedores de software de nove países, assim como seis sistemas de médio a grande porte, com código aberto e amplamente utilizados na indústria por diversos anos, incluindo um conjunto de aproximadamente trinta mil revisões no código fonte. Como resultado, nós pudemos explicar que coesão conceitual é ortogonal a coesão estrutural, por representar uma dimensão adicional na medição de coesão. Nós encontramos também que tal dimensão adicional é mais próxima de como desenvolvedores raciocinam sobre coesão de módulos e que coesão conceitual é um potencial indicador de propensão a mudança. Mais ainda, através de um estudo adicional, nós demonstramos e explicamos que a seleção de uma estratégia de mapeamento de interesses não deve ser negligenciada, pois isso impacta significativamente nos resultados de medição de coesão conceitual. Entre as estratégias estudadas, o mapeamento manual leva a melhores resultados. Entretanto, como isso requer muito esforço, uma das estratégias de mapeamento automático investigadas pode também ser considerada quando a estratégia manual não é viável. Nós disponibilizamos na web todos os nossos dados e materiais de estudo, incluindo um novo mapeamento manual de interesses sobre um sistema real, e três extensões de ferramenta para computar uma métrica de coesão conceitual. Esses materiais podem ser utilizados ou estendidos por pesquisadores em estudos futuros. Em resumo, nossos resultados podem ser diretamente usados por engenheiros de software quando estiverem planejando ou executando medição de coesão em suas tarefas e quando estiverem construindo ferramentas de medição para ambientes de desenvolvimento. De forma geral, isto justifica esforço adicional para continuar melhorando as tecnologias e o corpo de conhecimento sobre medição de coesão.
Palavras-chave: Coesão de módulos
Métricas de coesão conceitual
Métricas de coesão estrutural
Propensão à mudança
CNPq: Sistemas Computacionais
País: brasil
Sigla da Instituição: IM
metadata.dc.publisher.program: Programa Multiinstitucional de Pós-graduação em Ciência da Computação, UFBA-UNIFACS-UEFS
Tipo de Acesso: Acesso Aberto
URI: http://repositorio.ufba.br/ri/handle/ri/22845
Data do documento: 7-Jun-2017
Aparece nas coleções:Tese (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
PDF - Tese.pdf3,62 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.