SHF: Small: Practical Dynamic Program Reasoning Across Language Boundaries

Information

  • NSF Award
  • 2505223
Owner
  • Award Id
    2505223
  • Award Effective Date
    2/1/2025 - 4 days ago
  • Award Expiration Date
    5/31/2026 - a year from now
  • Award Amount
    $ 439,112.00
  • Award Instrument
    Standard Grant

SHF: Small: Practical Dynamic Program Reasoning Across Language Boundaries

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. <br/><br/>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.<br/><br/>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.

  • Program Officer
    Sol Greenspansgreensp@nsf.gov7032927841
  • Min Amd Letter Date
    12/23/2024 - a month ago
  • Max Amd Letter Date
    12/23/2024 - a month ago
  • ARRA Amount

Institutions

  • Name
    SUNY at Buffalo
  • City
    AMHERST
  • State
    NY
  • Country
    United States
  • Address
    520 LEE ENTRANCE STE 211
  • Postal Code
    142282577
  • Phone Number
    7166452634

Investigators

  • First Name
    Haipeng
  • Last Name
    Cai
  • Email Address
    haipengc@buffalo.edu
  • Start Date
    12/23/2024 12:00:00 AM

Program Element

  • Text
    Software & Hardware Foundation
  • Code
    779800

Program Reference

  • Text
    SMALL PROJECT
  • Code
    7923
  • Text
    SOFTWARE ENG & FORMAL METHODS
  • Code
    7944
  • Text
    UNDERGRADUATE EDUCATION
  • Code
    9178
  • Text
    REU SUPP-Res Exp for Ugrd Supp
  • Code
    9251