CAREER: Bridging the Gap Between Prototyping and Production
CAREER: Bridging the Gap Between Prototyping and Production
批准号:
1360694
负责人:
Jeremy Siek
金额:
$40.7万
依托单位:
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2013
资助国家:
美国
项目状态:
已结题
起止时间:
2013-08-01 至 2016-02-29
中文摘要
现代软件工程方法通过采用增量方法进行软件开发来提高程序员的生产率。软件工程师快速开发原型,然后迭代地将原型改进为生产系统。然而,今天的编程系统并不支持从原型到生产的平稳过渡。一方面,脚本语言和交互环境支持原型开发,而另一方面,传统编程语言和优化编译器支持开发可重用和高效的产生式代码。两者都不支持原型和生产,所以开发人员使用混合编程系统。这种做法带来了许多代价,例如语言间数据传输的阻抗不匹配以及在语言之间翻译程序的时间。本研究的目标是发现单个编程系统所需的科学原理,以有效地支持将原型增量细化为生产软件。为了实现这一研究目标,需要解决灵活性和安全性以及抽象性和性能之间的经典冲突。为了实现灵活性和安全性,这项研究将研究使用一种称为渐进式类型的方法来结合动态和静态类型检查的方法。为了同时实现抽象和性能,这项研究将开发一个特定于领域的线性代数编译器,并展示高级抽象如何比传统的抽象(如循环和标量操作)提供更大的编译器优化机会。该项目的更广泛影响来自于程序员生产力和软件质量的提高。
英文摘要
Modern software engineering methods improve programmer productivity by taking an incremental approach to software development. Software engineers rapidly develop prototypes and then iteratively refine the prototypes into production systems. However, today's programming systems do not support a smooth transition from prototyping to production. On one hand, scripting languages and interactive environments support prototyping while on the other hand conventional programming languages and optimizing compilers support the development of reusable and efficient production codes. Neither support both prototyping and production, so developers use a mixture of programming systems. This practice incurs many costs such as the impedance mismatch of inter-language data transfers and the time to translate programs between languages.The goal of this research is to discover the scientific principles necessary for a single programming system to effectively support the incremental refinement of prototypes into production software. To accomplish this research objective, classic conflicts between flexibility and safety and between abstraction and performance need to be resolved. To achieve both flexibility and safety, the research will investigate ways to combine dynamic and static type checking, using an approach called gradual typing. To achieve both abstraction and performance, the research will develop a domain-specific compiler for linear algebra and show how show how high-level abstractions can provide greater opportunities for compiler optimization than conventional abstractions such as loops and scalar operations. The broader impacts of the project arise from improvements to programmer productivity and software quality.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SHF: Small: Revisiting Elementary Denotational Semantics
-
批准号:1814460
-
项目类别:Standard Grant
-
资助金额:$38.07万
-
财政年份:2018
-
负责人:Jeremy Siek
-
依托单位:
CAREER: Bridging the Gap Between Prototyping and Production
-
批准号:0846121
-
项目类别:Continuing Grant
-
资助金额:$48.19万
-
财政年份:2009
-
负责人:Jeremy Siek
-
依托单位:
EAGER: Exploratory Research on Gradual Programming
-
批准号:0939991
-
项目类别:Standard Grant
-
资助金额:$8.17万
-
财政年份:2009
-
负责人:Jeremy Siek
-
依托单位:
Collaborative Research: Modular Metaprogramming
-
批准号:0702362
-
项目类别:Standard Grant
-
资助金额:$34.0万
-
财政年份:2007
-
负责人:Jeremy Siek
-
依托单位:
海外基金