skip to main content
Primo Advanced Search
Primo Advanced Search Query Term
Primo Advanced Search prefilters

Context-based code quality assessment

Aniche, Mauricio Finavaro

Biblioteca Digital de Teses e Dissertações da USP; Universidade de São Paulo; Instituto de Matemática e Estatística 2016-07-15

Acesso online. A biblioteca também possui exemplares impressos.

  • Título:
    Context-based code quality assessment
  • Autor: Aniche, Mauricio Finavaro
  • Orientador: Gerosa, Marco Aurélio
  • Assuntos: Maus Cheiros De Código; Arquitetura De Software; Qualidade De Código; Engenharia De Software; Manutenção De Software; Papéis Arquiteturais; Métricas De Código; Software Engineering; Software Architecture; Architectural Roles; Code Smells; Code Quality; Code Metrics; Software Maintenance
  • Notas: Tese (Doutorado)
  • Descrição: Two tasks that software engineers constantly perform are writing code that is easy to evolve and maintain, and detecting poorly written pieces of code. For the former, software engineers commonly rely on well-known software architecture styles, such as Model-View-Controller (MVC). To the latter, they rely on code metrics and code smell detection approaches. However, up to now, these code metrics and code smell approaches do not take into account underlying architectureall classes are assessed as if they were the same. In practice, software developers know that classes differ in terms of responsibilities and implementation, and thus, we expect these classes to present different levels of coupling, cohesion, and complexity. As an example, in an MVC system, Controllers are responsible for the flow between the Model and the View, and Models are responsible for representing the systems business concepts. Thus, in this thesis, we evaluate the impact of architectural roles within a system architecture on code metrics and code smells. We performed an empirical analysis in 120 open source systems, and interviewed and surveyed more than 50 software developers. Our findings show that each architectural role has a different code metric values distribution, which is a likely consequence of their specific responsibilities. Thus, we propose SATT, an approach that provides specific thresholds for architectural roles that are significantly different from others in terms of code smells. We also show that classes that play a specific architectural role contain specific code smells, which developers perceive as problems, and can impact class\' change- and defect-proneness. Based on our findings, we suggest that developers understand the responsibilities of each architectural role in their system architecture, so that code metrics and code smells techniques can provide more accurate feedback.
  • DOI: 10.11606/T.45.2016.tde-13092016-123733
  • Editor: Biblioteca Digital de Teses e Dissertações da USP; Universidade de São Paulo; Instituto de Matemática e Estatística
  • Data de criação/publicação: 2016-07-15
  • Formato: Adobe PDF
  • Idioma: Inglês

Buscando em bases de dados remotas. Favor aguardar.