Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion

Detalhes bibliográficos
Autor(a) principal: Silva, Bruno Carreiro da
Data de Publicação: 2015
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFBA
Texto Completo: http://repositorio.ufba.br/ri/handle/ri/22845
Resumo: 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.
id UFBA-2_ddb9027db7483727826c3266e9663733
oai_identifier_str oai:repositorio.ufba.br:ri/22845
network_acronym_str UFBA-2
network_name_str Repositório Institucional da UFBA
repository_id_str 1932
spelling Silva, Bruno Carreiro daSant’Anna, Cláudio NogueiraSant’Anna, Cláudio NogueiraMendonça Neto, Manoel Gomes deBittencourt, Roberto AlmeidaValente, Marco Tulio de OliveiraMassoni, Tiago LimaApolinário Júnior, Antonio Lopes2017-06-07T11:34:57Z2017-06-07T11:34:57Z2017-06-072015-08-03http://repositorio.ufba.br/ri/handle/ri/22845Coesã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.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)Sistemas ComputacionaisCoesão de módulosMétricas de coesão conceitualMétricas de coesão estruturalPropensão à mudançaUnderstanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesioninfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisInstituto de MatemáticaPrograma Multiinstitucional de Pós-graduação em Ciência da Computação, UFBA-UNIFACS-UEFSIMbrasilinfo:eu-repo/semantics/openAccessengreponame:Repositório Institucional da UFBAinstname:Universidade Federal da Bahia (UFBA)instacron:UFBAORIGINALPDF - Tese.pdfPDF - Tese.pdfapplication/pdf3701924https://repositorio.ufba.br/bitstream/ri/22845/1/PDF%20-%20Tese.pdf3dc861b1466bb1ab4f6727b3e26ad2f6MD51LICENSElicense.txtlicense.txttext/plain1383https://repositorio.ufba.br/bitstream/ri/22845/2/license.txt05eca2f01d0b3307819d0369dab18a34MD52TEXTPDF - Tese.pdf.txtPDF - Tese.pdf.txtExtracted texttext/plain370018https://repositorio.ufba.br/bitstream/ri/22845/3/PDF%20-%20Tese.pdf.txtcaaf042f640f68e85e2d2466a2e9fb11MD53ri/228452022-02-20 21:59:38.149oai:repositorio.ufba.br:ri/22845VGVybW8gZGUgTGljZW7Dp2EsIG7Do28gZXhjbHVzaXZvLCBwYXJhIG8gZGVww7NzaXRvIG5vIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGQkEuCgogUGVsbyBwcm9jZXNzbyBkZSBzdWJtaXNzw6NvIGRlIGRvY3VtZW50b3MsIG8gYXV0b3Igb3Ugc2V1IHJlcHJlc2VudGFudGUgbGVnYWwsIGFvIGFjZWl0YXIgCmVzc2UgdGVybW8gZGUgbGljZW7Dp2EsIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGEgQmFoaWEgCm8gZGlyZWl0byBkZSBtYW50ZXIgdW1hIGPDs3BpYSBlbSBzZXUgcmVwb3NpdMOzcmlvIGNvbSBhIGZpbmFsaWRhZGUsIHByaW1laXJhLCBkZSBwcmVzZXJ2YcOnw6NvLiAKRXNzZXMgdGVybW9zLCBuw6NvIGV4Y2x1c2l2b3MsIG1hbnTDqm0gb3MgZGlyZWl0b3MgZGUgYXV0b3IvY29weXJpZ2h0LCBtYXMgZW50ZW5kZSBvIGRvY3VtZW50byAKY29tbyBwYXJ0ZSBkbyBhY2Vydm8gaW50ZWxlY3R1YWwgZGVzc2EgVW5pdmVyc2lkYWRlLgoKIFBhcmEgb3MgZG9jdW1lbnRvcyBwdWJsaWNhZG9zIGNvbSByZXBhc3NlIGRlIGRpcmVpdG9zIGRlIGRpc3RyaWJ1acOnw6NvLCBlc3NlIHRlcm1vIGRlIGxpY2Vuw6dhIAplbnRlbmRlIHF1ZToKCiBNYW50ZW5kbyBvcyBkaXJlaXRvcyBhdXRvcmFpcywgcmVwYXNzYWRvcyBhIHRlcmNlaXJvcywgZW0gY2FzbyBkZSBwdWJsaWNhw6fDtWVzLCBvIHJlcG9zaXTDs3Jpbwpwb2RlIHJlc3RyaW5naXIgbyBhY2Vzc28gYW8gdGV4dG8gaW50ZWdyYWwsIG1hcyBsaWJlcmEgYXMgaW5mb3JtYcOnw7VlcyBzb2JyZSBvIGRvY3VtZW50bwooTWV0YWRhZG9zIGVzY3JpdGl2b3MpLgoKIERlc3RhIGZvcm1hLCBhdGVuZGVuZG8gYW9zIGFuc2Vpb3MgZGVzc2EgdW5pdmVyc2lkYWRlIGVtIG1hbnRlciBzdWEgcHJvZHXDp8OjbyBjaWVudMOtZmljYSBjb20gCmFzIHJlc3RyacOnw7VlcyBpbXBvc3RhcyBwZWxvcyBlZGl0b3JlcyBkZSBwZXJpw7NkaWNvcy4KCiBQYXJhIGFzIHB1YmxpY2HDp8O1ZXMgc2VtIGluaWNpYXRpdmFzIHF1ZSBzZWd1ZW0gYSBwb2zDrXRpY2EgZGUgQWNlc3NvIEFiZXJ0bywgb3MgZGVww7NzaXRvcyAKY29tcHVsc8OzcmlvcyBuZXNzZSByZXBvc2l0w7NyaW8gbWFudMOqbSBvcyBkaXJlaXRvcyBhdXRvcmFpcywgbWFzIG1hbnTDqm0gYWNlc3NvIGlycmVzdHJpdG8gCmFvIG1ldGFkYWRvcyBlIHRleHRvIGNvbXBsZXRvLiBBc3NpbSwgYSBhY2VpdGHDp8OjbyBkZXNzZSB0ZXJtbyBuw6NvIG5lY2Vzc2l0YSBkZSBjb25zZW50aW1lbnRvCiBwb3IgcGFydGUgZGUgYXV0b3Jlcy9kZXRlbnRvcmVzIGRvcyBkaXJlaXRvcywgcG9yIGVzdGFyZW0gZW0gaW5pY2lhdGl2YXMgZGUgYWNlc3NvIGFiZXJ0by4KRepositório InstitucionalPUBhttp://192.188.11.11:8080/oai/requestopendoar:19322022-02-21T00:59:38Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)false
dc.title.pt_BR.fl_str_mv Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion
title Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion
spellingShingle Understanding Software Cohesion Metrics: Experimental Assessment of Conceptual Cohesion
Silva, Bruno Carreiro da
Sistemas Computacionais
Coesão de módulos
Métricas de coesão conceitual
Métricas de coesão estrutural
Propensão à mudança
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
author Silva, Bruno Carreiro da
author_facet Silva, Bruno Carreiro da
author_role author
dc.contributor.author.fl_str_mv Silva, Bruno Carreiro da
dc.contributor.advisor1.fl_str_mv Sant’Anna, Cláudio Nogueira
dc.contributor.referee1.fl_str_mv 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
contributor_str_mv 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
dc.subject.cnpq.fl_str_mv Sistemas Computacionais
topic Sistemas Computacionais
Coesão de módulos
Métricas de coesão conceitual
Métricas de coesão estrutural
Propensão à mudança
dc.subject.por.fl_str_mv Coesão de módulos
Métricas de coesão conceitual
Métricas de coesão estrutural
Propensão à mudança
description 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.
publishDate 2015
dc.date.submitted.none.fl_str_mv 2015-08-03
dc.date.accessioned.fl_str_mv 2017-06-07T11:34:57Z
dc.date.available.fl_str_mv 2017-06-07T11:34:57Z
dc.date.issued.fl_str_mv 2017-06-07
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://repositorio.ufba.br/ri/handle/ri/22845
url http://repositorio.ufba.br/ri/handle/ri/22845
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Instituto de Matemática
dc.publisher.program.fl_str_mv Programa Multiinstitucional de Pós-graduação em Ciência da Computação, UFBA-UNIFACS-UEFS
dc.publisher.initials.fl_str_mv IM
dc.publisher.country.fl_str_mv brasil
publisher.none.fl_str_mv Instituto de Matemática
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFBA
instname:Universidade Federal da Bahia (UFBA)
instacron:UFBA
instname_str Universidade Federal da Bahia (UFBA)
instacron_str UFBA
institution UFBA
reponame_str Repositório Institucional da UFBA
collection Repositório Institucional da UFBA
bitstream.url.fl_str_mv https://repositorio.ufba.br/bitstream/ri/22845/1/PDF%20-%20Tese.pdf
https://repositorio.ufba.br/bitstream/ri/22845/2/license.txt
https://repositorio.ufba.br/bitstream/ri/22845/3/PDF%20-%20Tese.pdf.txt
bitstream.checksum.fl_str_mv 3dc861b1466bb1ab4f6727b3e26ad2f6
05eca2f01d0b3307819d0369dab18a34
caaf042f640f68e85e2d2466a2e9fb11
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)
repository.mail.fl_str_mv
_version_ 1801502615304929280