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

Ding Ye

dblp:47/8039 · DBLP profile ↗
← Back
13ranked-venue papers
3as first author
1since 2021 · last 2021
—ORCID · none

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

Systems, architecture and hardware · 6 · 1 first-authorSoftware engineering, systems software and programming languages · 4 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 1 first-authorComputer networks · 1 · 1 since 2021

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 · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
GPUs and heterogeneous computing · 50% Parallel and multicore computing · 50%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Bioinformatics and computational biology · 100%

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

TopicWeightPapersLastEvidence papers
Program analysis › static analysis
pointer analysis
0.632016
An Efficient GPU Implementation of Inclusion-Based Pointer Analysis · IEEE Trans. Parallel Distributed Syst. 2016
Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis · IEEE Trans. Software Eng. 2014
Static memory leak detection using full-sparse value-flow analysis · ISSTA 2012
Program analysis › error detection
memory leak detection
0.322014
Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis · IEEE Trans. Software Eng. 2014
Static memory leak detection using full-sparse value-flow analysis · ISSTA 2012
Program analysis
static analysis
0.322014
Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis · IEEE Trans. Software Eng. 2014
Static memory leak detection using full-sparse value-flow analysis · ISSTA 2012
Program analysis › static analysis › pointer analysis
inclusion-based points-to analysis
0.212016
An Efficient GPU Implementation of Inclusion-Based Pointer Analysis · IEEE Trans. Parallel Distributed Syst. 2016
GPUs and heterogeneous computing
GPU computing
0.212016
An Efficient GPU Implementation of Inclusion-Based Pointer Analysis · IEEE Trans. Parallel Distributed Syst. 2016
Parallel and multicore computing › parallel computing
parallel program analysis
0.212016
An Efficient GPU Implementation of Inclusion-Based Pointer Analysis · IEEE Trans. Parallel Distributed Syst. 2016
Program analysis › data flow analysis
value-flow analysis
0.212014
Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis · IEEE Trans. Software Eng. 2014
Bioinformatics and computational biology
proteomics
0.112010
Open MS/MS spectral library search to identify unanticipated post-translational modifications and increase spectral identification rate · Bioinform. 2010
Bioinformatics and computational biology › proteomics › mass spectrometry data analysis
spectral library search
0.112010
Open MS/MS spectral library search to identify unanticipated post-translational modifications and increase spectral identification rate · Bioinform. 2010
Program analysis › static analysis › interprocedural analysis
whole-program analysis
0.112016
An Efficient GPU Implementation of Inclusion-Based Pointer Analysis · IEEE Trans. Parallel Distributed Syst. 2016
Bioinformatics and computational biology › proteomics › post-translational modification
post-translational modification identification
0.012010
Open MS/MS spectral library search to identify unanticipated post-translational modifications and increase spectral identification rate · Bioinform. 2010

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

workload partitioning · 0.5adaptive group propagation · 0.5sparse value-flow graph · 0.3graph reachability · 0.3target-decoy strategy · 0.1probability-based scoring · 0.1dot-product scoring · 0.1
YearPublicationVenuePosition
2021 Blind detection of cyclostationary signals based on multi-antenna beamforming technology
abstract
Abstract Cyclostationary feature detection is one of the widely used spectrum sensing techniques. Its greatest advantage is that it can effectively separate the signal from the noise under the condition of a low signal‐noise ratio (SNR). Although cyclostationary feature detection is not affected by noise uncertainty like energy detection (ED), conventional cyclic stationary feature detection needs to know the prior conditions of signal cycle frequency (CF), cycle period, and so on. Moreover, the communication signals of authorized users are generally weak, which greatly affects the detection efficiency of cyclic stationary features. Therefore, this paper proposes a blind detection technique of cyclostationary characteristics based on conventional beam synthesis multi‐antenna. The principle is to enhance the signal receiving intensity of the antenna by using beamforming technology, and realize the blind detection of cyclostationary signals by forming the direction of arrival angle. Not only that, the authors also make full use of the Wilk's approximation theorem and the generalized likelihood ratio test (GLRT) to derive the detection probability and false alarm probability. The simulation results show that the proposed cyclic stationary signal detector based on beam synthesis multi‐antenna can realize blind detection of unknown cycle signals in a low SNR environment.
Jie Wang 0082, Ding Ye, Zhenghua Zhang
IET Commun.3
2016 An Efficient GPU Implementation of Inclusion-Based Pointer Analysis
abstract
We present an efficient GPU implementation of Andersen's whole-program inclusion-based pointer analysis, a fundamental analysis on which many others are based, including optimising compilers, bug detection and security analyses. Andersen's algorithm makes extensive modifications to the graph that represents the pointer-manipulating statements in a program. These modifications are highly irregular, input-dependent and statically unpredictable, making it much more challenging to balance such graph workloads across a multitude of GPU cores than those dealt with by traditional graph algorithms such as DFS and BFS. To parallelise Andersen's analysis efficiently on GPUs, we introduce an imbalance-aware workload partitioning scheme that divides its workload dynamically among the concurrent warps, initially in a warp-centric manner (during the coarsegrain stage) but later switches to a task-pool-based model when a workload imbalance is detected (during the fine-grain stage). We improve further its performance by using an adaptive group propagation scheme to reduce some redundant traversals. For a set of 14 C benchmarks evaluated, our parallel implementation of Andersen's analysis achieves a significant speedup of 46 percent on average over the state-of-the art on an NVIDIA Tesla K20c GPU.
Yu Su 0012, Ding Ye, Jingling Xue, Xiangke Liao
IEEE Trans. Parallel Distributed Syst.2
2016 Eliminating Redundant Bounds Checks in Dynamic Buffer Overflow Detection Using Weakest Preconditions
abstract
Spatial errors (e.g., buffer overflows) continue to be one of the dominant threats to software reliability and security in C/C++ programs. Presently, the software industry typically enforces spatial memory safety by instrumentation. Due to high overheads incurred in bounds checking at runtime, many program inputs cannot be exercised, causing some input-specific spatial errors to go undetected in today's commercial software. This paper introduces a new compile-time approach for reducing bounds checking overheads based on the notion of weakest precondition (WP). The basic idea is to guard a bounds check at a pointer dereference inside a loop, where the WP-based guard is hoisted outside the loop, so that its falsehood implies the absence of out-of-bounds errors at the dereference, thereby avoiding the corresponding bounds check inside the loop. This WP-based approach is applicable to any spatial-error detection approach (in software or hardware or both). To evaluate the effectiveness of our approach, we take SoftBound, a compile-time tool with an open-source implementation in low-level virtual machine (LLVM), as our baseline. SoftBound adopts a pointer-based checking scheme with disjoint metadata, making it a state-of-the-art tool in providing compatible and complete spatial safety for C. Our new tool, called WPBound, is a refined version of SoftBound, also implemented in LLVM, by incorporating our WP-based compiler approach comprising both intra and interprocedural optimizations. For a set of 20 C benchmarks selected from SPEC and MiBench,WPBound reduces the average runtime overhead of SoftB ound from 77% to 47% (by a reduction of 39%), with small code size increases.
Yulei Sui, Ding Ye, Yu Su 0012, Jingling Xue
IEEE Trans. Reliab.2
2015 Region-Based May-Happen-in-Parallel Analysis for C Programs
abstract
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 statements that share the same HB properties are then grouped into one region. As a result, computing the MHP information for all pairs of statements in a program is reduced to one of inferring the HB relations from among its regions. We have implemented our algorithm in LLVM-3.5.0 and evaluated it using 14 programs from the SPLASH2 and PARSEC benchmark suites. Our preliminary results show that our approach is more precise than two existing MHP analyses yet computationally comparable with the fastest MHP analysis.
Peng Di, Yulei Sui, Ding Ye, Jingling Xue
ICPP3
2014 Accelerating Dynamic Detection of Uses of Undefined Values with Static Value-Flow Analysis
Ding Ye, Yulei Sui, Jingling Xue
CGO1
2014 Parallel Pointer Analysis with CFL-Reachability
abstract
This paper presents the first parallel implementation of pointer analysis with Context-Free Language (CFL) reachability, an important foundation for supporting demand queries in compiler optimisation and software engineering. Formulated as a graph traversal problem (often with context- and field-sensitivity for desired precision) and driven by queries (issued often in batch mode), this analysis is non-trivial to parallelise. We introduce a parallel solution to the CFL-reachability-based pointer analysis, with context- and field-sensitivity. We exploit its inherent parallelism by avoiding redundant graph traversals with two novel techniques, data sharing and query scheduling. With data sharing, paths discovered in answering a query are recorded as shortcuts so that subsequent queries will take the shortcuts instead of re-traversing its associated paths. With query scheduling, queries are prioritised according to their statically estimated dependences so that more redundant traversals can be further avoided. Evaluated using a set of 20 Java programs, our parallel implementation of CFL-reachability-based pointer analysis achieves an average speedup of 16.2X over a state-of-the-art sequential implementation on 16 CPU cores.
Yu Su 0012, Ding Ye, Jingling Xue
ICPP2
2014 WPBOUND: Enforcing Spatial Memory Safety Efficiently at Runtime with Weakest Preconditions
abstract
Spatial errors (e.g., Buffer overflows) continue to be one of the dominant threats to software reliability and security in C/C++ programs. Presently, the software industry typically enforces spatial memory safety by instrumentation. Due to high overheads incurred in bounds checking at runtime, many program inputs cannot be exercised, causing some input-specific spatial errors to go undetected in today's commercial software. This paper introduces a new compile-time optimisation for reducing bounds checking overheads based on the notion of Weakest Precondition (WP). The basic idea is to guard a bounds check at a pointer dereference inside a loop, where the WP-based guard is hoisted outside the loop, so that its falsehood implies the absence of out-of-bounds errors at the dereference, thereby avoiding the corresponding bounds check inside the loop. This WP-based optimisation is applicable to any spatial-error detection approach (in software or hardware or both). To evaluate the effectiveness of our optimisation, we take SOFTBOUND, a compile-time tool with an open-source implementation in LLVM, as our baseline. SOFTBOUND adopts a pointer-based checking approach with disjoint metadata, making it a state-of-the-art tool in providing compatible and complete spatial safety for C. Our new tool, called WPBOUND, is a refined version of SOFTBOUND, also implemented in LLVM, by incorporating our WP-based optimisation. For a set of 12 SPEC C benchmarks evaluated, WPBOUND reduces the average (geometric mean) slowdown of SOFTBOUND from 71% to 45% (by a reduction of 37%), with small code size increases.
Ding Ye, Yu Su 0012, Yulei Sui, Jingling Xue
ISSRE1
2014 Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis
abstract
We introduce a static detector, Saber, for detecting memory leaks in C programs. Leveraging recent advances on sparse pointer analysis, Saber is the first to use a full-sparse value-flow analysis for detecting memory leaks statically. Saber tracks the flow of values from allocation to free sites using a sparse value-flow graph (SVFG) that captures def-use chains and value flows via assignments for all memory locations represented by both top-level and address-taken pointers. By exploiting field-, flow- and context-sensitivity during different phases of the analysis, Saber detects memory leaks in a program by solving a graph reachability problem on its SVFG. Saber, which is fully implemented in Open64, is effective at detecting 254 leaks in the 15 SPEC2000 C programs and seven applications, while keeping the false positive rate at 18.3 percent. Saber compares favorably with several static leak detectors in terms of accuracy (leaks and false alarms reported) and scalability (LOC analyzed per second). In particular, compared with Fastcheck (which analyzes allocated objects flowing only into top-level pointers) using the 15 SPEC2000 C programs, Saber detects 44.1 percent more leaks at a slightly higher false positive rate but is only a few times slower.
Yulei Sui, Ding Ye, Jingling Xue
IEEE Trans. Software Eng.2
2013 Accelerating inclusion-based pointer analysis on heterogeneous CPU-GPU systems
abstract
This paper describes the first implementation of Andersen's inclusion-based pointer analysis for C programs on a heterogeneous CPU-GPU system, where both its CPU and GPU cores are used. As an important graph algorithm, Andersen's analysis is difficult to parallelise because it makes extensive modifications to the structure of the underlying graph, in a way that is highly input-dependent and statically hard to analyse. Existing parallel solutions run on either the CPU or GPU but not both, rendering the underlying computational resources underutilised and the ratios of CPU-only over GPU-only speedups for certain programs (i.e., graphs) unpredictable. We observe that a naive parallel solution of Andersen's analysis on a CPU-GPU system suffers from poor performance due to workload imbalance. We introduce a solution that is centered around a new dynamic workload distribution scheme. The novelty lies in prioritising the distribution of different types of workloads, i.e., graph-rewriting rules in Andersen's analysis to CPU or GPU according to the degrees of the processing unit's suitability for processing them. This scheme is effective when combined with synchronisation-free execution of tasks (i.e., graph-rewriting rules) and difference propagation of points-to information between the CPU and GPU. For a set of seven C benchmarks evaluated, our CPU-GPU solution outperforms (on average) (1) the CPU-only solution by 50.6%, (2) the GPU-only solution by 78.5%, and (3) an oracle solution that behaves as the faster of (1) and (2) on every benchmark by 34.6%.
Yu Su 0012, Ding Ye, Jingling Xue
HiPC2
2012 Automatic Parallelization of Tiled Loop Nests with Enhanced Fine-Grained Parallelism on GPUs
abstract
Automatically parallelizing loop nests into CUDA kernels must exploit the full potential of GPUs to obtain high performance. One state-of-the-art approach makes use of the polyhedral model to extract parallelism from a loop nest by applying a sequence of affine transformations to the loop nest. However, how to automate this process to exploit both intra and inter-SM parallelism for GPUs remains a challenging problem. Presently, compilers may generate code significantly slower than hand-optimized code for certain applications. This paper describes a compiler framework for tiling and parallelizing loop nests with uniform dependences into CUDA code. We aim to improve two levels of wave front parallelism. We find tiling hyper planes by embedding parallelism enhancing constraints in the polyhedral model to maximize intra-tile, i.e., intra-SM parallelism. This improves the load balance among the SPs in an SM executing a wave front of loop iterations within a tile. We eliminate parallelism-hindering false dependences to maximize inter-tile, i.e., inter-SM parallelism. This improves the load balance among the SMs executing a wave front of tiles. Our approach has been implemented in PLUTO and validated using eight benchmarks on two different NVIDIA GPUs (C1060 and C2050). Compared to PLUTO, our approach achieves 2 - 5.5X speedups across the benchmarks. Compared to highly hand-optimized 1-D Jacobi (3 points), 2-D Jacobi (5 points), 3-D Jacobi (7 points) and 3-D Jacobi (27 points), our speedups, 1.17X, 1.41X, 0.97X and 0.87X with an average of 1.10X on C1060 and 1.24X, 1.20X, 0.86X and 0.95X with an average of 1.06X on C2050, are competitive.
Peng Di, Ding Ye, Yu Su 0012, Yulei Sui, Jingling Xue
ICPP2
2012 Static memory leak detection using full-sparse value-flow analysis
abstract
We introduce a static detector, Saber, for detecting memory leaks in C programs. Leveraging recent advances on sparse pointer analysis, Saber is the first to use a full-sparse value-flow analysis for leak detection. Saber tracks the flow of values from allocation to free sites using a sparse value-flow graph (SVFG) that captures def-use chains and value flows via assignments for all memory locations represented by both top-level and address-taken pointers. By exploiting field-, flow- and context-sensitivity during different phases of the analysis, Saber detects leaks in a program by solving a graph reachability problem on its SVFG. Saber, which is fully implemented in Open64, is effective at detecting 211 leaks in the 15 SPEC2000 C programs and five applications, while keeping the false positive rate at 18.5%. We have also compared Saber with Fastcheck (which analyzes allocated objects flowing only into top-level pointers) and Sparrow (which handles all allocated objects using abstract interpretation) using the 15 SPEC2000 C programs. Saber is as accurate as Sparrow but is 14.2X faster and reports 40.7% more bugs than Fastcheck at a slightly higher false positive rate but is only 3.7X slower.
Yulei Sui, Ding Ye, Jingling Xue
ISSTA2
2010 Open MS/MS spectral library search to identify unanticipated post-translational modifications and increase spectral identification rate
abstract
MOTIVATION: Identification of post-translationally modified proteins has become one of the central issues of current proteomics. Spectral library search is a new and promising computational approach to mass spectrometry-based protein identification. However, its potential in identification of unanticipated post-translational modifications has rarely been explored. The existing spectral library search tools are designed to match the query spectrum to the reference library spectra with the same peptide mass. Thus, spectra of peptides with unanticipated modifications cannot be identified. RESULTS: In this article, we present an open spectral library search tool, named pMatch. It extends the existing library search algorithms in at least three aspects to support the identification of unanticipated modifications. First, the spectra in library are optimized with the full peptide sequence information to better tolerate the peptide fragmentation pattern variations caused by some modification(s). Second, a new scoring system is devised, which uses charge-dependent mass shifts for peak matching and combines a probability-based model with the general spectral dot-product for scoring. Third, a target-decoy strategy is used for false discovery rate control. To demonstrate the effectiveness of pMatch, a library search experiment was conducted on a public dataset with over 40,000 spectra in comparison with SpectraST, the most popular library search engine. Additional validations were done on four published datasets including over 150,000 spectra. The results showed that pMatch can effectively identify unanticipated modifications and significantly increase spectral identification rate. AVAILABILITY: http://pfind.ict.ac.cn/pmatch/. SUPPLEMENTARY INFORMATION: Supplementary data are available at Bioinformatics online.
Ding Ye, Ruixiang Sun 0001, Zuofei Yuan, Hao Chi, Simin He 0001
Bioinform.1
2009 vBench: A micro-benchmark for File - I/O performance of virtual machines
abstract
Resurgence of virtualization calls for suitable benchmark to validate the design of virtualization system. Among the virtual machines' performance, I/O especially disk I/O is the most critical one. Since I/O is a key factor that impacts virtual machine performance, this paper introduces a benchmark- vBench for disk I/O micro-performance evaluation of virtual machine. vBench is mainly consisted of serial disk I/O evaluation and parallel disk I/O evaluation. Since error during test is inevitable, for the purpose of error correction, we design an efficient approach which we runs the same workloads in two loops, then the execution times of two loops minus each other. The approach can correctly deal with loop overhead. To prevent compiler from optimizing the code and lead to the wrong execution time of workloads, vBench is embedded inline assembly code. vBench provides the performance evaluation for system call of disk I/O, application level disk I/O and parallel disk I/O. Disk I/O performance evaluation of vBench can measure disk I/O micro-performance of virtual machine in certain extreme conditions. Experiments show that the results of vBench are accurate and vBench can reflect the disk I/O performance of the virtual machines correctly. Therefore, vBench is more accurate, more reliable than the traditional benchmarks and more suitable for evaluating virtual machine disk I/O performance.
Pingpeng Yuan, Hai Jin 0001, Ding Ye, Wenzhi Cao, Yaowei Yan
APSCC3