返回
ArchSense: Characterizing Component-Internal Implementation-Semantic Evolution via Code Representation
DOI:10.3390/electronics15132858.png)
摘要
En 中文
监控软件架构演化的必要性在于维护系统质量,但许多实际变更检测流水线仍依赖语法差异。此类流水线会产生大量评审流,其中微小编辑、重构和深层实现重写被混合在一起。本文介绍了ArchSense,一个用于表征组件内部实现语义演化的诊断框架。ArchSense结合了分层结构对齐与方法级语义位移测量。它不将所有代码更新视为等同,而是利用GraphCodeBERT的向量表示来测量实现级语义变化强度,并在架构组件内总结此信号。我们在六个大规模开源Java系统上评估了ArchSense。结果显示语义距离与三位标注者对实现变化强度的构造评估呈正相关。额外的分歧分析将模型的高决策和低决策与具体源代码特征(包括控制流、调用集、返回、异常、同步和可测试观测变化)联系起来。对23,389个测试方法更新的行为代理检查表明,默认阈值作为保守的高精度、低召回评审信号用于实现语义变化。因此,ArchSense的验证范围是组件内部诊断表征以供架构导向评审;连接器拓扑、运行时通信、行为等价性和缺陷因果关系需要互补证据。
Keyword:
software architecture
implementation evolution
semantic code analysis
change characterization
期刊
IF:
2.6
论文数:
9.8K
被引数:
4.7W
机构
引用论文
没有更多内容

