VLDB 2026 Research / reviewers in the wild / expert
Shengqian Yang
dblp:16/8164
· DBLP profile ↗
7ranked-venue papers
3as first author
0since 2021 · last 2018
0009-0003-1892-6821ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-authorSystems, architecture and hardware · 1
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 · 68% Debugging and program repair · 16% Software testing · 16% |
Topics — the 6 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.4 | 2 | 2015 | Static Window Transition Graphs for Android (T) · ASE 2015 Static Control-Flow Analysis of User-Driven Callbacks in Android Applications · ICSE (1) 2015 |
Program analysis › static analysis › interprocedural analysis
context-sensitive analysis |
0.2 | 1 | 2015 | Static Control-Flow Analysis of User-Driven Callbacks in Android Applications · ICSE (1) 2015 |
Program analysis
control flow analysis |
0.2 | 1 | 2015 | Static Control-Flow Analysis of User-Driven Callbacks in Android Applications · ICSE (1) 2015 |
Software testing › test generation
GUI test generation |
0.2 | 1 | 2015 | Static Window Transition Graphs for Android (T) · ASE 2015 |
Debugging and program repair
fault localization |
0.1 | 1 | 2010 | BPGen: an automated breakpoint generator for debugging · ICSE (2) 2010 |
Program analysis › static analysis › interprocedural analysis
call graph analysis |
0.1 | 1 | 2015 | Static Control-Flow Analysis of User-Driven Callbacks in Android Applications · ICSE (1) 2015 |
Methods — techniques the papers use, named apart from their topics
window transition graph · 0.2static analysis · 0.2path traversal · 0.2interprocedural analysis · 0.2graph reachability · 0.2dynamic fault localization · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Static window transition graphs for Android
Shengqian Yang, Haowei Wu 0004, Hailong Zhang 0006, Chandrasekar Swaminathan, Dacong Yan, Atanas Rountev |
Autom. Softw. Eng. | 1 |
| 2016 | Static detection of energy defect patterns in Android applicationsabstractFor static analysis researchers, Android software presents a wide variety of interesting challenges. The target of our work is static detection of energy-drain defects in Android applications. The management of energy-intensive resources (e.g., GPS) creates various opportunities for software defects. Our goal is to detect statically “missing deactivation” energy-drain defects in the user interface of the application. First, we define precisely two patterns of run-time energy-drain behaviors, based on modeling of Android GUI control-flow paths and energy-related listener leaks along such paths. Next, we define a static detection algorithm targeting these patterns. The analysis considers valid interprocedural control-flow paths in a callback method and its transitive callees, in order to detect operations that add or remove listeners. Sequences of callbacks are then analyzed for possible listener leaks. Our evaluation considers the detection of GUI-related energy-drain defects reported in prior work, as well as new defects not discovered by prior approaches. In summary, the detection is very effective and precise, suggesting that the proposed analysis is suitable for practical use in static checking tools for Android. Shengqian Yang, Atanas Rountev |
CC | 2 |
| 2015 | Static Control-Flow Analysis of User-Driven Callbacks in Android ApplicationsabstractAndroid software presents many challenges for static program analysis. In this work we focus on the fundamental problem of static control-flow analysis. Traditional analyses cannot be directly applied to Android because the applications are framework-based and event-driven. We consider user-event-driven components and the related sequences of callbacks from the Android framework to the application code, both for lifecycle callbacks and for event handler callbacks. We propose a program representation that captures such callback sequences. This representation is built using context-sensitive static analysis of callback methods. The analysis performs graph reachability by traversing context-compatible interprocedural control-flow paths and identifying statements that may trigger callbacks, as well as paths that avoid such statements. We also develop a client analysis that builds a static model of the application's GUI. Experimental evaluation shows that this context-sensitive approach leads to substantial precision improvements, while having practical cost. Shengqian Yang, Dacong Yan, Atanas Rountev |
ICSE (1) | 1 |
| 2015 | Static Window Transition Graphs for Android (T)abstractThis work develops a static analysis to create a model of the behavior of an Android application's GUI. We propose the window transition graph (WTG), a model representing the possible GUI window sequences and their associated events and callbacks. A key component and contribution of our work is the careful modeling of the stack of currently-active windows, the changes to this stack, and the effects of callbacks related to these changes. To the best of our knowledge, this is the first detailed study of this important static analysis problem for Android. We develop novel analysis algorithms for WTG construction and traversal, based on this modeling of the window stack. We also describe an application of the WTG for GUI test generation, using path traversals. The evaluation of the proposed algorithms indicates their effectiveness and practicality. Shengqian Yang, Hailong Zhang 0006, Haowei Wu 0004, Dacong Yan, Atanas Rountev |
ASE | 1 |
| 2014 | LeakChecker: Practical Static Memory Leak Detection for Managed Languages
Dacong Yan, Guoqing Harry Xu, Shengqian Yang, Atanas Rountev |
CGO | 3 |
| 2013 | Systematic testing for resource leaks in Android applicationsabstractThe use of mobile devices and the complexity of their software continue to grow rapidly. This growth presents significant challenges for software correctness and performance. In addition to traditional defects, a key consideration are defects related to the limited resources available on these devices. Resource leaks in an application, due to improper management of resources, can lead to slowdowns, crashes, and negative user experience. Despite a large body of existing work on leak detection, testing for resource leaks remains a challenging problem. We propose a novel and comprehensive approach for systematic testing for resource leaks in Android software. Similar to existing testing techniques, the approach is based on a GUI model, but is focused specifically on coverage criteria aimed at resource leak defects. These criteria are based on neutral cycles: sequences of GUI events that should have a “neutral” effect and should not lead to increases in resource usage. Several important categories of neutral cycles are considered in the proposed test coverage criteria. Experimental evaluation and case studies were performed on eight Android applications. The approach exposed 18 resource leak defects, 12 of which were previously unknown. These results provide motivation for future work on analysis, testing, and prevention of resource leaks in Android software. Dacong Yan, Shengqian Yang, Atanas Rountev |
ISSRE | 2 |
| 2010 | BPGen: an automated breakpoint generator for debuggingabstractDuring debugging processes, breakpoints are frequently used to inspect and understand runtime behaviors of programs. Although most development environments offer convenient breakpoint facilities, the use of these environments usually requires considerable human efforts in order to generate useful breakpoints. Before setting breakpoints or typing breakpoint conditions, developers usually have to make some judgements and hypotheses on the basis of their observations and experience. To reduce this kind of efforts we present a tool, named BPGen, to automatically generate breakpoints for debugging. BPGen uses three well-known dynamic fault localization techniques in tandem to identify suspicious program statements and states, through which both conditional and unconditional breakpoints are generated. BPGen is implemented as an Eclipse plugin for supplementing the existing Eclipse JDT debugger. Dacong Yan, Jianjun Zhao 0001, Yuting Chen 0001, Shengqian Yang |
ICSE (2) | 5 |