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...
Main Author: | |
---|---|
Other Authors: | |
Language: | English |
Published: |
Instituto de Matemática
2017
|
Subjects: | |
Online Access: | http://repositorio.ufba.br/ri/handle/ri/22845 |
id |
ndltd-IBICT-oai-192.168.11-11-ri-22845 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
English |
sources |
NDLTD |
topic |
Sistemas Computacionais Coesão de módulos Métricas de coesão conceitual Métricas de coesão estrutural Propensão à mudança |
spellingShingle |
Sistemas Computacionais Coesão de módulos Métricas de coesão conceitual Métricas de coesão estrutural Propensão à mudança Silva, Bruno Carreiro da Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion |
description |
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. |
author2 |
Sant’Anna, Cláudio Nogueira |
author_facet |
Sant’Anna, Cláudio Nogueira Silva, Bruno Carreiro da |
author |
Silva, Bruno Carreiro da |
author_sort |
Silva, Bruno Carreiro da |
title |
Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion |
title_short |
Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion |
title_full |
Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion |
title_fullStr |
Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion |
title_full_unstemmed |
Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion |
title_sort |
understanding software cohesion metrics: experimental assessment of conceptual cohesion |
publisher |
Instituto de Matemática |
publishDate |
2017 |
url |
http://repositorio.ufba.br/ri/handle/ri/22845 |
work_keys_str_mv |
AT silvabrunocarreiroda understandingsoftwarecohesionmetricsexperimentalassessmentofconceptualcohesion |
_version_ |
1718770949738725376 |
spelling |
ndltd-IBICT-oai-192.168.11-11-ri-228452018-10-07T07:45:00Z Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion Silva, Bruno Carreiro da Sant’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 Sistemas Computacionais Coesão de módulos Métricas de coesão conceitual Métricas de coesão estrutural Propensão à mudança 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. 2017-06-07T11:34:57Z 2017-06-07T11:34:57Z 2017-06-07 2015-08-03 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/doctoralThesis http://repositorio.ufba.br/ri/handle/ri/22845 eng info:eu-repo/semantics/openAccess Instituto de Matemática Programa Multiinstitucional de Pós-graduação em Ciência da Computação, UFBA-UNIFACS-UEFS IM brasil reponame:Repositório Institucional da UFBA instname:Universidade Federal da Bahia instacron:UFBA |