首页> 外文学位 >Mining software repositories to assist developers and support managers.
【24h】

Mining software repositories to assist developers and support managers.

机译:挖掘软件存储库以帮助开发人员和支持经理。

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

摘要

This thesis explores mining the evolutionary history of a software system to support software developers and managers in their endeavors to build and maintain complex software systems.; We introduce the idea of evolutionary extractors which are specialized extractors that can recover the history of software projects from software repositories, such as source control systems. The challenges faced in building C-REX, an evolutionary extractor for the C programming language, are discussed. We examine the use of source control systems in industry and the quality of the recovered C-REX data through a survey of several software practitioners.; Using the data recovered by C-REX, we develop several approaches and techniques to assist developers and managers in their activities.; We propose Source Sticky Notes to assist developers in understanding legacy software systems by attaching historical information to the dependency graph. We present the Development Replay approach to estimate the benefits of adopting new software maintenance tools by reenacting the development history.; We propose the Top Ten List which assists managers in allocating testing resources to the subsystems that are most susceptible to have faults. To assist managers in improving the quality of their projects, we present a complexity metric which quantifies the complexity of the changes to the code instead of quantifying the complexity of the source code itself.; All presented approaches are validated empirically using data from several large open source systems.; The presented work highlights the benefits of transforming software repositories from static record keeping repositories to active repositories used by researchers to gain empirically based understanding of software development, and by software practitioners to predict, plan and understand various aspects of their project.
机译:本文探讨了挖掘软件系统的演化历史,以支持软件开发人员和管理人员建立和维护复杂软件系统的工作。我们介绍了进化提取器的概念,进化提取器是可以从软件存储库(例如源代码控制系统)中恢复软件项目历史的专用提取器。讨论了构建C-REX(用于C编程语言的进化提取器)时面临的挑战。通过对几位软件从业人员的调查,我们研究了源控制系统在工业中的使用以及恢复的C-REX数据的质量。使用C-REX回收的数据,我们开发了几种方法和技术来协助开发人员和管理人员进行活动。我们建议使用Source Sticky Notes,通过将历史信息附加到依赖图来帮助开发人员理解旧软件系统。我们提出了开发重播方法,以通过重新制定开发历史来估算采用新软件维护工具的好处。我们提出十大清单,以帮助管理人员将测试资源分配给最容易出现故障的子系统。为了帮助管理人员提高项目质量,我们提出了一种复杂性度量标准,该度量标准量化了代码更改的复杂性,而不是量化源代码本身的复杂性。所有提出的方法都使用来自多个大型开源系统的数据进行了经验验证。提出的工作强调了将软件存储库从静态记录保存存储库转换为活动存储库的好处,研究人员使用它们来从经验上获得对软件开发的了解,并由软件从业人员来预测,计划和理解其项目的各个方面。

著录项

  • 作者

    Hassan, Ahmed E.;

  • 作者单位

    University of Waterloo (Canada).;

  • 授予单位 University of Waterloo (Canada).;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2005
  • 页码 300 p.
  • 总页数 300
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号