Exportar registro bibliográfico

Context-based code quality assessment (2016)

  • Authors:
  • Autor USP: ANICHE, MAURICIO FINAVARO - IME
  • Unidade: IME
  • Sigla do Departamento: MAC
  • Subjects: TÉCNICAS DE PROGRAMAÇÃO; ARQUITETURA DE SOFTWARE; ENGENHARIA DE SOFTWARE; MANUTENÇÃO DE SOFTWARE
  • Keywords: Architectural roles; Code metrics; Code quality; Code smells; Maus cheiros de código; Métricas de código; Papéis arquiteturais; Qualidade de código; Software architecture; Software engineering; Software maintenance
  • Language: Inglês
  • Abstract: Duas tarefas que desenvolvedores de software constantemente fazem são escrever código fácil de ser mantido e evoluído, e detectar pedaços de código problemáticos. Para a primeira tarefa, desenvolvedores comumente fazem uso de conhecidos padrões arquiteturais, como Model-View-Controller (MVC). Para a segunda tarefa, desenvolvedores fazem uso de métricas de código e estratégias de detecção de maus cheiros de código (code smells). No entanto, até o momento, métricas de código e estratégias de detecção de maus cheiros de código não levam em conta a arquitetura do software em análise. Isso significa que todas classes são avaliadas como se umas fossem iguais às outras. Na prática, sabemos que classes são diferentes em suas responsibilidades e implementação, e portanto, esperamos que elas variem em termos de acoplamento, coesão e complexidade. Por exemplo, em um sistema MVC, Controladores são responsáveis pelo fluxo entre a camada de Modelo e a camada de Visão, e Modelos representam a visão de negócios do sistema. Nesta tese, nós avaliamos o impacto dos papéis arquiteturais em técnicas de medição de métricas de código e de detecção de maus cheiros de código. Nós realizamos um estudo empírico em 120 sistemas de código aberto, e entrevistamos e realizamos questionários com mais de 50 desenvolvedores. Nossos resultados mostram que cada papel arquitetural possui distribuições diferentes de valores de métrica de código, consequência das diferentes responsabilidades de cada papel. Comoconsequência, propomos SATT, uma abordagem que provê thresholds específicos para papéis arquiteturais que são significantemente diferentes de outros em termos de métricas de código. Mostramos também que classes que cumprem um papel arquitetural específico também contêm maus cheiros de código específicos. Esses maus cheiros são percebidos por desenvolvedores como problemas reais e podem fazer com que essas classes sejam mais modificadas e apresentem mais defeitos do que classes limpas. Sugerimos então que desenvolvedores entendam a arquitetura dos seus sistemas, bem como as responsabilidades de cada papel arquitetural que as classes desempenham, para que tanto métricas de código quanto estratégias de detecção de maus cheiros de código possam prover um melhor retorno
  • Imprenta:
  • Data da defesa: 15.07.2016
  • Acesso à fonte
    How to cite
    A citação é gerada automaticamente e pode não estar totalmente de acordo com as normas

    • ABNT

      ANICHE, Mauricio Finavaro. Context-based code quality assessment. 2016. Tese (Doutorado) – Universidade de São Paulo, São Paulo, 2016. Disponível em: http://www.teses.usp.br/teses/disponiveis/45/45134/tde-13092016-123733/. Acesso em: 23 abr. 2024.
    • APA

      Aniche, M. F. (2016). Context-based code quality assessment (Tese (Doutorado). Universidade de São Paulo, São Paulo. Recuperado de http://www.teses.usp.br/teses/disponiveis/45/45134/tde-13092016-123733/
    • NLM

      Aniche MF. Context-based code quality assessment [Internet]. 2016 ;[citado 2024 abr. 23 ] Available from: http://www.teses.usp.br/teses/disponiveis/45/45134/tde-13092016-123733/
    • Vancouver

      Aniche MF. Context-based code quality assessment [Internet]. 2016 ;[citado 2024 abr. 23 ] Available from: http://www.teses.usp.br/teses/disponiveis/45/45134/tde-13092016-123733/


Digital Library of Intellectual Production of Universidade de São Paulo     2012 - 2024