SHF: Medium: A Code-Centric Approach to Specifying, Checking, and Discovering Shared-Memory Communication
SHF: Medium: A Code-Centric Approach to Specifying, Checking, and Discovering Shared-Memory Communication
批准号:
1064497
负责人:
Daniel Grossman
金额:
$90.12万
依托单位:
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2011
资助国家:
美国
项目状态:
已结题
起止时间:
2011-08-01 至 2016-07-31
中文摘要
点击翻译按钮获取中文摘要
英文摘要
This project aims to improve the practice of shared-memory concurrent programming by exploring a fundamentally new way to specify, verify, test, and monitor how threads communicate via memory. Shared-memory concurrency has become an increasingly important style of programming because it is a common way to utilize multicore processors, i.e., machines where there is more than one processing core, and desktops, laptops, servers, and even mobile devices are increasingly multicore. Shared-memory concurrency is widely recognized as difficult and error-prone, and much prior work has aimed to detect bugs related to this style automatically. This project complements prior work by focusing on application-specific specifications in terms of how different parts of the code-base use concurrency to communicate, rather than focusing on how individual pieces of data are used. This approach aims to improve the quality of software used throughout society, to improve the productivity of software developers and testers, and to influence how students are taught concurrent programming.At the heart of the approach is a communication graph in which the nodes are program points and the edges indicate communication via shared memory. That is, for each edge, the code that the source node represents performs a write in one thread that is subsequently read in another thread by the code that the target node represents. Such graphs can form the foundation for conceptual and intellectual tools useful throughout the development and maintenance of software, including specifications (declarations of what communication is allowed), static checking (program analysis to infer possible communication), dynamic checking (efficient run-time communication monitoring), testing (design/evaluation of a test-suite in terms of communication coverage), and automatic anomaly detection and bug isolation (in terms of unexpected communication) for deployed software. This project is developing and evaluating tools inspired by this foundation, leveraging synergies across the execution stack, including work on computer architecture, run-time systems, compilers, programming languages, automatic testing, and static analysis.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
FMitF: Track I: Retargetable, Verifiable, Optimizable Computer-Aided Manufacturing
-
批准号:2017927
-
项目类别:Standard Grant
-
资助金额:$74.99万
-
财政年份:2020
-
负责人:Daniel Grossman
-
依托单位:
CPA-SEL-T: Collaborative Research: Unified Open Source Transactional Infrastructure
-
批准号:0811405
-
项目类别:Standard Grant
-
资助金额:$25.0万
-
财政年份:2008
-
负责人:Daniel Grossman
-
依托单位:
Delivering on the Promises of Software Transactions for Programming Languages
-
批准号:0702226
-
项目类别:Standard Grant
-
资助金额:$37.5万
-
财政年份:2007
-
负责人:Daniel Grossman
-
依托单位:
Effective, Efficient, and Correct Software Analysis and Optimization Tools
-
批准号:0702225
-
项目类别:Standard Grant
-
资助金额:$42.5万
-
财政年份:2007
-
负责人:Daniel Grossman
-
依托单位:
CAREER: Clamp - Language Support for C-Level Abstraction, Modularity, and Portability
-
批准号:0447697
-
项目类别:Continuing Grant
-
资助金额:$0.0万
-
财政年份:2005
-
负责人:Daniel Grossman
-
依托单位:
海外基金