Gavin Gray

dblp:210/2422 · DBLP profile ↗
← Back
4ranked-venue papers
1as first author
2since 2021 · last 2025
0000-0002-2960-1198ORCID · reported

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

Artificial intelligence and machine learning · 2Software engineering, systems software and programming languages · 2 · 1 first-author · 2 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
2 papers
Programming languages and type systems · 56% Debugging and program repair · 44%
Artificial intelligence
2 papers
Efficient and distributed learning · 95% Deep learning architectures and training · 5%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Computing education · 100%
Human-computer interaction and pervasive computing
1 paper
User interface design and tools · 100%

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

TopicWeightPapersLastEvidence papers
Debugging and program repair
fault localization
0.912025
An Interactive Debugger for Rust Trait Errors · Proc. ACM Program. Lang. 2025
Debugging and program repair › software debugging
type error debugging
0.912025
An Interactive Debugger for Rust Trait Errors · Proc. ACM Program. Lang. 2025
Programming languages and type systems
type systems
0.912025
An Interactive Debugger for Rust Trait Errors · Proc. ACM Program. Lang. 2025
Machine learning › Efficient and distributed learning
model compression
0.822020
BlockSwap: Fisher-guided Block Substitution for Network Compression on a Budget · ICLR 2020
Moonshine: Distilling with Cheap Convolutions · NeurIPS 2018
Computing education › programming education
programming language learning
0.712023
A Grounded Conceptual Model for Ownership Types in Rust · Proc. ACM Program. Lang. 2023
Programming languages and type systems › type systems
ownership types
0.712023
A Grounded Conceptual Model for Ownership Types in Rust · Proc. ACM Program. Lang. 2023
Programming languages and type systems › rust
rust ownership
0.712023
A Grounded Conceptual Model for Ownership Types in Rust · Proc. ACM Program. Lang. 2023
Machine learning › Efficient and distributed learning › model compression
neural network compression
0.412020
BlockSwap: Fisher-guided Block Substitution for Network Compression on a Budget · ICLR 2020
Machine learning › Efficient and distributed learning › model compression
knowledge distillation
0.312018
Moonshine: Distilling with Cheap Convolutions · NeurIPS 2018
Machine learning › Efficient and distributed learning › memory optimization
memory-efficient neural network
0.312018
Moonshine: Distilling with Cheap Convolutions · NeurIPS 2018
User interface design and tools › programming environments
debugging tools
0.312025
An Interactive Debugger for Rust Trait Errors · Proc. ACM Program. Lang. 2025
Machine learning › Deep learning architectures and training
convolutional neural network
0.112018
Moonshine: Distilling with Cheap Convolutions · NeurIPS 2018

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

user study · 1.7visualization · 1.3conceptual model · 1.3compiler plugin · 0.7compiler plug-in · 0.7fisher information · 0.4block substitution · 0.4knowledge distillation · 0.3attention transfer · 0.3
YearPublicationVenuePosition
2025 An Interactive Debugger for Rust Trait Errors
abstract
Compiler diagnostics for type inference failures are notoriously bad, and type classes only make the problem worse. By introducing a complex search process during inference, type classes can lead to wholly inscrutable or useless errors. We describe a system, Argus , for interactively visualizing type class inferences to help programmers debug inference failures, applied specifically to Rust’s trait system. The core insight of Argus is to avoid the traditional model of compiler diagnostics as one-size-fits-all, instead providing the programmer with different views on the search tree corresponding to different debugging goals. Argus carefully uses defaults to improve debugging productivity, including interface design (e.g., not showing full paths of types by default) and heuristics (e.g., sorting obligations based on the expected complexity of fixing them). We evaluated Argus in a user study where N = 25 participants debugged type inference failures in realistic Rust programs, finding that participants using Argus correctly localized 2.2× as many faults and localized 3.3× faster compared to not using Argus .
Gavin Gray, Will Crichton, Shriram Krishnamurthi
Proc. ACM Program. Lang.1
2023 A Grounded Conceptual Model for Ownership Types in Rust
abstract
Programmers learning Rust struggle to understand ownership types, Rust’s core mechanism for ensuring memory safety without garbage collection. This paper describes our attempt to systematically design a pedagogy for ownership types. First, we studied Rust developers’ misconceptions of ownership to create the Ownership Inventory, a new instrument for measuring a person’s knowledge of ownership. We found that Rust learners could not connect Rust’s static and dynamic semantics, such as determining why an ill-typed program would (or would not) exhibit undefined behavior. Second, we created a conceptual model of Rust’s semantics that explains borrow checking in terms of flow-sensitive permissions on paths into memory. Third, we implemented a Rust compiler plugin that visualizes programs under the model. Fourth, we integrated the permissions model and visualizations into a broader pedagogy of ownership by writing a new ownership chapter for The Rust Programming Language , a popular Rust textbook. Fifth, we evaluated an initial deployment of our pedagogy against the original version, using reader responses to the Ownership Inventory as a point of comparison. Thus far, the new pedagogy has improved learner scores on the Ownership Inventory by an average of 9
Will Crichton, Gavin Gray, Shriram Krishnamurthi
Proc. ACM Program. Lang.2
2020 BlockSwap: Fisher-guided Block Substitution for Network Compression on a Budget
Jack Turner, Elliot Crowley, Michael F. P. O'Boyle, Amos J. Storkey, Gavin Gray
ICLR5
2018 Moonshine: Distilling with Cheap Convolutions
abstract
Many engineers wish to deploy modern neural networks in memory-limited settings; but the development of flexible methods for reducing memory use is in its infancy, and there is little knowledge of the resulting cost-benefit. We propose structural model distillation for memory reduction using a strategy that produces a student architecture that is a simple transformation of the teacher architecture: no redesign is needed, and the same hyperparameters can be used. Using attention transfer, we provide Pareto curves/tables for distillation of residual networks with four benchmark datasets, indicating the memory versus accuracy payoff. We show that substantial memory savings are possible with very little loss of accuracy, and confirm that distillation provides student network performance that is better than training that student architecture directly on data.
Elliot Crowley, Gavin Gray, Amos J. Storkey
NeurIPS2