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

合作研究:SHF:Medium:加快 Python 速度

基本信息

项目摘要

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.
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的法定使命,并被认为值得通过使用基金会的智力价值和更广泛的影响审查标准。

项目成果

期刊论文数量(1)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
ETNA: An Evaluation Platform for Property-Based Testing (Experience Report)
{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Leonidas Lampropoulos其他文献

Testing noninterference, quickly
快速测试无干扰
  • DOI:
  • 发表时间:
    2013
  • 期刊:
  • 影响因子:
    1.1
  • 作者:
    Cătălin Hriţcu;Leonidas Lampropoulos;Antal Spector;Arthur Azevedo de Amorim;Maxime Dénès;John Hughes;B. Pierce;Dimitrios Vytiniotis
  • 通讯作者:
    Dimitrios Vytiniotis
Measuring Neural Net Robustness ?
测量神经网络的鲁棒性?
  • DOI:
  • 发表时间:
    2018
  • 期刊:
  • 影响因子:
    0
  • 作者:
    O. Bastani;Yani Andrew Ioannou;Leonidas Lampropoulos;Dimitrios Vytiniotis;A. Nori;A. Criminisi
  • 通讯作者:
    A. Criminisi
Random Testing for Language Design
语言设计的随机测试
  • DOI:
  • 发表时间:
    2018
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Leonidas Lampropoulos
  • 通讯作者:
    Leonidas Lampropoulos
Ode on a random urn (functional pearl)
随机瓮颂(功能性珍珠)

Leonidas Lampropoulos的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Leonidas Lampropoulos', 18)}}的其他基金

Travel: NSF Student Travel Grant for the Programming Languages Mentoring Workshop at ACM SIGPLAN Symposium on Principles of Programming Languages, 2024-2026
旅行:2024-2026 年 ACM SIGPLAN 编程语言原理研讨会编程语言指导研讨会的 NSF 学生旅行补助金
  • 批准号:
    2334703
  • 财政年份:
    2023
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
CAREER: Fuzzing Formal Specifications
职业:模糊正式规范
  • 批准号:
    2145649
  • 财政年份:
    2022
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Continuing Grant
Collaborative Research: SHF: Medium: Efficient and Trustworthy Proof Engineering
合作研究:SHF:中:高效且值得信赖的证明工程
  • 批准号:
    2107206
  • 财政年份:
    2021
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Continuing Grant

相似国自然基金

Research on Quantum Field Theory without a Lagrangian Description
  • 批准号:
    24ZR1403900
  • 批准年份:
    2024
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
Cell Research
  • 批准号:
    31224802
  • 批准年份:
    2012
  • 资助金额:
    24.0 万元
  • 项目类别:
    专项基金项目
Cell Research
  • 批准号:
    31024804
  • 批准年份:
    2010
  • 资助金额:
    24.0 万元
  • 项目类别:
    专项基金项目
Cell Research (细胞研究)
  • 批准号:
    30824808
  • 批准年份:
    2008
  • 资助金额:
    24.0 万元
  • 项目类别:
    专项基金项目
Research on the Rapid Growth Mechanism of KDP Crystal
  • 批准号:
    10774081
  • 批准年份:
    2007
  • 资助金额:
    45.0 万元
  • 项目类别:
    面上项目

相似海外基金

Collaborative Research: SHF: Medium: Differentiable Hardware Synthesis
合作研究:SHF:媒介:可微分硬件合成
  • 批准号:
    2403134
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: LEGAS: Learning Evolving Graphs At Scale
协作研究:SHF:小型:LEGAS:大规模学习演化图
  • 批准号:
    2331302
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: LEGAS: Learning Evolving Graphs At Scale
协作研究:SHF:小型:LEGAS:大规模学习演化图
  • 批准号:
    2331301
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Efficient and Scalable Privacy-Preserving Neural Network Inference based on Ciphertext-Ciphertext Fully Homomorphic Encryption
合作研究:SHF:小型:基于密文-密文全同态加密的高效、可扩展的隐私保护神经网络推理
  • 批准号:
    2412357
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Enabling Graphics Processing Unit Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的图形处理单元性能仿真
  • 批准号:
    2402804
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Tiny Chiplets for Big AI: A Reconfigurable-On-Package System
合作研究:SHF:中:用于大人工智能的微型芯片:可重新配置的封装系统
  • 批准号:
    2403408
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Toward Understandability and Interpretability for Neural Language Models of Source Code
合作研究:SHF:媒介:实现源代码神经语言模型的可理解性和可解释性
  • 批准号:
    2423813
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Enabling GPU Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的 GPU 性能仿真
  • 批准号:
    2402806
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Differentiable Hardware Synthesis
合作研究:SHF:媒介:可微分硬件合成
  • 批准号:
    2403135
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Tiny Chiplets for Big AI: A Reconfigurable-On-Package System
合作研究:SHF:中:用于大人工智能的微型芯片:可重新配置的封装系统
  • 批准号:
    2403409
  • 财政年份:
    2024
  • 资助金额:
    $ 37.44万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了