The C programming language continues to play an essential role in the development of system software. May-Happen-in-Parallel (MHP) analysis is the basis of many other analyses and optimisations for concurrent programs. Existing MHP analyses that work well for programming languages such as X10 are often not effective for C (with Pthreads). This paper presents a new MHP algorithm for C that operates at the granularity of code regions rather than individual statements in a program. A flow-sensitive Happens-Before (HB) analysis is performed to account for fork-join semantics of pthreads on an interprocedural thread-sensitive control flow graph representation of a program, enabling the HB relations among its statements to be discovered. All the ...
The design of concurrent programs is error-prone due to the interaction between concurrently executi...
Abstract—A well-defined system-level model contains explicit parallelism and should be free from par...
Dataflow analyses are a critical part of many optimizing compilers as well as bug-finding and progra...
In recent years research in the area of parallel architectures and parallel languages has become mor...
In this paper, we present the first full regions-and-effects inference algorithm for explicitly para...
Abstract. Automatic race detection of C programs requires fast, yet sufficiently precise, analysis o...
Abstract. We introduce a new region-based SELective Flow-Sensitive (Selfs) approach to inter-procedu...
Accurate alias analysis is a crucial phase of optimizing/parallelizing compilers for languages which...
Parallel data flow analysis methods offer the promise of calculating detailed semantic information a...
A fundamental problem in the analysis of parallel programs is to determine when two statements in a ...
To efficiently utilize the emerging heterogeneous multi-core architecture, it is essential to exploi...
Code analysis has discovered that memory leaks are common in the C programming language. In the lite...
Traditional parallelism detection in compilers is performed by means of static analysis and more spe...
Abstract. We present a static analysis by Abstract Interpretation to check for run-time errors in pa...
Analyzing parallel programs has become increasingly difficult due to the immense amount of informati...
The design of concurrent programs is error-prone due to the interaction between concurrently executi...
Abstract—A well-defined system-level model contains explicit parallelism and should be free from par...
Dataflow analyses are a critical part of many optimizing compilers as well as bug-finding and progra...
In recent years research in the area of parallel architectures and parallel languages has become mor...
In this paper, we present the first full regions-and-effects inference algorithm for explicitly para...
Abstract. Automatic race detection of C programs requires fast, yet sufficiently precise, analysis o...
Abstract. We introduce a new region-based SELective Flow-Sensitive (Selfs) approach to inter-procedu...
Accurate alias analysis is a crucial phase of optimizing/parallelizing compilers for languages which...
Parallel data flow analysis methods offer the promise of calculating detailed semantic information a...
A fundamental problem in the analysis of parallel programs is to determine when two statements in a ...
To efficiently utilize the emerging heterogeneous multi-core architecture, it is essential to exploi...
Code analysis has discovered that memory leaks are common in the C programming language. In the lite...
Traditional parallelism detection in compilers is performed by means of static analysis and more spe...
Abstract. We present a static analysis by Abstract Interpretation to check for run-time errors in pa...
Analyzing parallel programs has become increasingly difficult due to the immense amount of informati...
The design of concurrent programs is error-prone due to the interaction between concurrently executi...
Abstract—A well-defined system-level model contains explicit parallelism and should be free from par...
Dataflow analyses are a critical part of many optimizing compilers as well as bug-finding and progra...