Collaborative Research: SHF: Medium: Bringing Python Up to Speed
Collaborative Research: SHF: Medium: Bringing Python Up to Speed
批准号:
1955565
负责人:
Benjamin Pierce
金额:
$43.8万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2020
资助国家:
美国
项目状态:
已结题
起止时间:
2020-07-01 至 2023-06-30
中文摘要
Python编程语言是当今最流行的计算机编程语言之一,用于编写各种领域的软件,从web服务到数据分析再到机器学习。不幸的是,Python轻量级和灵活的特性(这是其吸引力的主要来源)可能会导致严重的性能和正确性问题——与用C和c++等传统编程语言编写的优化代码相比,Python程序的速度可能会降低6万倍,并且可能需要更多的内存。Python灵活的“动态”特性也使其程序容易出错,许多编码错误仅在开发后期或部署后才被发现。Python经常被用作“粘合语言”——集成用C或c++编写的不同组件并与之交互——这使许多Python程序暴露在这些语言的独特危险之下,包括容易受到基于内存损坏的安全漏洞的影响。该项目旨在通过为Python开发新的性能分析工具、内存减少和速度提高的优化(包括对多核执行的支持)、自动化软件测试框架和驱动评估的通用基准等形式的新技术来解决这些问题。该项目将开发(1)性能分析工具,帮助Python程序员准确识别减速的来源;(2)自动识别可被调用C/ c++库取代的代码的技术;(3)解锁Python线程中的并行性的方法,由于全局解释器锁,当前必须顺序执行;(4)自动技术,大幅减少Python应用程序的内存占用。为了提高Python应用程序的正确性,该项目将开发新的自动化测试技术:(1)用覆盖引导的模糊测试增强基于属性的随机测试;(2)采用协同执行,实现更智能的测试生成和输入最小化;(3)合成特定属性的生成器函数;(4)利用统计聚类技术减少重复的故障诱导输入;(5)利用并行性和自适应调度算法来提高测试吞吐量。该项目将开发一套“bug基准”——实际上是一种新的基准生成方法——来评估这些技术。性能和正确性的双重线程是协同和互补的:自动测试驱动性能分析,而性能优化(如并行性)加速自动测试。该奖项是由计算机和计算基础部的软件和硬件基础项目和NSF高级网络基础设施办公室共同资助的。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
The Python programming language is among today's most popular computer programming languages and is used to write software in a wide variety of domains, from web services to data analysis to machine learning. Unfortunately, Python’s lightweight and flexible nature -- a major source of its appeal -- can cause significant performance and correctness problems - Python programs can suffer slowdowns as high as 60,000x over optimized code written in traditional programming languages like C and C++, and can require an order-of-magnitude more memory. Python's flexible, “dynamic” features also make its programs error-prone, with many coding errors only being discovered late in development or after deployment. Python’s frequent use as a "glue language" -- to integrate and interact with different components written in C or C++ -- exposes many Python programs to the unique dangers of those languages, including susceptibility to memory corruption-based security vulnerabilities. This project aims to remedy these problems by developing new technology for Python in the form of novel performance analysis tools, memory-reduction and speed-improving optimizations (including support for multi-core execution), automated software testing frameworks, and common benchmarks to drive their evaluation.This project will develop (1) performance analysis tools that help Python programmers accurately identify the sources of slowdowns; (2) techniques for automatically identifying code that can be replaced by calls to C/C++ libraries; (3) an approach to unlocking parallelism in Python threads, which currently must execute sequentially due to a global interpreter lock; and (4) automatic techniques to drastically reduce the memory footprints of Python applications. To improve the correctness of Python applications, the project will develop novel automated testing techniques that (1) augment property-based random testing with coverage-guided fuzzing; (2) employ concolic execution for smarter test generation and input minimization; (3) synthesize property-specific generator functions; (4) leverage statistical clustering techniques to reduce duplicated failure-inducing inputs; and (5) leverage parallelism and adaptive scheduling algorithms to increase testing throughput. The project will develop a set of "bug benchmarks" -- indeed, a novel benchmark-producing methodology -- to evaluate these techniques. The twin threads of performance and correctness are synergistic and complementary: automatic testing drives performance analysis, while performance optimizations (like parallelism) speed automatic testing.This award is co-funded by the Software & Hardware Foundations Program in the Division of Computer & Computing Foundations, and the NSF Office of Advanced Cyberinfrastructure.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(2)
专著(0)
科研奖励(0)
会议论文
Parsing Randomness
解析随机性
DOI:
--
发表时间:
2022
期刊:
Proceedings of the ACM on programming languages
影响因子:
--
作者:
[Goldstein, Harrison, Pierce, Benjamin C.]
通讯作者:
Pierce, Benjamin C.
Model-based testing of networked applications
基于模型的网络应用程序测试
DOI:
10.1145/3460319.3464798
发表时间:
2021
期刊:
ISSTA ’21: 30th ACM SIGSOFT International Symposium on Software Testing and Analysis
影响因子:
--
作者:
[Li, Yishuai, Pierce, Benjamin C, Zdancewic, Steve]
通讯作者:
Zdancewic, Steve
Collaborative Research: RAPID: Virtual Conference Platform
-
批准号:2035101
-
项目类别:Standard Grant
-
资助金额:$3.65万
-
财政年份:2020
-
负责人:Benjamin Pierce
-
依托单位:
TWC: Medium: Micro-Policies: A Framework for Tag-Based Security Monitors
-
批准号:1513854
-
项目类别:Standard Grant
-
资助金额:$120.0万
-
财政年份:2015
-
负责人:Benjamin Pierce
-
依托单位:
SHF: Small: Random Testing for Language Design
-
批准号:1421243
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2014
-
负责人:Benjamin Pierce
-
依托单位:
Programming Languages Mentoring Workshop
-
批准号:1353927
-
项目类别:Standard Grant
-
资助金额:$3.0万
-
财政年份:2013
-
负责人:Benjamin Pierce
-
依托单位:
Conference Support for OREGON PROGRAMMING LANGUAGES SUMMER SCHOOL, 2013
-
批准号:1338938
-
项目类别:Standard Grant
-
资助金额:$1.5万
-
财政年份:2013
-
负责人:Benjamin Pierce
-
依托单位:
Conference Support for OREGON PROGRAMMING LANGUAGES SUMMER SCHOOL, 2012
-
批准号:1240237
-
项目类别:Standard Grant
-
资助金额:$1.5万
-
财政年份:2012
-
负责人:Benjamin Pierce
-
依托单位:
TC: Medium: Putting Differential Privacy To Work
-
批准号:1065060
-
项目类别:Continuing Grant
-
资助金额:$120.0万
-
财政年份:2011
-
负责人:Benjamin Pierce
-
依托单位:
SHF: Small: Algebraic Foundations for Collaborative Data Sharing
-
批准号:1017212
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2010
-
负责人:Benjamin Pierce
-
依托单位:
TC: SMALL: Contracts for Precise Types
-
批准号:0915671
-
项目类别:Standard Grant
-
资助金额:$45.46万
-
财政年份:2009
-
负责人:Benjamin Pierce
-
依托单位:
CT-T: Collaborative Research: Manifest Security
-
批准号:0715936
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2007
-
负责人:Benjamin Pierce
-
依托单位:
LINGUISTIC FOUNDATIONS FOR XML VIEW UPDATE
-
批准号:0534592
-
项目类别:Continuing Grant
-
资助金额:$0.0万
-
财政年份:2006
-
负责人:Benjamin Pierce
-
依托单位:
Harmony: The Art of Reconciliation
-
批准号:0429836
-
项目类别:Continuing Grant
-
资助金额:$31.5万
-
财政年份:2004
-
负责人:Benjamin Pierce
-
依托单位:
ITR: Types for XML
-
批准号:0219945
-
项目类别:Continuing Grant
-
资助金额:$48.96万
-
财政年份:2002
-
负责人:Benjamin Pierce
-
依托单位:
ITR/SY+IM: Principles and Practice of Synchronization
-
批准号:0113226
-
项目类别:Standard Grant
-
资助金额:$30.0万
-
财政年份:2001
-
负责人:Benjamin Pierce
-
依托单位:
Modular Type Systems
-
批准号:9912352
-
项目类别:Continuing Grant
-
资助金额:$30.0万
-
财政年份:2000
-
负责人:Benjamin Pierce
-
依托单位:
U.S.-France Cooperative Research (INRIA): Static Types for Reasoning about Concurrent Systems
-
批准号:9996084
-
项目类别:Standard Grant
-
资助金额:$1.71万
-
财政年份:1998
-
负责人:Benjamin Pierce
-
依托单位:
CAREER: Principled Foundations for Programming with Objects
-
批准号:9996250
-
项目类别:Continuing Grant
-
资助金额:$8.29万
-
财政年份:1998
-
负责人:Benjamin Pierce
-
依托单位:
U.S.-France Cooperative Research (INRIA): Static Types for Reasoning about Concurrent Systems
-
批准号:9605173
-
项目类别:Standard Grant
-
资助金额:$1.8万
-
财政年份:1997
-
负责人:Benjamin Pierce
-
依托单位:
CAREER: Principled Foundations for Programming with Objects
-
批准号:9701826
-
项目类别:Continuing Grant
-
资助金额:$10.0万
-
财政年份:1997
-
负责人:Benjamin Pierce
-
依托单位:
Development of an Integrated, Multidisciplinary Science Literacy Course for Comprehensive Universities
-
批准号:9455440
-
项目类别:Standard Grant
-
资助金额:$10.16万
-
财政年份:1995
-
负责人:Benjamin Pierce
-
依托单位:
国内基金
海外基金
登录
查看更多内容
Research on Quantum Field Theory without a Lagrangian Description
-
批准号:24ZR1403900
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2024
-
负责人:SATOSHI NAWATA
-
依托单位:
Cell Research
-
批准号:31224802
-
项目类别:专项基金项目
-
资助金额:24.0万元
-
批准年份:2012
-
负责人:程磊
-
依托单位:
Cell Research
-
批准号:31024804
-
项目类别:专项基金项目
-
资助金额:24.0万元
-
批准年份:2010
-
负责人:程磊
-
依托单位:
Cell Research (细胞研究)
-
批准号:30824808
-
项目类别:专项基金项目
-
资助金额:24.0万元
-
批准年份:2008
-
负责人:张爱兰
-
依托单位:
Research on the Rapid Growth Mechanism of KDP Crystal
-
批准号:10774081
-
项目类别:面上项目
-
资助金额:45.0万元
-
批准年份:2007
-
负责人:滕冰
-
依托单位: