8 results on '"Sui, Yulei"'
Search Results
2. Self-inferencing Reflection Resolution for Java
- Author
-
Li, Yue, Tan, Tian, Sui, Yulei, Xue, Jingling, Hutchison, David, editor, Kanade, Takeo, editor, Kittler, Josef, editor, Kleinberg, Jon M., editor, Kobsa, Alfred, editor, Mattern, Friedemann, editor, Mitchell, John C., editor, Naor, Moni, editor, Nierstrasz, Oscar, editor, Pandu Rangan, C., editor, Steffen, Bernhard, editor, Terzopoulos, Demetri, editor, Tygar, Doug, editor, Weikum, Gerhard, editor, and Jones, Richard, editor
- Published
- 2014
- Full Text
- View/download PDF
3. Region-Based Selective Flow-Sensitive Pointer Analysis
- Author
-
Ye, Sen, Sui, Yulei, Xue, Jingling, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Kobsa, Alfred, Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Nierstrasz, Oscar, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Müller-Olm, Markus, editor, and Seidl, Helmut, editor
- Published
- 2014
- Full Text
- View/download PDF
4. SPAS: Scalable Path-Sensitive Pointer Analysis on Full-Sparse SSA
- Author
-
Sui, Yulei, Ye, Sen, Xue, Jingling, Yew, Pen-Chung, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Nierstrasz, Oscar, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Sudan, Madhu, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Vardi, Moshe Y., Series editor, Weikum, Gerhard, Series editor, and Yang, Hongseok, editor
- Published
- 2011
- Full Text
- View/download PDF
5. Making context-sensitive inclusion-based pointer analysis practical for compilers using parameterised summarisation.
- Author
-
Sui, Yulei, Ye, Sen, Xue, Jingling, and Zhang, Jie
- Subjects
COMPILERS (Computer programs) ,INFORMATION storage & retrieval systems ,COMPUTER software ,VISUAL programming languages (Computer science) ,PROGRAMMING software - Abstract
SUMMARY Because of its high precision as a flow-insensitive pointer analysis, Andersen's analysis has been deployed in some modern optimising compilers. To obtain improved precision, we describe how to add context sensitivity on top of Andersen's analysis. The resulting analysis, called ICON, is efficient to analyse large programs while being sufficiently precise to drive compiler optimisations. Its novelty lies in summarising the side effects of a procedure by using one transfer function on virtual variables that represent fully parameterised locations accessed via its formal parameters. As a result, a good balance between efficiency and precision is made, resulting in ICON that is more powerful than a 1-callsite-sensitive analysis and less so than a call-path-sensitive analysis (when the recursion cycles in a program are collapsed in all cases). We have compared ICON with FULCRA, a state of the art Andersen's analysis that is context sensitive by acyclic call paths, in Open64 (with recursion cycles collapsed in both cases) using the 16 C/C++ benchmarks in SPEC2000 (totalling 600 KLOC) and 5 C applications (totalling 2.1 MLOC). Our results demonstrate scalability of ICON and lack of scalability of FULCRA. FULCRA spends over 2 h in analysing SPEC2000 and fails to run to completion within 5 h for two of the five applications tested. In contrast, ICON spends just under 7 min on the 16 benchmarks in SPEC2000 and just under 26 min on the same two applications. For the 19 benchmarks analysable by FULCRA, ICON is nearly as accurate as FULCRA in terms of the quality of the built Static Single Assignment (SSA) form and the precision of the discovered alias information. Copyright © 2013 John Wiley & Sons, Ltd. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
6. Query-directed adaptive heap cloning for optimizing compilers.
- Author
-
Sui, Yulei, Li, Yue, and Xue, Jingling
- Abstract
Andersen's pointer analysis becomes more precise when applied with full heap cloning but unscalable for large, heap-intensive programs. In contrast, k-callsite-sensitive heap cloning can be faster but less precise for some programs. In this paper, we make one step forward by enhancing Andersen's analysis with QUery-Directed Adaptive (QUDA) heap cloning for optimizing compilers. The novelty of our analysis, called QUDA, lies in performing k-callsite-sensitive heap cloning iteratively, starting with k = 0 (without heap cloning), so that an abstract heap object is cloned at iteration k = i + 1 only if some mayalias queries that are not answered positively at iteration k = i may now be answered more precisely. QUDA, which is implemented in Open64, has the same precision as the state-of-the-art, FULCRA, a version of QUDA with exhaustive heap cloning, but is significantly more scalable. For 10 SPEC2000 C benchmarks and 5 C applications (totalling 840 KLOC) evaluated, QUDA takes only 4+ minutes but exhaustive heap cloning takes 42+ minutes to complete. QUDA takes only 75.1 % of the time that Open64 takes on average to compile these 15 programs under “-O2”. [ABSTRACT FROM PUBLISHER]
- Published
- 2013
- Full Text
- View/download PDF
7. Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis.
- Author
-
Sui, Yulei, Ye, Ding, and Xue, Jingling
- Subjects
- *
SOFTWARE engineering , *C++ , *PROGRAMMING languages , *DETECTORS , *FALSE alarms - 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. [ABSTRACT FROM PUBLISHER]
- Published
- 2014
- Full Text
- View/download PDF
8. Developing practical pointer analysis for large-scale software
- Author
-
Sui, Yulei
- Subjects
- Value Flow, Pointer Analysis, Static Analysis, Software
- Abstract
Pointer analysis, as a fundamental research, is to identify the possible runtime values of a pointer during compile-time. It paves the way for a wide range of clients, such as compiler optimisations, software bug detection and program verification. Nowadays, with the massive growth of software, analysing large-scale programs is inevitable. It has become vital yet enormously difficult to develop effective techniques to significantly reduce the analysis overhead while maintaining sufficient precision for analysing large code bases in practice. This thesis addresses a key challenge faced by modern software systems: making practical techniques that enable pointer analysis to analyse large-scale programs efficiently and precisely. Targeting two major clients, optimising compilers and software bug detection, our contributions are three-fold: First, Icon, a fully parameterised context sensitive Andersenʼs analysis, achieves context sensitivity by summarising the side effects of a procedure using one transfer function on virtual variables. Icon analyses large programs efficiently while being sufficiently precise to drive compiler optimisations. Second, Quda, a query-directed adaptive heap cloning analysis, performs k-callsite- sensitive heap cloning iteratively, starting without heap cloning, so that an abstract heap object is cloned at the next iteration only if some may-alias queries that are not answered positively at the current iteration. Quda obtains the precision of full heap cloning while being significantly more scalable. Third, Saber, a value-flow analysis for memory leak detection, is the first full-sparse analysis to resolve a classical source-sink problem by capturing value flows of all memory locations represented by both top-level and address-taken pointers. Saber is also the first major client for validating effectiveness of sparse pointer analysis. 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 sparse value-flow graph.
- Published
- 2014
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.