On the perceived relevance of critical internal quality attributes when evolving software features

Eduardo Fernandes*, Marcos Kalinowski

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Abstract

Several refactorings performed while evolving soft- ware features aim to improve internal quality attributes like cohesion and complexity. Indeed, internal attributes can become critical if their measurements assume anomalous values. Yet, current knowledge is scarce on how developers perceive the relevance of critical internal attributes while evolving features. This qualitative study investigates the developers’ perception of the relevance of critical internal attributes when evolving features. We target six class-level critical attributes: low cohesion, high complexity, high coupling, large hierarchy depth, large hierarchy breadth, and large size. We performed two industrial case studies based on online focus group sessions. Developers discussed how much (and why) critical attributes are relevant when adding or enhancing features. We assessed the relevance of critical attributes individually and relatively, the reasons behind the relevance of each critical attribute, and the interrelations of critical attributes. Low cohesion and high complexity were perceived as very relevant because they often make evolving features hard while tracking failures and adding features. The other critical attributes were perceived as less relevant when reusing code or adopting design patterns. An example of perceived interrelation is high complexity leading to high coupling.
Original languageEnglish
Title of host publication2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)
Place of PublicationWashington, D.C.
PublisherIEEE Computer Society Press
Publication date2023
Pages13-24
DOIs
Publication statusPublished - 2023
Externally publishedYes
Event16th International Conference on Cooperative and Human Aspects of Software Engineering - Melbourne, Australia
Duration: 14. May 202315. May 2023

Conference

Conference16th International Conference on Cooperative and Human Aspects of Software Engineering
Country/TerritoryAustralia
CityMelbourne
Period14/05/202315/05/2023

Keywords

  • industry case study
  • internal quality attribute
  • refactoring
  • software evolution
  • software feature

Fingerprint

Dive into the research topics of 'On the perceived relevance of critical internal quality attributes when evolving software features'. Together they form a unique fingerprint.

Cite this