软件体系结构技术债务管理与架构过程的融合机制及方法

基本信息
批准号:61702377
项目类别:青年科学基金项目
资助金额:26.00
负责人:李增扬
学科分类:
依托单位:武汉大学
批准年份:2017
结题年份:2020
起止时间:2018-01-01 - 2020-12-31
项目状态: 已结题
项目参与者:Paris Avgeriou,胡博,程璨,胡方家,赵玉琦,张迪,刘亚珺,胡学飞,廖凤灵
关键词:
软件体系结构技术债务经验软件工程软件体系结构
结项摘要

Software architectural technical debt (ATD) refers to immature architecture work (e.g., adoption of an inappropriate architecture pattern) that can generate short-term benefits for the software project but may hurt its system-wide maintainability and evolvability in the long run. ATD is a “double-edged sword” to software development. On the one hand, an acceptable amount of ATD can accelerate features implementation and thus get users’ feedback earlier; on the other hand, the accumulation of ATD can cause serious problems in software maintenance and evolution, thus negatively impact software sustainability. Software architecture plays a fundamental role in a software system, and thus multiple types of software artifacts with complex links between them are influenced in architecture evolution. As a result, ATD is difficult to identify, measure, and manage. In this project, our research is centered on the mechanism of ATD and its propagation and the tradeoff of the value of ATD management in the architecting process. By applying empirical software engineering research methods, we plan to construct a core conceptual model of ATD. Based on this ATD core model, we try to uncover the mechanism of ATD propagation. A systematic approach to managing ATD based on the ATD core model will be developed, and applied seamlessly in the software architecting process. We also plan to implement a prototype tool to support the proposed ATD management approach and its application. Finally, we will validate the ATD core model, ATD management approach, and its feasibility and effectiveness in the architecting process. The outcomes of this project will help controlling the total cost of software projects, reducing the risks of project failure, and supporting architecture design with scientific theories and approaches.

软件体系结构技术债务(Architectural Technical Debt, ATD)是指可以为软件项目带来短期利益但会损害软件系统长期的可维护性和可演化性的不成熟的架构工作。ATD对于软件开发是双刃剑,有促进软件更新和用户反馈的积极作用,但其不断累积也会给软件的维护和演化留下严重隐患,影响软件的可持续性。软件体系结构因其基础性和抽象层次高,使得ATD难以被识别、度量与管理。本项目聚焦“架构过程中ATD的作用原理和扩散机制、以及ATD管理价值权衡”这一关键科学问题,运用经验软件工程等研究方法,通过构建ATD核心概念模型,揭示ATD的作用原理与扩散机制,提出与软件架构过程相融合的系统化ATD管理方法,研制相应的ATD管理工具,并进行应用验证。研究成果将有助于控制软件整体开发成本,降低项目失败风险,为软件体系结构设计提供科学的理论依据与方法支持。

项目摘要

本项目研究软件架构过程中软件体系结构技术债务管理。首先,采用经验软件工程研究方法,构建了软件体系结构技术债务概念模型,为架构过程中的软件体系结构技术债务管理提供了一致的理论框架。其次,基于软件体系结构技术债务概念模型,提出了多种识别、度量和偿还软件体系结构技术债务的方法,可应用于软件架构过程的具体架构活动中。(1)基于代码提交记录分析和代码静态分析,提出了识别软件体系结构设计缺陷中方法层面热点的方法,能够帮助开发者更细致和准确的理解和定位体系结构设计缺陷的因素。(2)通过对软件源文件的依赖网络和同时修改网络进行社区划分并比较划分结构的差异,来识别软件体系结构技术债务。(3)基于源文件交替修改现象定义了文件的交替修改指数来度量软件体系结构技术债务的累积程度,并在开源软件中证实文件的交替修改指数与其缺陷密度显著正相关。(4)提出了缺陷技术债务利息和成本度量方法,通过大规模的实证研究,发现了缺陷技术债务利息和成本的若干规律,为缺陷技术债务管理决策提供了实证依据。(5)首次提出自承认重构的概念,证实自承认重构倾向于减少软件中的技术债务,并得到美加学者的跟随研究。(6)提出从需求描述性文本到对应功能代码的自动生成新模型,与已有模型相比,提升了生成代码的准确性,降低软件技术债务累积。提出的以上软件技术债务管理方法具有较好的实际应用前景。最后,以网络同步为切入点,探索了技术债务在软件生态系统演化过程中的传播与扩散机制,为识别软件技术债务的关键传播路径提供了理论支撑。.在本项目的支持下,项目组在软件工程和计算机相关领域国内外知名期刊和会议发表论文15篇(包括CCF B类和C类会议论文7篇,SCI期刊论文6篇,其中4篇为SCI一区和二区论文),申请软件著作权1项,培养研究生11人,完成了预期研究目标。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

涡度相关技术及其在陆地生态系统通量研究中的应用

涡度相关技术及其在陆地生态系统通量研究中的应用

DOI:10.17521/cjpe.2019.0351
发表时间:2020
2

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018
3

端壁抽吸控制下攻角对压气机叶栅叶尖 泄漏流动的影响

端壁抽吸控制下攻角对压气机叶栅叶尖 泄漏流动的影响

DOI:
发表时间:2020
4

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

DOI:
发表时间:2022
5

结核性胸膜炎分子及生化免疫学诊断研究进展

结核性胸膜炎分子及生化免疫学诊断研究进展

DOI:10.3760/cma.j.issn.1674-2397.2020.05.013
发表时间:2020

李增扬的其他基金

相似国自然基金

1

基于软件体系结构知识的软件架构过程及其关键技术研究

批准号:60903034
批准年份:2009
负责人:梁鹏
学科分类:F0203
资助金额:18.00
项目类别:青年科学基金项目
2

软件体系结构与敏捷开发过程融合关键技术研究

批准号:61472286
批准年份:2014
负责人:梁鹏
学科分类:F0203
资助金额:80.00
项目类别:面上项目
3

面向网构软件体系结构的可信管理模型与技术研究

批准号:60603034
批准年份:2006
负责人:徐锋
学科分类:F0203
资助金额:25.00
项目类别:青年科学基金项目
4

体系结构驱动的可信软件构造方法与技术研究

批准号:91118004
批准年份:2011
负责人:梅宏
学科分类:F0203
资助金额:300.00
项目类别:重大研究计划