SHF: Small: CT-DDS -- Scalable Concolic Testing of Parallel Applications With Shared Dynamic Data Structures
SHF: Small: CT-DDS -- Scalable Concolic Testing of Parallel Applications With Shared Dynamic Data Structures
批准号:
2226448
负责人:
Rajiv Gupta
金额:
$60.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2022
资助国家:
美国
项目状态:
未结题
起止时间:
2022-10-01 至 2025-09-30
中文摘要
虽然并行程序通过利用现代多核计算机、计算机集群或通用图形处理单元(GPU)支持的并行性来提供性能,但它们也容易出现难以发现的并发错误。为了生产可靠的并行软件,必须部署强大的自动化测试技术和工具来彻底执行程序行为,以暴露并消除并发错误。自动化测试最强大的方法是Concolic测试,它将程序执行与程序分析(符号执行)相结合,自动生成不同的程序输入,以执行不同的程序路径。支持基于编译器的符号执行的最新创新极大地提高了并发测试的效率。因此,利用并行测试为多核、GPU和集群测试更复杂的并行程序的时机已经到来。本研究的目的是通过解决两个关键挑战,将并列测试推广到在异构型大规模并行计算平台上测试并行程序:如何自动测试使用并行线程维护共享状态的并发动态数据结构的并行程序;以及如何扩展并列测试的效率,从而实现对具有大量线程的并行程序的自动化测试。构建如此强大的系统将提供高度可靠的并行软件。此外,它还将在国家需要的领域培养研究生。该项目的技术目标分为两个方面。第一个推力开发了一种方法,用于执行并行程序的行为,这些行为揭示了并发错误,如数据争用和程序挂起。为了通过并发测试来执行这些行为,本研究将解决生成形状和大小不冲突的并发数据结构的复杂性,这些结构使并行线程能够以一种暴露并发错误(如数据竞争)的方式进行交互。现有的技术是不充分的,因为它们不能自动探索并发数据结构形状,这严重限制了可以执行的并发行为。第二个推力开发了一种方法,用于提高具有大量线程的并行程序的并发测试效率。为了避免重复的高成本的符号执行,捕获数据结构形状的摘要被维护,然后在并列测试期间被重用。因此,可以快速地重新创建所需形状和大小的保存的数据结构,而不是重复地收集和求解约束。为了处理大量线程,采用的方法包括:使线程标识符为符号;以及将昂贵的符号计算限制为单个线程。摘要还允许识别潜在的并发错误,以指导探索并发线程所采用的路径,以确认或反驳潜在的错误。在此项目过程中开发的软件将提供给其他研究人员。该奖项反映了NSF的法定使命,并通过使用基金会的智力优势和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
Although parallel programs deliver performance by exploiting parallelism supported by a modern-day multicore machine, a cluster of machines, or a general-purpose graphics processing unit (GPU), they are also prone to concurrency bugs that are hard to uncover. To produce reliable parallel software, powerful automated-testing techniques and tools must be deployed to thoroughly exercise program behaviors to expose and then eliminate concurrency bugs. The most powerful means for automated testing is concolic testing, which combines program execution with program analysis (symbolic execution) to automatically generate different program inputs to exercise different program paths. Recent innovation enabling compiler-based symbolic execution has greatly increased the efficiency of concolic testing. Thus, time has arrived to take advantage of concolic testing in testing even more complex parallel programs for a multicore, a GPU, and a cluster. The goal of this research is to generalize concolic testing to test parallel programs on heterogeneous massively parallel computing platforms by addressing two key challenges: how to automatically test parallel programs that use concurrent dynamic data structures in which parallel threads maintain shared state; and how to scale the efficiency of concolic testing so that automated testing of parallel programs with large number of threads can be made practical. Building such powerful systems will deliver parallel software that is highly reliable. In addition, it will result in training graduate students in an area of national need.The technical aims of this project are divided into two thrusts. The first thrust develops an approach for exercising the behaviors of parallel programs that reveal concurrency bugs such as data races and program hangs. To exercise such behaviors via concolic testing, this research will address the complexity of generating non-conflicting concurrent data structures of those shapes and sizes that enable parallel threads to interact in a manner that exposes concurrency bugs like data races. Existing techniques are inadequate because their inability to automatically explore concurrent data structure shapes severely limits concurrent behaviors that can be exercised. The second thrust develops an approach for improving the efficiency of concolic testing for parallel programs with large numbers of threads. To avoid incurring repeated high cost of symbolic execution, summaries that capture data structure shapes are maintained and then reused during concolic testing. Thus, instead of repeatedly collecting and solving constraints, a saved data structure of desired shape and size can be quickly recreated. To deal with large numbers of threads, approaches employed include: making the thread identifiers symbolic; and limiting expensive symbolic evaluation to a single thread. The summaries also enable identification of potential concurrency bugs that guide exploration of paths taken by concurrent threads to either confirm or disprove potential bugs. The software developed over the course of this project will be made available to other researchers.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: MIGS -- Efficiently Evaluating Multiple Iterative Graph Queries
-
批准号:2002554
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2020
-
负责人:Rajiv Gupta
-
依托单位:
PPoSS: Planning: Dynamic Big Graph Store for High-Throughput and Secure Distributed Query Processing
-
批准号:2028714
-
项目类别:Standard Grant
-
资助金额:$25.0万
-
财政年份:2020
-
负责人:Rajiv Gupta
-
依托单位:
TWC: Small: Collaborative: Improving Android Security with Dynamic Slicing
-
批准号:1617424
-
项目类别:Standard Grant
-
资助金额:$25.0万
-
财政年份:2016
-
负责人:Rajiv Gupta
-
依托单位:
SHF: Small: Transformations for Synergistic Analysis of Large Evolving Graphs
-
批准号:1524852
-
项目类别:Standard Grant
-
资助金额:$40.0万
-
财政年份:2015
-
负责人:Rajiv Gupta
-
依托单位:
SHF: Small: Memory Consistency -- Hardware, Compiler, and Programming Support
-
批准号:1318103
-
项目类别:Standard Grant
-
资助金额:$45.0万
-
财政年份:2013
-
负责人:Rajiv Gupta
-
依托单位:
SHF: Medium: Programmable Monitoring Framework for Multicore Systems
-
批准号:0963996
-
项目类别:Continuing Grant
-
资助金额:$57.68万
-
财政年份:2010
-
负责人:Rajiv Gupta
-
依托单位:
ExPert: dynamic analysis based fault location via Execution Perturbations
-
批准号:0810906
-
项目类别:Continuing Grant
-
资助金额:$19.61万
-
财政年份:2008
-
负责人:Rajiv Gupta
-
依托单位:
CRI: IAD An Advanced Infrastructure for Generation, Storage, and Analysis of Program Execution Traces
-
批准号:0708199
-
项目类别:Standard Grant
-
资助金额:$5.0万
-
财政年份:2007
-
负责人:Rajiv Gupta
-
依托单位:
CSR-AES-RCS: Scalable and Efficient Dynamic Information Flow Tracking in Multithreaded Programs
-
批准号:0751961
-
项目类别:Standard Grant
-
资助金额:$18.0万
-
财政年份:2007
-
负责人:Rajiv Gupta
-
依托单位:
CSR-AES-RCS: Scalable and Efficient Dynamic Information Flow Tracking in Multithreaded Programs
-
批准号:0719791
-
项目类别:Standard Grant
-
资助金额:$18.0万
-
财政年份:2007
-
负责人:Rajiv Gupta
-
依托单位:
CRI: IAD An Advanced Infrastructure for Generation, Storage, and Analysis of Program Execution Traces
-
批准号:0751949
-
项目类别:Standard Grant
-
资助金额:$5.0万
-
财政年份:2007
-
负责人:Rajiv Gupta
-
依托单位:
ST-CRTS: Dynamic Unmasking of Compiler Optimizations and Obfuscations
-
批准号:0753470
-
项目类别:Standard Grant
-
资助金额:$24.6万
-
财政年份:2007
-
负责人:Rajiv Gupta
-
依托单位:
ST-CRTS: Dynamic Unmasking of Compiler Optimizations and Obfuscations
-
批准号:0541382
-
项目类别:Standard Grant
-
资助金额:$30.0万
-
财政年份:2006
-
负责人:Rajiv Gupta
-
依托单位:
ExPert: dynamic analysis based fault location via Execution Perturbations
-
批准号:0614707
-
项目类别:Continuing Grant
-
资助金额:$0.0万
-
财政年份:2006
-
负责人:Rajiv Gupta
-
依托单位:
ITR: Collaborative Research: Morphable Software Sevices: Self-Modifying Programs for Distributed Embedded Systems
-
批准号:0324969
-
项目类别:Continuing Grant
-
资助金额:$16.62万
-
财政年份:2003
-
负责人:Rajiv Gupta
-
依托单位:
Information Encoding for Energy Efficient Processor Design
-
批准号:0208756
-
项目类别:Continuing Grant
-
资助金额:$28.0万
-
财政年份:2002
-
负责人:Rajiv Gupta
-
依托单位:
ITR: Code and Data Segment Optimizations for Mixed Width Instruction Set Embedded Processor
-
批准号:0220334
-
项目类别:Continuing Grant
-
资助金额:$14.91万
-
财政年份:2002
-
负责人:Rajiv Gupta
-
依托单位:
Data Compression Techniques for Improving Memory Hierarchy Performance
-
批准号:0105355
-
项目类别:Continuing Grant
-
资助金额:$27.0万
-
财政年份:2001
-
负责人:Rajiv Gupta
-
依托单位:
On-line Avoidance of Monitoring Intrusion in Distributed Systems
-
批准号:9996362
-
项目类别:Standard Grant
-
资助金额:$7.35万
-
财政年份:1999
-
负责人:Rajiv Gupta
-
依托单位:
A Framework for Path and Resource Sensitive Optimizations
-
批准号:0096122
-
项目类别:Standard Grant
-
资助金额:$26.11万
-
财政年份:1999
-
负责人:Rajiv Gupta
-
依托单位:
国内基金
海外基金
登录
查看更多内容
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2024
-
负责人:
-
依托单位:
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:10.0万元
-
批准年份:2022
-
负责人:张祥忠
-
依托单位:
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
-
批准号:32000033
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:林平
-
依托单位:
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
-
批准号:31972324
-
项目类别:面上项目
-
资助金额:58.0万元
-
批准年份:2019
-
负责人:高学文
-
依托单位:
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
-
批准号:81900988
-
项目类别:青年科学基金项目
-
资助金额:21.0万元
-
批准年份:2019
-
负责人:毛梦莹
-
依托单位:
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
-
批准号:31870821
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2018
-
负责人:陈江宁
-
依托单位:
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
-
批准号:31802058
-
项目类别:青年科学基金项目
-
资助金额:26.0万元
-
批准年份:2018
-
负责人:麻慧
-
依托单位:
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
-
批准号:31772128
-
项目类别:面上项目
-
资助金额:60.0万元
-
批准年份:2017
-
负责人:吴建国
-
依托单位:
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
-
批准号:81704176
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2017
-
负责人:赵继梦
-
依托单位:
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
-
批准号:91640114
-
项目类别:重大研究计划
-
资助金额:85.0万元
-
批准年份:2016
-
负责人:何祖华
-
依托单位: