SHF: Small: Practical Dynamic Program Reasoning Across Language Boundaries

SHF:小:跨语言边界的实用动态程序推理

基本信息

  • 批准号:
    2146233
  • 负责人:
  • 金额:
    $ 48.58万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2022
  • 资助国家:
    美国
  • 起止时间:
    2022-06-01 至 2025-05-31
  • 项目状态:
    未结题

项目摘要

Given the different and complementary strengths of various programming languages, it is well justified to combine multiple languages in developing a software system, which has become a norm in today's software practice. In fact, the vast majority (over 80%) of modern software systems are multi-language software. Meanwhile, software failures are known to be costly, and a common methodology for preventing these failures and reducing the cost is to reason about run-time behaviors of software (i.e., dynamic program reasoning). However, extant software-quality assurance support based on dynamic program reasoning still focuses on, and is limited to, software developed in single languages, largely dismissing what happens at and across language boundaries. As a result, cross-language behaviors are left unattended and holistic quality assurance of multi-language systems is critically lacking. This project aims to advance the state of knowledge about software-quality assurance by enabling practical dynamic program reasoning across language boundaries. The research will result in a new foundation of dynamic analysis and a series of application tools to diagnose cross-language correctness and security issues, which will help produce multi-language systems of improved quality. Moreover, this project will have an industrial impact realized through collaborations with and result disseminations via industrial partners, and will broaden the participation in computing of underrepresented minorities. The technical aims of the project are divided into three thrusts. First, multi-language code-construction mechanisms and their effects on the resulting software’s behavior and quality will be characterized. This will produce new knowledge about how modern multi-language software is constructed in terms of language selection and interoperation. Then, in the second thrust, practically scalable and cost-effective analyses for holistic cross-language dependence reasoning will be developed, as informed by the knowledge and insights gained from the characterization study. The key principle is to model and reason about cross-language code dependencies in a way that not only overcomes semantics disparities caused by language heterogeneity but also readily accommodates new/additional languages. The third thrust will build on the cross-language dependence reasoning to develop practically efficient and precise cross-language information flow reasoning, which will then provide immediate support for diagnosing program faults regarding functionality bugs and security vulnerabilities across language boundaries. This project will validate the generated new knowledge and techniques through extensive evaluation against real-world, complex multi-language systems in terms of scalability, cost-effectiveness, and capabilities in practical applications.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.
鉴于各种编程语言的不同且互补的优势,在开发软件系统时结合多种语言是完全合理的,这已成为当今软件实践中的常态,事实上,绝大多数(超过80%)都是如此。同时,软件系统是多语言软件,众所周知,软件故障的成本很高,防止这些故障并降低成本的常见方法是对软件的运行时行为进行推理(即动态程序推理)。现有软件-基于动态的质量保证支持程序推理仍然关注并仅限于以单一语言开发的软件,很大程度上忽略了跨语言边界发生的情况,因此,跨语言行为无人关注,并且严重缺乏多语言系统的整体质量保证。该项目旨在通过跨语言边界的实用动态程序推理来提高软件质量保证的知识水平。该研究将为动态分析奠定新的基础,并提供一系列用于诊断跨语言正确性和安全性的应用工具。问题,这将有助于产生质量更高的多语言系统。此外,该项目将通过与工业合作伙伴的合作和成果传播来实现工业影响,并将扩大代表性不足的少数群体对计算的参与。该项目的技术目标分为三个重点:第一,多语言代码。构建机制及其对最终软件的行为和质量的影响将被描述,这将产生关于如何在语言选择和互操作方面构建现代多语言软件的新知识。有效的整体分析根据从表征研究中获得的知识和见解,将开发跨语言依赖推理,关键原则是对跨语言代码依赖关系进行建模和推理,不仅克服语言异质性引起的语义差异,而且能够克服这种差异。第三个重点将建立在跨语言依赖推理的基础上,以开发实用有效且精确的跨语言信息流推理,从而为诊断有关功能错误和安全性的程序故障提供即时支持。该项目将通过对现实世界中复杂的多语言系统在可扩展性、成本效益和实际应用功能方面的广泛评估来验证所生成的新知识和技术。该奖项反映了 NSF 的法定使命和通过使用基金会的智力优点和更广泛的影响审查标准进行评估,该项目被认为值得支持。

项目成果

期刊论文数量(5)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
PolyFax: a toolkit for characterizing multi-language software
PolyFax:用于表征多语言软件的工具包
Language-agnostic dynamic analysis of multilingual code: promises, pitfalls, and prospects
与语言无关的多语言代码动态分析:承诺、陷阱和前景
PolyCruise: A Cross-Language Dynamic Information Flow Analysis
PolyCruise:跨语言动态信息流分析
Understanding Language Selection in Multi-language Software Projects on GitHub
了解 GitHub 上多语言软件项目中的语言选择
On the vulnerability proneness of multilingual code
多语言代码的漏洞倾向
{{ 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 }}

Haipeng Cai其他文献

A Reflection on the Predictive Accuracy of Dynamic Impact Analysis
Prioritized Analysis of Inter-App Communication Risks
应用间通信风险优先分析
Longitudinal Characterization and Sustainable Classification of Android Apps via SAD Profiles
通过 SAD 配置文件对 Android 应用进行纵向表征和可持续分类
  • DOI:
  • 发表时间:
    2018
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Haipeng Cai
  • 通讯作者:
    Haipeng Cai
ICC-Inspect: Supporting Runtime Inspection of Android Inter-Component Communications
ICC-Inspect:支持 Android 组件间通信的运行时检查
EnHMM: On the Use of Ensemble HMMs and Stack Traces to Predict the Reassignment of Bug Report Fields
EnHMM:关于使用集成 HMM 和堆栈跟踪来预测错误报告字段的重新分配

Haipeng Cai的其他文献

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

{{ truncateString('Haipeng Cai', 18)}}的其他基金

SHF: EAGER: Towards Self-Adaptive Dynamic Analysis for Distributed Software
SHF:EAGER:面向分布式软件的自适应动态分析
  • 批准号:
    1936522
  • 财政年份:
    2019
  • 资助金额:
    $ 48.58万
  • 项目类别:
    Standard Grant

相似国自然基金

单细胞分辨率下的石杉碱甲介导小胶质细胞极化表型抗缺血性脑卒中的机制研究
  • 批准号:
    82304883
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
小分子无半胱氨酸蛋白调控生防真菌杀虫活性的作用与机理
  • 批准号:
    32372613
  • 批准年份:
    2023
  • 资助金额:
    50 万元
  • 项目类别:
    面上项目
诊疗一体化PS-Hc@MB协同训练介导脑小血管病康复的作用及机制研究
  • 批准号:
    82372561
  • 批准年份:
    2023
  • 资助金额:
    49 万元
  • 项目类别:
    面上项目
非小细胞肺癌MECOM/HBB通路介导血红素代谢异常并抑制肿瘤起始细胞铁死亡的机制研究
  • 批准号:
    82373082
  • 批准年份:
    2023
  • 资助金额:
    49 万元
  • 项目类别:
    面上项目
FATP2/HILPDA/SLC7A11轴介导肿瘤相关中性粒细胞脂代谢重编程影响非小细胞肺癌放疗免疫的作用和机制研究
  • 批准号:
    82373304
  • 批准年份:
    2023
  • 资助金额:
    49 万元
  • 项目类别:
    面上项目

相似海外基金

SHF: Small: Practical Analyses and Safe Transformations for Imperative Deep Learning Programs
SHF:小型:命令式深度学习程序的实用分析和安全转换
  • 批准号:
    2200343
  • 财政年份:
    2022
  • 资助金额:
    $ 48.58万
  • 项目类别:
    Standard Grant
SHF:Small:Making Effect Systems Practical with Polymorphism, Inference, and Prototyping Support
SHF:Small:通过多态性、推理和原型支持使效果系统变得实用
  • 批准号:
    2007582
  • 财政年份:
    2020
  • 资助金额:
    $ 48.58万
  • 项目类别:
    Standard Grant
SHF: Small: Practical and Formal Foundations for Intermittent Computer Systems
SHF:小型:间歇计算机系统的实用和正式基础
  • 批准号:
    2007998
  • 财政年份:
    2020
  • 资助金额:
    $ 48.58万
  • 项目类别:
    Standard Grant
SHF: Small: Making Strassen's Algorithm Practical
SHF:小:使 Strassen 的算法变得实用
  • 批准号:
    1714091
  • 财政年份:
    2017
  • 资助金额:
    $ 48.58万
  • 项目类别:
    Standard Grant
SHF: Small: Scalable and Practical Detection of Invariants for Software Inspection
SHF:小型:可扩展且实用的软件检查不变量检测
  • 批准号:
    1719155
  • 财政年份:
    2017
  • 资助金额:
    $ 48.58万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了