课题基金 / 基金详情

Practical Program Restructuring for Software Evolution

Practical Program Restructuring for Software Evolution
软件演化的实用程序重组
批准号:
9508745
负责人:
William Griswold
金额:
$21.84万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
1995
资助国家:
美国
项目状态:
已结题
起止时间:
1995-07-01 至 1999-06-30

项目摘要

项目成果

William Griswold的其他基金

相似基金

相关文献

中文摘要
翻译
该项目正在开发和评估大型系统的工具辅助重组的新技术。软件演化的过高成本在很大程度上是由于相对于正在发生的变化,系统的结构不适当。研究工具辅助的程序重构是为了以比手工更改更低的成本和风险来更改系统的结构。在该方法中,工具用户选择要应用于所选程序组件的转换。该工具进行检查,以确保每个转换都将保留程序的功能行为。如果是,它将执行对所选组件的转换,并更新所有相关组件以保持一致性。工具辅助的重组尚未被证明在工业规模的应用中是可行的。例如,某些工具需要进行详尽的过程间数据流分析,但在大型程序上执行这种分析的成本很高。以前的重构研究没有解决常见的复杂结构,如指针算法、函数指针、注释、文本宏和条件编译。为了使大型项目的重组切实可行,该项目正在开发和调整技术来解决这些问题。需求驱动的数据流正在被研究,以克服穷举数据流分析的许多性能问题。研究了查询优先级和回复的缓存,以最小化繁琐的和潜在的不正确的用户查询。测试和语义差异还可以在重构后提供正确性检查。一个案例研究旨在评估所开发的技术和大规模重组的好处。
英文摘要
This project is developing and evaluating new techniques for tool-assisted restructuring of large systems. The excessive cost of software evolution is due in large part to inappropriate structure of a system, relative to the changes taking place. Tool-assisted program restructuring is studied for changing a system's structure at lower cost and risk than making changes by hand. In this approach, a tool user selects transformations to apply to chosen program components. The tool checks to make sure that each transformation will preserve the functional behavior of the program. If so, it performs the transformation to the chosen component and updates any related components to preserve consistency. Tool-assisted restructuring has not been demonstrated to be practical in industrial-scale applications. For example, exhaustive interprocedural data flow analysis is required by some tools, but is costly to perform on large programs. Previous restructuring research has not addressed common complicating constructs such as pointer arithmetic, function pointers, comments, textual macros, and conditional compilation. To make the restructuring of large programs practical, this project is developing and adapting techniques to address these problems. Demand-driven data flow is being investigated to overcome many performance problems of exhaustive data flow analysis. Query prioritization and caching of replies are studied to minimize burdensome and potentially incorrect user queries. Testing and semantic differencing may also provide checks of correctness after restructuring. A case study is intended to evaluate the techniques developed and the benefits of large-scale restructuring.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SHF: Small: Scalable and Practical Detection of Invariants for Software Inspection
  • 批准号:
    1719155
  • 项目类别:
    Standard Grant
  • 资助金额:
    $50.0万
  • 财政年份:
    2017
  • 负责人:
    William Griswold
  • 依托单位:
CPS: TTP Option: Synergy: Collaborative Research: Calibration of Personal Air Quality Sensors in the Field - Coping with Noise and Extending Capabilities
  • 批准号:
    1446912
  • 项目类别:
    Standard Grant
  • 资助金额:
    $111.0万
  • 财政年份:
    2015
  • 负责人:
    William Griswold
  • 依托单位:
SEL: Small: Crowdsourced Software Engineering using Gamification
  • 批准号:
    1423517
  • 项目类别:
    Standard Grant
  • 资助金额:
    $47.5万
  • 财政年份:
    2014
  • 负责人:
    William Griswold
  • 依托单位:
I-Corps: CodeSpells: Game-Based Education in American Schools
  • 批准号:
    1359492
  • 项目类别:
    Standard Grant
  • 资助金额:
    $5.0万
  • 财政年份:
    2014
  • 负责人:
    William Griswold
  • 依托单位:
海外基金