首页> 外文学位 >Automatically Measuring Software Architecture and Identifying Architecture Problems
【24h】

Automatically Measuring Software Architecture and Identifying Architecture Problems

机译:自动测量软件架构并确定架构问题

获取原文
获取原文并翻译 | 示例

摘要

Software architecture is critical to a software system. As software evolves, complexity accumulates through various maintenance activities: such as bug fixes, feature additions, etc., inevitably resulting in architecture degradation that negatively impacts a system's maintainability. Despite decades of research about software measurement and analysis, it is still a challenge for development teams to reliably measure the maintainability of software architecture and precisely diagnose architecture problems incurring maintenance difficulties. Numerous software metrics have been proposed to measure software quality, but they haven't demonstrated the reliability to indicate architecture maintainability, nor to compare the maintainability of different projects. Bug prediction, code smells and antipatterns have been proposed to predict defective files and detect design flaws. However, bug prediction studies never considering architecture problems among the detected files, which are the root causes of maintenance pain; code smells detection techniques tend to report a large number of problems, many of which are false positives; detecting anti-pattern heavily depends on the skill of architecture analysts. These make the existing techniques hard to be used to precisely find the true problems causing maintenance difficulties.;This dissertation presents our methodology that advances our ability to monitor the variations of software architecture maintainability by using reliable measurement, and identify the architecture flaws that should be addressed to reduce maintenance difficulties. Our proposed methodology consists of three parts as follows: 1) we proposed a novel metric which has presented similar properties as real-word metrics, and could be used to reliably measure software maintainability. Based on the proposed metric, we created an industrial benchmark serving as a "health chart" of software maintainability. Like real-world growth chart, managers and architects could compare their projects with the benchmark to assess the maintainability level of their projects, the abnormal results would signal a early symptom of architecture degradation; 2) We also proposed a history measure, which indicates how well the maintenance tasks could be implemented independently during evolution process. This history-based measure could help to monitor the real-time interactions of maintenance tasks, which can not be reflected by syntax-based metrics; 3) Software measurements provide us a coarse assessment of the maintainability of software architecture. To pinpoint the root causes of maintenance difficulty, we then automatically identified a suite of architecture design flaws, the real architecture problems which have caused high maintenance costs in software system.;Our studies have shown that our methodology could faithfully measure maintainability of software architecture and precisely diagnose the true architecture problems in a project, which helps development teams decide if, when, where and how to refactor.
机译:软件体系结构对于软件系统至关重要。随着软件的发展,复杂度会通过各种维护活动(例如错误修复,功能添加等)而累积,不可避免地导致体系结构退化,从而对系统的可维护性产生负面影响。尽管进行了数十年的软件测量和分析研究,但可靠地测量软件体系结构的可维护性并精确诊断导致维护困难的体系结构问题仍然是开发团队面临的挑战。已经提出了许多软件度量标准来度量软件质量,但是它们并未证明其可靠性来指示体系结构可维护性,也未用于比较不同项目的可维护性。已经提出了错误预测,代码气味和反模式来预测缺陷文件并检测设计缺陷。但是,错误预测研究从未考虑过检测到的文件之间的体系结构问题,这是维护难题的根本原因。代码气味检测技术往往会报告大量问题,其中许多是误报。检测反模式很大程度上取决于体系结构分析人员的技能。这些使现有技术难以用于精确地发现导致维护困难的真正问题。本论文提出了我们的方法,该方法提高了我们通过使用可靠的度量来监视软件体系结构可维护性变化的能力,并确定了应该解决的体系结构缺陷。解决减少维护困难。我们提出的方法包括以下三个部分:1)我们提出了一种新颖的度量标准,该度量标准具有与实词度量标准相似的属性,可用于可靠地度量软件的可维护性。基于建议的指标,我们创建了一个行业基准,可以作为软件可维护性的“健康图表”。就像现实世界中的增长图一样,管理人员和建筑师可以将其项目与基准进行比较,以评估其项目的可维护性水平,异常结果将预示着架构退化的早期征兆。 2)我们还提出了一个历史记录度量,该度量表明在演化过程中可以独立执行维护任务的程度。这种基于历史的度量可以帮助监视维护任务的实时交互,而基于语法的度量不能反映这些交互。 3)软件度量为我们提供了软件体系结构可维护性的粗略评估。为了查明维护困难的根本原因,我们然后自动识别出一组体系结构设计缺陷,这些缺陷是导致软件系统维护成本高昂的实际体系结构问题。我们的研究表明,我们的方法可以忠实地衡量软件体系结构的可维护性,精确诊断项目中真正的体系结构问题,这有助于开发团队确定是否,何时,何地以及如何进行重构。

著录项

  • 作者

    Mo, Ran.;

  • 作者单位

    Drexel University.;

  • 授予单位 Drexel University.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2018
  • 页码 132 p.
  • 总页数 132
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号