首页> 外文会议>IEEE International Conference on Software Architecture >Recovering Architectural Design Decisions
【24h】

Recovering Architectural Design Decisions

机译:恢复建筑设计决策

获取原文

摘要

Designing and maintaining a software system's architecture typically involve making numerous design decisions, each potentially affecting the system's functional and nonfunctional properties. Understanding these design decisions can help inform future decisions and implementation choices and can avoid introducing regressions and architectural inefficiencies later. Unfortunately, design decisions are rarely well documented and are typically a lost artifact of the architecture creation and maintenance process. The loss of this information can thus hurt development. To address this shortcoming, we develop RecovAr, a technique for automatically recovering design decisions from the project's readily available history artifacts, such as an issue tracker and version control repository. RecovAr uses state-of-the-art architectural recovery techniques on a series of version control commits and maps those commits to issues to identify decisions that affect system architecture. While some decisions can still be lost through this process, our evaluation on Hadoop and Struts, two large open-source systems with over 8 years of development each and, on average, more than 1 million lines of code, shows that RecovAr has the recall of 75% and a precision of 77%. Our work formally defines architectural design decisions and develops an approach for tracing such decisions in project histories. Additionally, the work introduces methods to classify whether decisions are architectural and to map decisions to code elements. Finally, our work contributes a methodology engineers can follow to preserve design-decision knowledge in their projects.
机译:设计和维护软件系统的体系结构通常涉及做出众多设计决策,每个决策都可能影响系统的功能和非功能属性。了解这些设计决策可以帮助为将来的决策和实现选择提供信息,并且可以避免以后引入回归和架构效率低下的情况。不幸的是,设计决策很少有充分的文档记录,通常是架构创建和维护过程中遗失的人工产物。因此,这些信息的丢失可能会损害开发。为了解决此缺点,我们开发了RecovAr,该技术可从项目的随时可用历史工件(例如问题跟踪器和版本控制存储库)中自动恢复设计决策。 RecovAr对一系列版本控制提交使用最新的体系结构恢​​复技术,并将这些提交映射到问题,以识别影响系统体系结构的决策。尽管在此过程中仍然可能会丢失一些决策,但我们对Hadoop和Struts(两个大型开源系统,每个都有超过8年的开发,平均超过100万行代码)的评估表明,RecovAr具有召回作用75%的精度和77%的精度。我们的工作正式定义了建筑设计决策,并开发了一种在项目历史中跟踪此类决策的方法。此外,这项工作还引入了一些方法,以对决策是否属于体系结构以及将决策映射到代码元素进行分类。最后,我们的工作为工程师提供了一种方法,使他们可以遵循这些方法来保留其项目中的设计决策知识。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号