Xi Ge

dblp:11/9657 · DBLP profile ↗
← Back
6ranked-venue papers
5as first author
1since 2021 · last 2021
0009-0006-5649-0661ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 3 first-authorHuman-computer interaction and ubiquitous computing · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 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
Software maintenance and evolution · 50% Program verification · 17% Software testing · 17%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
refactoring
0.322014
Manual refactoring changes with automated refactoring validation · ICSE 2014
Reconciling manual and automatic refactoring · ICSE 2012
Program analysis › symbolic execution
dynamic symbolic execution
0.112011
DyTa: dynamic symbolic execution guided with static verification results · ICSE 2011
Software testing › test generation
dynamic test generation
0.112011
DyTa: dynamic symbolic execution guided with static verification results · ICSE 2011
Program verification
static verification
0.112011
DyTa: dynamic symbolic execution guided with static verification results · ICSE 2011
Software maintenance and evolution › refactoring
automated refactoring
0.012012
Reconciling manual and automatic refactoring · ICSE 2012

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

human study · 0.2formative study · 0.1static verification · 0.1dynamic symbolic execution · 0.1
YearPublicationVenuePosition
2021 Efficient Graph Processing with Invalid Update Filtration
abstract
Most of existing graph processing systems essentially follow pull-based computation model to handle compute-intensive parts of graph iteration for high parallelism. Considering all vertices and edges are processed in each iteration, pull model may suffers from a large number of invalid (vertex/edge) operations that do not contribute to graph convergence, leading to potential performance degradation. In this paper, we have the insight that these invalid operations can be filtered by leveraging a small fraction of critical information. However, most of critical information are often beyond the visibility of active vertices being processed. We present two novel filtration approaches to (cooperatively) identify out-of-visibility critical information with boundary-cut heuristics and speculative prediction for many graph algorithms. We have integrated both approaches and their hybrid solution into three state-of-art graph processing systems (including Ligra, Gemini, and Polymer). Experimental results using a wide variety of graph algorithms on both real-world and synthetic graph datasets show that neither of these approaches can have an absolute win for all graph algorithms. Boundary-cut, predictive, and hybrid approaches can improve the performance by 115.1, 38.1, and 136.6 percent on average.
Long Zheng 0003, Xianliang Li, Xi Ge, Xiaofei Liao, Zhiyuan Shao, Hai Jin 0001, Qiang-Sheng Hua
IEEE Trans. Big Data3
2017 Refactoring-aware code review
abstract
Code review, where developers manually inspect one another's code changes, improves software quality and transfers knowledge in a team. Unfortunately, tools that support code review treat behavior-preserving changes, or refactorings, and behavior-altering changes, or non-refactorings, the same way, so developers have to spend effort differentiating between the two before they can evaluate the impact of a change set. In this paper, we describe a formative study of 35 developers that motivates the need for separating refactorings from non-refactorings during code review. Then, we present a refactoring-aware code review tool, called ReviewFactor, that differentiates between refactoring and non-refactoring, and allows developers to focus on one of them at a time. Finally, a case study of two open source projects suggests that ReviewFactor detects refactorings in 39% of the commits, and identifies 4.6% of the total lines of code change as refactorings. Our results also show that the precision and recall of ReviewFactor's refactoring detection algorithm are 92.5% and 94.2%, respectively.
Xi Ge, Saurabh Sarkar, Jim Witschey, Emerson R. Murphy-Hill
VL/HCC1
2014 Manual refactoring changes with automated refactoring validation
abstract
Refactoring, the practice of applying behavior-preserving changes to existing code, can enhance the quality of software systems. Refactoring tools can automatically perform and check the correctness of refactorings. However, even when developers have these tools, they still perform about 90% of refactorings manually, which is error-prone. To address this problem, we propose a technique called GhostFactor separating transformation and correctness checking: we allow the developer to transform code manually, but check the correctness of her transformation automatically. We implemented our technique as a Visual Studio plugin, then evaluated it with a human study of eight software developers; GhostFactor improved the correctness of manual refactorings by 67%.
Xi Ge, Emerson R. Murphy-Hill
ICSE1
2014 How developers use multi-recommendation system in local code search
abstract
Developers often start programming tasks by searching for relevant code in their local codebase. Previous research suggests that 88% of manually-composed queries retrieve no relevant results. Many searches fail because existing search tools depend solely on string matching with a manually-composed query, which cannot find semantically-related code. To solve this problem, researchers proposed query recommendation techniques to help developers compose queries without the extensive knowledge of the codebase under search. However, few of these techniques are empirically evaluated by the usage data from real-world developers. To fill this gap, we studied several query recommendation techniques by extending Sando and conducting a longitudinal field study. Our study shows that over 30% of all queries were adopted from recommendation; and recommended queries retrieved results 7% more often than manual queries.
Xi Ge, David C. Shepherd, Kostadin Damevski, Emerson R. Murphy-Hill
VL/HCC1
2012 Reconciling manual and automatic refactoring
abstract
Although useful and widely available, refactoring tools are underused. One cause of this underuse is that a developer sometimes fails to recognize that she is going to refactor before she begins manually refactoring. To address this issue, we conducted a formative study of developers' manual refactoring process, suggesting that developers' reliance on “chasing error messages” when manually refactoring is an error-prone manual refactoring strategy. Additionally, our study distilled a set of manual refactoring workflow patterns. Using these patterns, we designed a novel refactoring tool called BeneFactor. BeneFactor detects a developer's manual refactoring, reminds her that automatic refactoring is available, and can complete her refactoring automatically. By alleviating the burden of recognizing manual refactoring, BeneFactor is designed to help solve the refactoring tool underuse problem.
Xi Ge, Quinton L. DuBose, Emerson R. Murphy-Hill
ICSE1
2011 DyTa: dynamic symbolic execution guided with static verification results
abstract
Software-defect detection is an increasingly important research topic in software engineering. To detect defects in a program, static verification and dynamic test generation are two important proposed techniques. However, both of these techniques face their respective issues. Static verification produces false positives, and on the other hand, dynamic test generation is often time consuming. To address the limitations of static verification and dynamic test generation, we present an automated defect-detection tool, called DyTa, that combines both static verification and dynamic test generation. DyTa consists of a static phase and a dynamic phase. The static phase detects potential defects with a static checker; the dynamic phase generates test inputs through dynamic symbolic execution to confirm these potential defects. DyTa reduces the number of false positives compared to static verification and performs more efficiently compared to dynamic test generation.
Xi Ge, Kunal Taneja, Tao Xie 0001, Nikolai Tillmann
ICSE1