Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jon Eyolfson

dblp:99/9655 · also Jonathan Eyolfson · DBLP profile ↗
← Back
8ranked-venue papers
5as first author
3since 2021 · last 2023
—ORCID · none

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

Software engineering, systems software and programming languages · 7 · 5 first-author · 2 since 2021Computer networks · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 first-author

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.

Artificial intelligence
2 papers
Graph learning · 43% Efficient and distributed learning · 28% Multi-agent systems · 28%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Memory systems · 56% Cloud and datacenter computing · 44%
Software engineering, system software, and programming languages
2 papers
Runtime systems and virtual machines · 40% Empirical software engineering · 26% Programming languages and type systems · 26%

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

TopicWeightPapersLastEvidence papers
Machine learning › Efficient and distributed learning
distributed training
0.712023
Bamboo: Making Preemptible Instances Resilient for Affordable Training of Large DNNs · NSDI 2023
Knowledge, reasoning and agents › Multi-agent systems
resilience
0.712023
Bamboo: Making Preemptible Instances Resilient for Affordable Training of Large DNNs · NSDI 2023
Runtime systems and virtual machines
garbage collection
0.612022
MemLiner: Lining up Tracing and Application for a Far-Memory-Friendly Runtime · OSDI 2022
Memory systems › memory disaggregation
far memory
0.612022
MemLiner: Lining up Tracing and Application for a Far-Memory-Friendly Runtime · OSDI 2022
Memory systems
memory management
0.612022
MemLiner: Lining up Tracing and Application for a Far-Memory-Friendly Runtime · OSDI 2022
Machine learning › Graph learning › graph neural network training
distributed GNN training
0.512021
Dorylus: Affordable, Scalable, and Accurate GNN Training with Distributed CPU Servers and Serverless Threads · OSDI 2021
Machine learning › Graph learning
graph neural network training
0.512021
Dorylus: Affordable, Scalable, and Accurate GNN Training with Distributed CPU Servers and Serverless Threads · OSDI 2021
Cloud and datacenter computing
serverless computing
0.512021
Dorylus: Affordable, Scalable, and Accurate GNN Training with Distributed CPU Servers and Serverless Threads · OSDI 2021
Empirical software engineering
mining software repositories
0.412019
How C++ developers use immutability declarations: an empirical study · ICSE 2019
Cloud and datacenter computing › cluster resource management and scheduling
cluster resource management
0.212023
Bamboo: Making Preemptible Instances Resilient for Affordable Training of Large DNNs · NSDI 2023
Cloud and datacenter computing › utility computing › cloud pricing
spot instance
0.212023
Bamboo: Making Preemptible Instances Resilient for Affordable Training of Large DNNs · NSDI 2023

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

tracing · 1.1serverless computing · 1.0distributed training · 1.0static analysis · 0.4empirical study · 0.4
YearPublicationVenuePosition
2023 Bamboo: Making Preemptible Instances Resilient for Affordable Training of Large DNNs
John Thorpe, Pengzhan Zhao, Jon Eyolfson, Yifan Qiao 0002, Minjia Zhang, Ravi Netravali, Guoqing Harry Xu
NSDI3
2022 MemLiner: Lining up Tracing and Application for a Far-Memory-Friendly Runtime
Chenxi Wang 0005, Yifan Qiao 0002, Jon Eyolfson, Christian Navasca, Shan Lu 0001, Guoqing Harry Xu
OSDI5
2021 Dorylus: Affordable, Scalable, and Accurate GNN Training with Distributed CPU Servers and Serverless Threads
John Thorpe, Yifan Qiao 0002, Jon Eyolfson, Shen Teng, Guanzhou Hu, Jinliang Wei, Keval Vora, Ravi Netravali, Miryung Kim, Guoqing Harry Xu
OSDI3
2019 How C++ developers use immutability declarations: an empirical study
abstract
Best practices for developers, as encoded in recent programming language designs, recommend the use of immutability whenever practical. However, there is a lack of empirical evidence about the uptake of this advice. Our goal is to understand the usage of immutability by C++ developers in practice. This work investigates how C++ developers use immutability by analyzing their use of the C++ immutability qualifier, const, and by analyzing the code itself. We answer the following broad questions about const usage: 1) do developers actually write non-trivial (more than 3 methods) immutable classes and immutable methods? 2) do developers label their immutable classes and methods? We analyzed 7 medium-to-large open source projects and collected two sources of empirical data: 1) const annotations by developers, indicating an intent to write immutable code; and 2) the results of a simple static analysis which identified easily const-able methods---those that clearly did not mutate state. We estimate that 5% of non-trivial classes (median) are immutable. We found the vast majority of classes do carry immutability labels on methods: surprisingly, developers const-annotate 46% of methods, and we estimate that at least 51% of methods could be const-annotated. Furthermore, developers missed immutability labels on at least 6% of unannotated methods. We provide an in-depth discussion on how developers use const and the results of our analyses.
Jon Eyolfson, Patrick Lam 0001
ICSE1
2016 C++ const and Immutability: An Empirical Study of Writes-Through-const
abstract
The ability to specify immutability in a programming language is a powerful tool for developers, enabling them to better understand and more safely transform their code without fearing unintended changes to program state. The C++ programming language allows developers to specify a form of immutability using the const keyword. In this work, we characterize the meaning of the C++ const qualifier and present the ConstSanitizer tool, which dynamically verifies a stricter form of immutability than that defined in C++: it identifies const uses that are either not consistent with transitive immutability, that write to mutable fields, or that write to formerly-const objects whose const-ness has been cast away. We evaluate a set of 7 C++ benchmark programs to find writes-through-const, establish root causes for how they fail to respect our stricter definition of immutability, and assign attributes to each write (namely: synchronized, not visible, buffer/cache, delayed initialization, and incorrect). ConstSanitizer finds 17 archetypes for writes in these programs which do not respect our version of immutability. Over half of these seem unnecessary to us. Our classification and observations of behaviour in practice contribute to the understanding of a widely-used C++ language feature.
Jon Eyolfson, Patrick Lam 0001
ECOOP1
2014 Correlations between bugginess and time-based commit characteristics
Jon Eyolfson, Lin Tan 0001, Patrick Lam 0001
Empir. Softw. Eng.1
2012 Detecting Unread Memory Using Dynamic Binary Translation
Jon Eyolfson, Patrick Lam 0001
RV1
2011 Do time of day and developer experience affect commit bugginess
abstract
Modern software is often developed over many years with hundreds of thousands of commits. Commit metadata is a rich source of social characteristics, including the commit's time of day and the experience and commit frequency of its author. The "bugginess" of a commit is also a critical property of that commit. In this paper, we investigate the correlation between a commit's social characteristics and its "bugginess"; such results can be very useful for software developers and software engineering researchers. For instance, developers or code reviewers might be well-advised to thoroughly verify commits that are more likely to be buggy. In this paper, we study the correlation between a commit's bugginess and the time of day of the commit, the day of week of the commit, and the experience and commit frequency of the commit authors. We survey two widely-used open source projects: the Linux kernel and PostgreSQL.
Jon Eyolfson, Lin Tan 0001, Patrick Lam 0001
MSR1