基于结构距离的软件体系结构变化度量

Taiga Nakamura, V. Basili
{"title":"基于结构距离的软件体系结构变化度量","authors":"Taiga Nakamura, V. Basili","doi":"10.1109/METRICS.2005.35","DOIUrl":null,"url":null,"abstract":"Software architecture is an important form of abstraction, representing the overall system structure and the relationship among components. When software is modified from one version to another, its architecture may change. Software modification involving architectural change is often difficult when the change goes beyond the original architectural design, involving changes to the connectivity of multiple components. Existing research has looked at architectural change at the level of architecture metrics such as size, complexity, coupling and cohesion, which abstract a particular version of the software in isolation. In this paper, we argue that this level of abstraction is often too high to characterize some interesting aspects of the architectural change process, and propose an approach that takes into account the change in connectivity from version to version of individual components. In this approach, two endpoints of a major change are taken as reference points, and intermediate connectivity changes are examined relative to the endpoints. We define a distance measure between software structures using a graph kernel function, which is quite powerful as it is applicable to any software structure representable as a graph. Using this distance measure, we define a metric which models the architecture change as a transition between two endpoints. In addition to theoretical analysis of the approach, we present empirical results obtained by applying the approach to open-source software projects to evaluate its validity and usefulness","PeriodicalId":402415,"journal":{"name":"11th IEEE International Software Metrics Symposium (METRICS'05)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"39","resultStr":"{\"title\":\"Metrics of Software Architecture Changes Based on Structural Distance\",\"authors\":\"Taiga Nakamura, V. Basili\",\"doi\":\"10.1109/METRICS.2005.35\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software architecture is an important form of abstraction, representing the overall system structure and the relationship among components. When software is modified from one version to another, its architecture may change. Software modification involving architectural change is often difficult when the change goes beyond the original architectural design, involving changes to the connectivity of multiple components. Existing research has looked at architectural change at the level of architecture metrics such as size, complexity, coupling and cohesion, which abstract a particular version of the software in isolation. In this paper, we argue that this level of abstraction is often too high to characterize some interesting aspects of the architectural change process, and propose an approach that takes into account the change in connectivity from version to version of individual components. In this approach, two endpoints of a major change are taken as reference points, and intermediate connectivity changes are examined relative to the endpoints. We define a distance measure between software structures using a graph kernel function, which is quite powerful as it is applicable to any software structure representable as a graph. Using this distance measure, we define a metric which models the architecture change as a transition between two endpoints. In addition to theoretical analysis of the approach, we present empirical results obtained by applying the approach to open-source software projects to evaluate its validity and usefulness\",\"PeriodicalId\":402415,\"journal\":{\"name\":\"11th IEEE International Software Metrics Symposium (METRICS'05)\",\"volume\":\"7 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2005-09-19\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"39\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"11th IEEE International Software Metrics Symposium (METRICS'05)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/METRICS.2005.35\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"11th IEEE International Software Metrics Symposium (METRICS'05)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/METRICS.2005.35","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 39

摘要

软件体系结构是一种重要的抽象形式,代表了整个系统结构和组件之间的关系。当软件从一个版本修改到另一个版本时,它的体系结构可能会发生变化。当变更超出原始体系结构设计范围,涉及到多个组件连接性的变更时,涉及体系结构变更的软件修改通常是困难的。现有的研究是从架构度量(如规模、复杂性、耦合性和内聚性)的层面上考察架构变更,这些度量将软件的特定版本孤立地抽象出来。在本文中,我们认为这种抽象级别通常太高,无法描述架构变更过程中一些有趣的方面,并提出了一种考虑各个组件版本之间连接性变化的方法。在这种方法中,将主要更改的两个端点作为参考点,并相对于端点检查中间连接性更改。我们使用图核函数定义了软件结构之间的距离度量,它非常强大,因为它适用于任何可以用图表示的软件结构。使用此距离度量,我们定义了一个度量,该度量将体系结构更改建模为两个端点之间的转换。除了对该方法进行理论分析外,我们还通过将该方法应用于开源软件项目来评估其有效性和有用性
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Metrics of Software Architecture Changes Based on Structural Distance
Software architecture is an important form of abstraction, representing the overall system structure and the relationship among components. When software is modified from one version to another, its architecture may change. Software modification involving architectural change is often difficult when the change goes beyond the original architectural design, involving changes to the connectivity of multiple components. Existing research has looked at architectural change at the level of architecture metrics such as size, complexity, coupling and cohesion, which abstract a particular version of the software in isolation. In this paper, we argue that this level of abstraction is often too high to characterize some interesting aspects of the architectural change process, and propose an approach that takes into account the change in connectivity from version to version of individual components. In this approach, two endpoints of a major change are taken as reference points, and intermediate connectivity changes are examined relative to the endpoints. We define a distance measure between software structures using a graph kernel function, which is quite powerful as it is applicable to any software structure representable as a graph. Using this distance measure, we define a metric which models the architecture change as a transition between two endpoints. In addition to theoretical analysis of the approach, we present empirical results obtained by applying the approach to open-source software projects to evaluate its validity and usefulness
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术文献互助群
群 号:604180095
Book学术官方微信