Zhe Yang 0001

dblp:y/ZheYang-1 · DBLP profile ↗
← Back
3ranked-venue papers
0as first author
0since 2021 · last 2006
0000-0002-7374-2334ORCID · corroborated

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

Software engineering, systems software and programming languages · 3

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 · 80% Debugging and program repair · 14% Program verification · 6%

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

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
0.232006
Modular checking for buffer overflows in the large · ICSE 2006
PSE: explaining program failures via postmortem static analysis · SIGSOFT FSE 2004
Software validation via scalable path-sensitive value flow analysis · ISSTA 2004
Program analysis › static analysis › vulnerability detection
buffer overflow detection
0.112006
Modular checking for buffer overflows in the large · ICSE 2006
Debugging and program repair
fault localization
0.012004
PSE: explaining program failures via postmortem static analysis · SIGSOFT FSE 2004
Program analysis › data flow analysis
value-flow analysis
0.012004
Software validation via scalable path-sensitive value flow analysis · ISSTA 2004
Program verification
annotation inference
0.012006
Modular checking for buffer overflows in the large · ICSE 2006

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

slicing · 0.1modular checking · 0.1symbolic evaluation · 0.0bit-vectorization · 0.0alias analysis · 0.0
YearPublicationVenuePosition
2006 Modular checking for buffer overflows in the large
abstract
We describe an ongoing project, the deployment of a modular checker to statically find and prevent every buffer overflow in future versions of a Microsoft product. Lightweight annotations specify requirements for safely using each buffer, and functions are checked individually to ensure they obey these requirements and do not overflow. Our focus is on the incremental deployment of this technology: by layering the annotation language, using aggressive inference techniques, and slicing warnings by checker confidence, teams must pay only part of the cost of annotating a program to achieve part of the benefit, which provides incentive for further annotation. To date over 400,000 annotations have been added to specify buffer usage in the source code for this product, of which over 150,000 were automatically inferred, and over 3,000 potential buffer overflows have been found and fixed.
Brian Hackett, Manuvir Das, Zhe Yang 0001
ICSE4
2004 Software validation via scalable path-sensitive value flow analysis
abstract
In this paper, we present a new algorithm for tracking the flow of values through a program. Our algorithm represents a substantial improvement over the state of the art. Previously described value flow analyses that are control-flow sensitive do not scale well, nor do they eliminate value flow information from infeasible execution paths (i.e., they are path-insensitive). Our algorithm scales to large programs, and it is path-sensitive.The efficiency of our algorithm arises from three insights: The value flow problem can be "bit-vectorized" by tracking the flow of one value at a time; dataflow facts from different execution paths with the same value flow information can be merged; and information about complex aliasing that affects value flow can be plugged in from a different analysis.We have incorporated our analysis in ESP, a software validation tool. We have used ESP to validate the Windows operating system kernel (a million lines of code) against an important security property. This experience suggests that our algorithm scales to large programs, and is accurate enough to trace the flow of values in real code.
Nurit Dor, Stephen Adams 0001, Manuvir Das, Zhe Yang 0001
ISSTA4
2004 PSE: explaining program failures via postmortem static analysis
abstract
In this paper, we describe PSE (Postmortem Symbolic Evaluation), a static analysis algorithm that can be used by programmers to diagnose software failures. The algorithm requires minimal information about a failure, namely its kind (e.g. NULL dereference), and its location in the program's source code. It produces a set of execution traces along which the program can be driven to the given failure.
Roman Manevich, Manu Sridharan, Stephen Adams 0001, Manuvir Das, Zhe Yang 0001
SIGSOFT FSE5