课题基金 / 基金详情

CAREER: Employing Flow Analyses in Practical Program Transformation Environments for Mostly-Functional Languages

CAREER: Employing Flow Analyses in Practical Program Transformation Environments for Mostly-Functional Languages
职业:在大多数函数式语言的实际程序转换环境中使用流程分析
批准号:
9623753
负责人:
J. Michael Ashley
金额:
$20.0万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
1996
资助国家:
美国
项目状态:
已结题
起止时间:
1996-07-01 至 2000-06-30

项目摘要

项目成果

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
A flow analysis is an automatic tool that collects information about programs. Flow information is crucial, for without it the correctness of sophisticated program transformations cannot be verified. Such transformations are important, because they can transform a program written to solve a problem cleanly into a new program that, for example, is more efficient and fault tolerant. Ultimately, flow analysis-justified transformations can boost software reliability and programmer productivity. Despite their utility, however, existing flow analyses for mostly-functional languages are impractical for use in production-quality environments. They have high algorithmic complexity, they can only process language subsets, and they are accurate only when programs are written in a certain style. This CAREER project has three goals to address these problems and incorporate advanced analysis techniques into the undergraduate curriculum. The first goal is to use a practical flow analysis in a production Scheme compiler to justify optimizations. The second goal is to use the flow analysis and the experience gained from its application to develop a program transformation toolkit for building automatic, flow analysis-based program transformers. The third goal is to incorporate the results into the undergraduate curriculum so that students understand what a flow analysis is, how it works, and how it can be profitably applied. Achieving these goals advances both research and education. Besides solving the above problems, the research aspect of this project pursues contributions in the areas of language implementation and semantics-based program manipulation. In particular, optimizations are being implemented that can improve the performance of dynamic languages, program transformation techniques are being developed that allow more realistic programs to be manipulated. The transformation toolkit developed is expected to provide the research community with needed infrastructure for experimenting with transformations. The educational aspect of this CAREER investigation seeks to improve the undergraduate programming languages curriculum by addressing the distinction between static and dynamic properties of programs and how static information can be used to optimize programs. Such an understanding is essential to undergraduate education as programming languages are playing an increasingly prominent role in customizable software. ***
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
海外基金