Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Peng Li 0058

dblp:83/6353-58 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
0since 2021 · last 2014
0000-0002-5983-2384ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 3 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Program analysis · 45% Concurrent programming · 33% Program verification · 11%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
GPUs and heterogeneous computing · 100%

Topics — the 8 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming › concurrency bug detection
data race detection
0.322014
Practical Symbolic Race Checking of GPU Programs · SC 2014
Parametric flows: automated behavior equivalencing for symbolic analysis of races in CUDA programs · SC 2012
Program analysis
static analysis
0.322014
Practical Symbolic Race Checking of GPU Programs · SC 2014
Parametric flows: automated behavior equivalencing for symbolic analysis of races in CUDA programs · SC 2012
GPUs and heterogeneous computing
GPU programming
0.322014
Practical Symbolic Race Checking of GPU Programs · SC 2014
Parametric flows: automated behavior equivalencing for symbolic analysis of races in CUDA programs · SC 2012
Program analysis
symbolic execution
0.232014
Parametric flows: automated behavior equivalencing for symbolic analysis of races in CUDA programs · SC 2012
Practical Symbolic Race Checking of GPU Programs · SC 2014
GKLEE: concolic verification and test generation for GPUs · PPoPP 2012
Program verification › code-level verification
GPU kernel verification
0.112012
GKLEE: concolic verification and test generation for GPUs · PPoPP 2012
Software testing
test generation
0.112012
GKLEE: concolic verification and test generation for GPUs · PPoPP 2012
Concurrent programming
concurrency bugs
0.012012
Parametric flows: automated behavior equivalencing for symbolic analysis of races in CUDA programs · SC 2012
Concurrent programming › concurrency bugs
data races
0.012012
Parametric flows: automated behavior equivalencing for symbolic analysis of races in CUDA programs · SC 2012

Methods — techniques the papers use, named apart from their topics

symbolic execution · 0.7static analysis · 0.4parametric flow abstraction · 0.3control-flow equivalence · 0.3test case reduction · 0.1symbolic virtual machine · 0.1concolic testing · 0.1
YearPublicationVenuePosition
2014 Practical Symbolic Race Checking of GPU Programs
abstract
Even the careful GPU programmer can inadvertently introduce data races while writing and optimizing code. Currently available GPU race checking methods fall short either in terms of their formal guarantees, ease of use, or practicality. Existing symbolic methods: (1) do not fully support existing CUDA kernels, (2) may require user-specified assertions or invariants, (3) often require users to guess which inputs may be safely made concrete, (4) tend to explode in complexity when the number of threads is increased, and (5) explode in the face of thread-ID based decisions, especially in a loop. We present SESA, a new tool combining Symbolic Execution and Static Analysis to analyze C++ CUDA programs that overcomes all these limitations. SESA also scales well to handle non-trivial benchmarks such as Parboil and Lonestar, and is the only tool of its class that handles such practical examples. This paper presents SESA's methodological innovations and practical results.
Peng Li 0058, Ganesh Gopalakrishnan
SC1
2012 GKLEE: concolic verification and test generation for GPUs
abstract
Programs written for GPUs often contain correctness errors such as races, deadlocks, or may compute the wrong result. Existing debugging tools often miss these errors because of their limited input-space and execution-space exploration. Existing tools based on conservative static analysis or conservative modeling of SIMD concurrency generate false alarms resulting in wasted bug-hunting. They also often do not target performance bugs (non-coalesced memory accesses, memory bank conflicts, and divergent warps). We provide a new framework called GKLEE that can analyze C++ GPU programs, locating the aforesaid correctness and performance bugs. For these programs, GKLEE can also automatically generate tests that provide high coverage. These tests serve as concrete witnesses for every reported bug. They can also be used for downstream debugging, for example to test the kernel on the actual hardware. We describe the architecture of GKLEE, its symbolic virtual machine model, and describe previously unknown bugs and performance issues that it detected on commercial SDK kernels. We describe GKLEE's test-case reduction heuristics, and the resulting scalability improvement for a given coverage target.
Peng Li 0058, Geoffrey Sawaya, Ganesh Gopalakrishnan, Indradeep Ghosh, Sreeranga P. Rajan
PPoPP2
2012 Parametric flows: automated behavior equivalencing for symbolic analysis of races in CUDA programs
abstract
The growing scale of concurrency requires automated abstraction techniques to cut down the effort in concurrent system analysis. In this paper, we show that the high degree of behavioral symmetry present in GPU programs allows CUDA race detection to be dramatically simplified through abstraction. Our abstraction techniques is one of automatically creating parametric flows - control-flow equivalence classes of threads that diverge in the same manner - and checking for data races only across a pair of threads per parametric flow. We have implemented this approach as an extension of our recently proposed GKLEE symbolic analysis framework and show that all our previous results are dramatically improved in that (i) the parametric flow-based analysis takes far less time, and (ii) because of the much higher scalability of the analysis, we can detect even more data race situations that were previously missed by GKLEE because it was forced to downscale examples to limit analysis complexity. Moreover, the parametric flow-based analysis is applicable to other programs with SPMD models.
Peng Li 0058, Ganesh Gopalakrishnan
SC1