首页> 外文学位 >Measuring Software Complexity Differences with the Analytical Hierarchy Process
【24h】

Measuring Software Complexity Differences with the Analytical Hierarchy Process

机译:用层次分析法测量软件复杂性差异

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

摘要

Software systems can become overly complex throughout the software development process, leading to increased error rates and failures. This praxis improves on the measurement of complexity, the first step in resolving this problem. Most software development technologies allow for incorporation of ever more interactive, error-prone, and interwoven designs that can introduce problems and increase the complexity of a software baseline. Because software typically holds latent defects, increasing the complexity of the software source code creates new adverse risks that undermine the usability, understandability, and reliability of software products. Despite following best practices during the software engineering process, the introduction of change to the software baseline can unnecessarily increase the complexity of software source code.;Software metrics are critical to fault prediction models that seek to improve the quality of software products by predicting the location of bugs in the source code. Measuring software complexity assists software developers by providing insights into projects by identifying areas of source code baseline that have potential issues with reliability, readability, understandability, and implementation. However, producing a set of software measurement data is not sufficient for making a reliable decision. Interpretation of the results of complexity measurements can be problematic because an accurate understanding of the numerical values that characterize specific software attributes such as coupling, reliability, and overriding can be difficult.;This praxis develops a technique for identifying the parts of a software baseline that experience the most complex changes between successive versions. This objective is vii accomplished using a software complexity measurement technique that combines multiple aspects of the source code to quantify the variations in complexity of a software baseline between succeeding revisions. Building on prior successful efforts, this praxis develops a model for locating the portions of a software baseline that have undergone the most complex changes. The analytical hierarchy process (AHP) is used to combine the complexity metrics of number of metrics (NOM), number of children (NOC), coupling between objects (CBO), level of cohesion metrics (LCOM), weighted method complexity (WMC), and number of methods overridden (NMO) to determine the most complexly changed files for four open-sourced projects from the Apache Commons family of projects including IO, Net, Compression, and Discovery.;This praxis observed that the AHP process can be reliably applied to the set of six metrics used for the projects evaluated and produced AHP consistency ratings within the AHP process recommended ranges. Aggregate complexity values were successfully calculated for each source code file within the projects, and the most complexly modified files were identified. Several threats to the validity of the findings of this empirical study prompt the suggestion that the conclusions of this praxis should be treated as indications toward a pragmatic remedy to the problem of software complexity measurement between software versions rather than a final conclusive technique. To improve the reliability and the generalizability of this study, similar empirical studies should be conducted, using relatively large commercial systems developed in other programming languages such as C++, as well as selected from different domains.
机译:在整个软件开发过程中,软件系统可能会变得过于复杂,从而导致错误率和故障率增加。该实践改进了复杂性的度量,这是解决此问题的第一步。大多数软件开发技术都允许并入更多交互式,易出错和交织的设计,这些设计会引入问题并增加软件基准的复杂性。因为软件通常会保留潜在的缺陷,所以增加软件源代码的复杂性会带来新的不利风险,这些风险会破坏软件产品的可用性,可理解性和可靠性。尽管在软件工程过程中遵循了最佳实践,但对软件基准进行更改会不必要地增加软件源代码的复杂性。软件度量对于故障预测模型至关重要,该模型旨在通过预测位置来提高软件产品的质量源代码中的错误。衡量软件复杂性的方法是,通过识别源代码基线中可能存在可靠性,可读性,易理解性和实现性问题的区域,从而提供对项目的见解,从而帮助软件开发人员。然而,产生一组软件测量数据不足以做出可靠的决定。解释复杂度测量的结果可能会遇到问题,因为可能很难准确理解表征特定软件属性(例如耦合,可靠性和覆盖等)的数值。;该实践开发了一种用于识别软件基线部分的技术体验连续版本之间最复杂的变化。该目标是通过使用软件复杂性度量技术来实现的,该技术结合了源代码的多个方面,以量化后续修订之间软件基线的复杂性变化。在先前的成功努力的基础上,该实践开发了一个模型,用于定位软件基线中经历了最复杂变更的部分。分析层次结构过程(AHP)用于组合度量标准数量(NOM),子代数量(NOC),对象之间的耦合(CBO),内聚度量标准(LCOM),加权方法复杂度(WMC)的复杂性度量,以及为从Apache Commons系列项目(包括IO,Net,Compression和Discovery)中的四个开源项目确定最复杂的更改文件的方法(NMO);该实践观察到AHP流程可以可靠地进行应用于在AHP流程建议范围内评估和产生AHP一致性等级的项目使用的六个度量标准集。已成功为项目中的每个源代码文件计算了复杂性汇总值,并确定了修改最复杂的文件。对该经验研究结果的有效性提出了若干威胁,提示了这一实践的结论应被视为是对软件版本之间的软件复杂性度量问题(而不是最终的确定性技术)进行实用补救的指示。为了提高这项研究的可靠性和可推广性,应该使用以其他编程语言(例如C ++)开发的相对较大的商业系统以及从不同领域中选择的相对较大的商业系统进行类似的经验研究。

著录项

  • 作者

    Guilbault, Noah.;

  • 作者单位

    The George Washington University.;

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

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号