课题基金 / 基金详情

Collaborative Research:SHF:Medium:Bringing Python Up to Speed

Collaborative Research:SHF:Medium:Bringing Python Up to Speed
合作研究:SHF:Medium:加快 Python 速度
批准号:
1954830
负责人:
Emery Berger
金额:
$37.71万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2020
资助国家:
美国
项目状态:
已结题
起止时间:
2020-07-01 至 2023-06-30

项目摘要

项目成果

Emery Berger的其他基金

相似基金

相关文献

中文摘要
翻译
Python编程语言是当今最流行的计算机编程语言之一,用于编写各种领域的软件,从Web服务到数据分析再到机器学习。不幸的是,Python的轻量级和灵活的本质-它的吸引力的主要来源-可能会导致显著的性能和正确性问题- Python程序可能会比用传统编程语言(如C和C++)编写的优化代码慢60,000倍,并且可能需要更多的内存。 Python灵活的“动态”特性也使其程序容易出错,许多编码错误只有在开发后期或部署后才被发现。Python经常被用作“胶水语言”--与用C或C++编写的不同组件集成和交互--使许多Python程序暴露在这些语言的独特危险中,包括易受基于内存损坏的安全漏洞的影响。该项目旨在通过开发新的Python技术来解决这些问题,这些技术包括新颖的性能分析工具,内存减少和速度优化(包括对多核执行的支持),自动化软件测试框架,以及用于驱动其评估的通用基准。该项目将开发(1)性能分析工具,帮助Python程序员准确识别速度减慢的原因;(2)自动识别可以通过调用C/C++库替换的代码的技术;(3)解锁Python线程中并行性的方法,由于全局解释器锁,Python线程目前必须顺序执行;(4)自动技术,大大减少Python应用程序的内存占用。为了提高Python应用程序的正确性,该项目将开发新的自动化测试技术,(1)使用覆盖率引导的模糊增强基于属性的随机测试;(2)采用concolic执行以实现更智能的测试生成和输入最小化;(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.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SHF: Small: S3: Statistical and Structural Analysis for Spreadsheets
  • 批准号:
    1617892
  • 项目类别:
    Standard Grant
  • 资助金额:
    $34.74万
  • 财政年份:
    2016
  • 负责人:
    Emery Berger
  • 依托单位:
TWC: Small: Collaborative: EVADE: Evidence-Assisted Detection and Elimination of Security Vulnerabilities
  • 批准号:
    1525888
  • 项目类别:
    Standard Grant
  • 资助金额:
    $25.0万
  • 财政年份:
    2015
  • 负责人:
    Emery Berger
  • 依托单位:
XPS: FULL: SDA: Collaborative Research: SCORE: Scalability-Oriented Optimization
  • 批准号:
    1439008
  • 项目类别:
    Standard Grant
  • 资助金额:
    $64.8万
  • 财政年份:
    2014
  • 负责人:
    Emery Berger
  • 依托单位:
EAGER: Data Debugging
  • 批准号:
    1349784
  • 项目类别:
    Standard Grant
  • 资助金额:
    $15.0万
  • 财政年份:
    2013
  • 负责人:
    Emery Berger
  • 依托单位:
国内基金
海外基金
Research on Quantum Field Theory without a Lagrangian Description
  • 批准号:
    24ZR1403900
  • 项目类别:
    省市级项目
  • 资助金额:
    --
  • 批准年份:
    2024
  • 负责人:
    SATOSHI NAWATA
  • 依托单位:
Cell Research
Cell Research
Cell Research (细胞研究)