在开发软件特性时,关键的内部质量属性的感知相关性

Eduardo Fernandes, Marcos Kalinowski
{"title":"在开发软件特性时,关键的内部质量属性的感知相关性","authors":"Eduardo Fernandes, Marcos Kalinowski","doi":"10.1109/CHASE58964.2023.00010","DOIUrl":null,"url":null,"abstract":"Several refactorings performed while evolving software 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.","PeriodicalId":120979,"journal":{"name":"2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"178 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"On the perceived relevance of critical internal quality attributes when evolving software features\",\"authors\":\"Eduardo Fernandes, Marcos Kalinowski\",\"doi\":\"10.1109/CHASE58964.2023.00010\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Several refactorings performed while evolving software 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.\",\"PeriodicalId\":120979,\"journal\":{\"name\":\"2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)\",\"volume\":\"178 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CHASE58964.2023.00010\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CHASE58964.2023.00010","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

在不断发展的软件特性中执行的一些重构旨在提高内部质量属性,如内聚和复杂性。实际上,如果内部属性的测量值假定为异常值,它们就会变得非常关键。然而,目前关于开发人员在开发功能时如何感知关键内部属性的相关性的知识很少。本定性研究调查了开发人员在开发功能时对关键内部属性相关性的感知。我们针对六个类级别的关键属性:低内聚、高复杂性、高耦合、大层次深度、大层次宽度和大尺寸。我们进行了两个基于在线焦点小组会议的工业案例研究。开发人员讨论了在添加或增强特性时,关键属性的相关性有多大(以及为什么)。我们单独和相对地评估了关键属性的相关性,每个关键属性相关性背后的原因,以及关键属性之间的相互关系。低内聚和高复杂性被认为是非常相关的,因为它们通常会在跟踪故障和添加功能时使功能的发展变得困难。当重用代码或采用设计模式时,其他关键属性被认为不太相关。可感知的相互关系的一个例子是导致高耦合的高复杂性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
On the perceived relevance of critical internal quality attributes when evolving software features
Several refactorings performed while evolving software 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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信