Runtime Detection of C-Style Errors in UPC Code
Conference
·
OSTI ID:1037834
Unified Parallel C (UPC) extends the C programming language (ISO C 99) with explicit parallel programming support for the partitioned global address space (PGAS), which provides a global memory space with localized partitions to each thread. Like its ancestor C, UPC is a low-level language that emphasizes code efficiency over safety. The absence of dynamic (and static) safety checks allows programmer oversights and software flaws that can be hard to spot. In this paper, we present an extension of a dynamic analysis tool, ROSE-Code Instrumentation and Runtime Monitor (ROSECIRM), for UPC to help programmers find C-style errors involving the global address space. Built on top of the ROSE source-to-source compiler infrastructure, the tool instruments source files with code that monitors operations and keeps track of changes to the system state. The resulting code is linked to a runtime monitor that observes the program execution and finds software defects. We describe the extensions to ROSE-CIRM that were necessary to support UPC. We discuss complications that arise from parallel code and our solutions. We test ROSE-CIRM against a runtime error detection test suite, and present performance results obtained from running error-free codes. ROSE-CIRM is released as part of the ROSE compiler under a BSD-style open source license.
- Research Organization:
- Lawrence Livermore National Laboratory (LLNL), Livermore, CA
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 1037834
- Report Number(s):
- LLNL-CONF-502592
- Country of Publication:
- United States
- Language:
- English
Similar Records
UPC++: A PGAS extension for C++
UPC++
Asynchronous Programming in UPC: A Case Study and Potential for Improvement
Conference
·
Tue Dec 31 23:00:00 EST 2013
·
OSTI ID:1523898
UPC++
Software
·
Wed Apr 30 20:00:00 EDT 2014
·
OSTI ID:code-2804
Asynchronous Programming in UPC: A Case Study and Potential for Improvement
Conference
·
Wed Dec 31 23:00:00 EST 2008
·
OSTI ID:961770