VLDB 2026 Research / reviewers in the wild / expert
Gary Wilson Jr.
dblp:70/8636
· DBLP profile ↗
2ranked-venue papers
0as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2
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
2 papers |
Software maintenance and evolution · 93% Program analysis · 7% |
Topics — the 4 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution
program differencing |
0.2 | 1 | 2013 | Identifying and Summarizing Systematic Code Changes via Rule Inference · IEEE Trans. Software Eng. 2013 |
Software maintenance and evolution › software reengineering › software modernization › software migration
library migration |
0.1 | 1 | 2010 | A graph-based approach to API usage adaptation · OOPSLA 2010 |
Software maintenance and evolution › software evolution
API evolution |
0.0 | 1 | 2013 | Identifying and Summarizing Systematic Code Changes via Rule Inference · IEEE Trans. Software Eng. 2013 |
Program analysis
graph-based analysis |
0.0 | 1 | 2010 | A graph-based approach to API usage adaptation · OOPSLA 2010 |
Methods — techniques the papers use, named apart from their topics
rule inference · 0.2logic rules · 0.2graph-based techniques · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Identifying and Summarizing Systematic Code Changes via Rule InferenceabstractProgrammers often need to reason about how a program evolved between two or more program versions. Reasoning about program changes is challenging as there is a significant gap between how programmers think about changes and how existing program differencing tools represent such changes. For example, even though modification of a locking protocol is conceptually simple and systematic at a code level, diff extracts scattered text additions and deletions per file. To enable programmers to reason about program differences at a high level, this paper proposes a rule-based program differencing approach that automatically discovers and represents systematic changes as logic rules. To demonstrate the viability of this approach, we instantiated this approach at two different abstraction levels in Java: first at the level of application programming interface (API) names and signatures, and second at the level of code elements (e.g., types, methods, and fields) and structural dependences (e.g., method-calls, field-accesses, and subtyping relationships). The benefit of this approach is demonstrated through its application to several open source projects as well as a focus group study with professional software engineers from a large e-commerce company. Miryung Kim, David Notkin, Dan Grossman, Gary Wilson Jr. |
IEEE Trans. Software Eng. | 4 |
| 2010 | A graph-based approach to API usage adaptationabstractReusing existing library components is essential for reducing the cost of software development and maintenance. When library components evolve to accommodate new feature requests, to fix bugs, or to meet new standards, the clients of software libraries often need to make corresponding changes to correctly use the updated libraries. Existing API usage adaptation techniques support simple adaptation such as replacing the target of calls to a deprecated API, however, cannot handle complex adaptations such as creating a new object to be passed to a different API method, or adding an exception handling logic that surrounds the updated API method calls. This paper presents LIBSYNC that guides developers in adapting API usage code by learning complex API usage adaptation patterns from other clients that already migrated to a new library version (and also from the API usages within the library’s test code). LIBSYNC uses several graph-based techniques (1) to identify changes to API declarations by comparing two library versions, (2) to extract associated API usage skeletons before and after library migration, and (3) to compare the extracted API usage skeletons to recover API usage adaptation patterns. Using the learned adaptation patterns, LIBSYNC recommends the locations and edit operations for adapting API usages. The evaluation of LIBSYNC on real-world software systems shows that it is highly correct and useful with a precision of 100 % and a recall of 91%. Hoan Anh Nguyen, Tung Thanh Nguyen, Gary Wilson Jr., Anh Tuan Nguyen 0001, Miryung Kim, Tien N. Nguyen |
OOPSLA | 3 |