SHF: Small: Always-On Static and Dynamic Feedback
SHF: Small: Always-On Static and Dynamic Feedback
批准号:
1016701
负责人:
Michael Ernst
金额:
$48.06万
依托单位:
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2010
资助国家:
美国
项目状态:
已结题
起止时间:
2010-08-15 至 2014-07-31
中文摘要
软件开发人员的目标是以低成本创建可靠的软件。可以帮助完成这项任务的两种工具是静态和动态分析工具。静态分析工具在不运行程序的情况下对程序源代码进行推理;一个广泛使用的例子是类型系统。动态分析工具在程序执行时观察程序;一个广泛使用的例子是测试。动态和静态反馈提供了互补的好处,两者都不占优势,并且在任何时候只有程序员知道哪一个是最有用的。不幸的是,当前的编程语言强加了过于严格的开发过程模型:它们要么喜欢静态工具,要么喜欢动态工具,这阻碍了程序员自由使用其他类型的工具。我们提出了一种新的方法,在这种方法中,开发人员总是能够获得即时的执行反馈,并且总是能够获得可靠的静态反馈。关键的更广泛的影响是允许开发人员以他们认为最自然和有效的方式工作,这将提高可靠性并降低成本。开发人员将创建比在支持动态分析的环境中创建的软件更可靠的软件。开发人员将比在支持静态分析的环境中工作得更快。众所周知,动态类型脚本语言和静态类型编程语言具有互补的优势。例如,脚本可以允许更快和更灵活的程序开发和修改,而编程语言可以生成更可靠和可维护的应用程序。我们的目标是为程序员提供脚本语言和编程语言的好处,以便程序员可以根据手头的任务在这两种范式之间来回切换。在我们的方法中,程序员可以通过健全的静态类型来查看和执行程序,也可以通过动态类型来查看和执行程序,而没有静态强加的限制。此外,程序员可以根据需要经常在这两个视图之间切换,或者可以同时使用它们,这取决于程序员当前的信息需求。在我们的方法中,程序员可以暂时禁用类型系统并测试代码,即使代码没有进行类型检查。执行代码时,就好像没有编写任何类型一样。类型错误(执行与声明的类型不一致)会被记录,但不会终止执行。如果测试失败,则可以检查记录的错误,如果测试成功,则可以延迟记录。此模式适用于诸如初始原型、改进接口、表示更改、库替换和探索性重构等任务。
英文摘要
Software developers aim to create reliable software at low cost. Two types of tools that help in this task are static and dynamic analysis tools.Static analysis tools reason about the program source code, without ever running the program; a widely-used example is type systems. Dynamic analysis tools observe the program as it executes; a widely-used example is testing. Dynamic and static feedback provide complementary benefits, neither one dominates the other, and at any moment only the programmer knows which one would be most useful. Unfortunately, current programming languages impose too rigid a model of the development process: they favor either static or dynamic tools, which prevents the programmer from freely using the other variety. We propose a new approach, in which the developer always has access to immediate execution feedback, and always has access to sound static feedback. The key broader impact is to permit developers to work the way they find most natural and effective, which will improve reliability and reduce cost. Developers will create software that is more reliable than that created in an environment that favors dynamic analysis.Developers will work faster than they can in an environment that favors static analysis.It is well-known that dynamically-typed scripting languages and statically-typed programming languages have complementary strengths. For example, scripting can permit faster and more flexible program development and modification, whereas programming languages can yield more reliable and maintainable applications. Our goal is to give programmers the benefits of both scripting languages and programming languages, so that a programmer can shift back and forth between the two paradigms depending on the task at hand. In our approach, a programmer can view and execute a program through the lens of sound static typing, or can view and execute a program through the lens of dynamic typing with no statically-imposed restrictions. Furthermore, the programmer can switch between these two views as often as desired, or can use them both simultaneously, depending on the programmer's current information needs. In our approach, a programmer may temporarily disable the type system and test the code, even if the code does not type-check. The code is executed as if no types had been written. Type errors (inconsistencies between the execution and the declared types) are logged but do not terminate execution. The logged errors can be examined if the test fails or deferred if the test succeeds. This mode is appropriate for tasks such as initial prototyping, evolving an interface, representation changes, library replacement, and exploratory refactoring.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Collaborative Research: SHF: Small: Lightweight Modular Typestate
-
批准号:2005889
-
项目类别:Standard Grant
-
资助金额:$25.0万
-
财政年份:2020
-
负责人:Michael Ernst
-
依托单位:
FMitF: Formal Verification of Accessibility
-
批准号:1836813
-
项目类别:Standard Grant
-
资助金额:$73.81万
-
财政年份:2019
-
负责人:Michael Ernst
-
依托单位:
CI-EN: Collaborative Research: An Experimental Infrastructure and a Database of Real Faults to Foster Reproducibility in Software Engineering Research
-
批准号:1822251
-
项目类别:Standard Grant
-
资助金额:$26.81万
-
财政年份:2018
-
负责人:Michael Ernst
-
依托单位:
SHF: Medium: Combining Speculation with Continuous Validation for Software Developers
-
批准号:0963757
-
项目类别:Standard Grant
-
资助金额:$75.0万
-
财政年份:2010
-
负责人:Michael Ernst
-
依托单位:
II-NEW: Practical Pluggable Type Systems
-
批准号:0855252
-
项目类别:Standard Grant
-
资助金额:$68.11万
-
财政年份:2009
-
负责人:Michael Ernst
-
依托单位:
SoD-HCER: Testing Designs and Designing Tests
-
批准号:0613793
-
项目类别:Standard Grant
-
资助金额:$20.0万
-
财政年份:2006
-
负责人:Michael Ernst
-
依托单位:
CAREER: Automatically Generating Specifications to Improve Program Correctness and Maintainability
-
批准号:0133580
-
项目类别:Continuing Grant
-
资助金额:$30.0万
-
财政年份:2002
-
负责人:Michael Ernst
-
依托单位:
Improving Test Suites Via Generated Specifications
-
批准号:0234651
-
项目类别:Continuing Grant
-
资助金额:$40.0万
-
财政年份:2002
-
负责人:Michael Ernst
-
依托单位:
国内基金
海外基金
登录
查看更多内容
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2024
-
负责人:
-
依托单位:
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:10.0万元
-
批准年份:2022
-
负责人:张祥忠
-
依托单位:
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
-
批准号:32000033
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:林平
-
依托单位:
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
-
批准号:31972324
-
项目类别:面上项目
-
资助金额:58.0万元
-
批准年份:2019
-
负责人:高学文
-
依托单位:
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
-
批准号:81900988
-
项目类别:青年科学基金项目
-
资助金额:21.0万元
-
批准年份:2019
-
负责人:毛梦莹
-
依托单位:
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
-
批准号:31870821
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2018
-
负责人:陈江宁
-
依托单位:
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
-
批准号:31802058
-
项目类别:青年科学基金项目
-
资助金额:26.0万元
-
批准年份:2018
-
负责人:麻慧
-
依托单位:
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
-
批准号:31772128
-
项目类别:面上项目
-
资助金额:60.0万元
-
批准年份:2017
-
负责人:吴建国
-
依托单位:
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
-
批准号:81704176
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2017
-
负责人:赵继梦
-
依托单位:
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
-
批准号:91640114
-
项目类别:重大研究计划
-
资助金额:85.0万元
-
批准年份:2016
-
负责人:何祖华
-
依托单位: