Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion

Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-06-01T20:31:21Z
No. of bitstreams: 1
PDF - Tese.pdf: 3701924 bytes, checksum: 3dc861b1466bb1ab4f6727b3e26ad2f6 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-07T11:34:57Z (GMT) No. of bitstreams: 1
PDF - Tese.pdf: 3701924 bytes, checksum: 3dc861b1466bb1ab4f6727b3e26ad2f6 (MD5) / Made available in DSpace on 2017-06-07T11:34:57Z (GMT). No. of bitstreams: 1
PDF - Tese.pdf: 3701924 bytes, checksum: 3dc861b1466bb1ab4f6727b3e26ad2f6 (MD5) / 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.

Identiferoai:union.ndltd.org:IBICT/oai:192.168.11:11:ri/22845
Date03 August 2015
CreatorsSilva, Bruno Carreiro da
ContributorsSant’Anna, Cláudio Nogueira, Sant’Anna, Cláudio Nogueira, Mendonça Neto, Manoel Gomes de, Bittencourt, Roberto Almeida, Valente, Marco Tulio de Oliveira, Massoni, Tiago Lima, Apolinário Júnior, Antonio Lopes
PublisherInstituto de Matemática, Programa Multiinstitucional de Pós-graduação em Ciência da Computação, UFBA-UNIFACS-UEFS, IM, brasil
Source SetsIBICT Brazilian ETDs
LanguageEnglish
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis
Sourcereponame:Repositório Institucional da UFBA, instname:Universidade Federal da Bahia, instacron:UFBA
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0022 seconds