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

John Erickson

dblp:52/2251 · DBLP profile ↗
← Back
12ranked-venue papers
5as first author
0since 2021 · last 2016
—ORCID · conflict

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

Software engineering, systems software and programming languages · 6 · 3 first-authorDatabases, data management, data science and information retrieval · 4 · 2 first-authorSystems, architecture and hardware · 3Theory of computation · 3

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.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Storage systems · 32% Performance modeling and evaluation · 28% Memory systems · 14%
Software engineering, system software, and programming languages
2 papers
Concurrent programming · 67% Program analysis · 23% Operating systems · 10%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

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

TopicWeightPapersLastEvidence papers
Storage systems
distributed storage
0.212016
Uncovering Bugs in Distributed Storage Systems during Testing (Not in Production!) · FAST 2016
Memory systems
cache coherence
0.212014
PVCoherence: Designing flat coherence protocols for scalable verification · HPCA 2014
Electronic design automation › hardware verification and test
hardware verification
0.212014
PVCoherence: Designing flat coherence protocols for scalable verification · HPCA 2014
Performance modeling and evaluation
profiling
0.212014
Efficient Tracing of Cold Code via Bias-Free Sampling · USENIX ATC 2014
Storage systems › data reduction
sampling
0.212014
Efficient Tracing of Cold Code via Bias-Free Sampling · USENIX ATC 2014
Performance modeling and evaluation
tracing
0.212014
Efficient Tracing of Cold Code via Bias-Free Sampling · USENIX ATC 2014
Automated reasoning and model checking
model checking
0.212013
Distributed Explicit State Model Checking of Deadlock Freedom · CAV 2013
Concurrent programming › concurrency bug detection
data race detection
0.112010
Effective Data-Race Detection for the Kernel · OSDI 2010
Concurrent programming › concurrency bug detection › data race detection
kernel data-race detection
0.112010
Effective Data-Race Detection for the Kernel · OSDI 2010
Program analysis › static analysis
bug detection
0.112016
Uncovering Bugs in Distributed Storage Systems during Testing (Not in Production!) · FAST 2016
Interconnection networks and networks-on-chip › routing algorithms
deadlock-free routing
0.012013
Distributed Explicit State Model Checking of Deadlock Freedom · CAV 2013
Distributed systems
fault tolerance
0.012013
Distributed Explicit State Model Checking of Deadlock Freedom · CAV 2013
Operating systems
kernel
0.012010
Effective Data-Race Detection for the Kernel · OSDI 2010

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

parametric verification · 0.2bias-free sampling · 0.2
YearPublicationVenuePosition
2016 Uncovering Bugs in Distributed Storage Systems during Testing (Not in Production!)
Pantazis Deligiannis, Matt McCutchen, Paul Thomson, Shuo Chen 0001, Alastair F. Donaldson, John Erickson, Akash Lal, Rashmi Mudduluru, Shaz Qadeer, Wolfram Schulte
FAST6
2015 Transaction Flows and Executable Models: Formalization and Analysis of Message passing Protocols
abstract
The lack of appropriate models is often the biggest hurdle in applying formal methods in the industry. Creating executable models of industrial designs is a challenging task, one that we believe has not been sufficiently addressed by existing research. We address this problem for distributed message passing protocols by showing how to synthesize executable models of such protocols from transaction message flows, which are readily available in architecture descriptions. We present industrial case studies showing that this approach to creating formal models is effective in practice. We also show that going the other way, i.e., extracting flows from executable models, is at least as hard as the model-checking problem. These results indicate that transaction flows may provide a superior approach to capture design intent than executable models.
Murali Talupur, Sandip Ray, John Erickson
FMCAD3
2014 PVCoherence: Designing flat coherence protocols for scalable verification
abstract
The goal of this work is to design cache coherence protocols with many cores that can be verified with state-of-the-art automated verification methodologies. In particular, we focus on flat (non-hierarchical) coherence protocols, and we use a mostly-automated methodology based on parametric verification (PV). We propose several design guidelines that architects should follow if they want to design protocols that can be parametrically verified. We experimentally evaluate performance, storage overhead, and scalability of a protocol verified with PV compared to a highly optimized protocol that cannot be verified with PV.
Meng Zhang 0017, Jesse D. Bingham, John Erickson, Daniel J. Sorin
HPCA3
2014 Efficient Tracing of Cold Code via Bias-Free Sampling
Baris Kasikci, Thomas Ball 0001, George Candea, John Erickson, Madan Musuvathi
USENIX ATC4
2013 Distributed Explicit State Model Checking of Deadlock Freedom
Brad D. Bingham, Jesse D. Bingham, John Erickson, Mark R. Greenstreet
CAV3
2012 Dynamic Analyses for Data-Race Detection
John Erickson, Stephen N. Freund, Madan Musuvathi
RV1
2010 Effective Data-Race Detection for the Kernel
John Erickson, Madan Musuvathi, Sebastian Burckhardt, Kirk Olynyk
OSDI1
2009 Industrial strength refinement checking
abstract
This paper discusses a methodology used on an industrial hardware development project to validate various cache-coherence protocol components. The idea is to use a high level model (HLM) written in Murphi for model checking purposes, and then to use the HLM as a checker during dynamic (i.e. simulation based-) validation of the RTL. Such a checker requires a formal notion of what it means for the RTL to implement the HLM. Due to RTL pipelining, concurrency, and different RTL/HLM semantics, an appropriate notion is non-obvious. We employ a notion we call behavioral refinement, and describe a methodology for creating refinement checkers. A novel aspect of our methodology is that all ¿ingredients¿ are specified using System Verilog (SV): even the Murphi model itself is compiled into SV. Thus any off-the-shelf SV simulation engine can be used. We report the successful use of our refinement checkers to catch bugs in a real project at Intel and give an example illustrating our methodology.
Jesse D. Bingham, John Erickson, Flemming Andersen
FMCAD2
2008 Web Services, Service-Oriented Computing, and Service-Oriented Architecture: Separating Hype from Reality
abstract
Service-oriented architecture (SOA), Web services, and service-oriented computing (SOC) have become the buzz words of the day for many in the business world. It seems that virtually every company has implemented, is in the midst of implementing, or is seriously considering SOA projects, Web services projects, or service-oriented computing. A problem many organizations face when entering the SOA world is that there are nearly as many definitions of SOA as there are organizations adopting it. Further complicating the issue is an unclear picture of the value added from adopting the SOA or Web services paradigm. This article attempts to shed some light on the definition of SOA and the difficulties of assessing the value of SOA or Web services via return on investment (ROI) or nontraditional approaches, examines the scant body of evidence empirical that exists on the topic of SOA, and highlights potential research directions in the area.
John Erickson, Keng Siau
J. Database Manag.1
2007 Can UML Be Simplified? Practitioner Use of UML in Separate Domains
John Erickson, Keng Siau
EMMSAD1
2005 Agile Modeling, Agile Software Development, and Extreme Programming: The State of Research
abstract
While there are many claims for the successful use of extreme programming (XP) and agile modeling (AM), and the proponents can often be vocal in the extreme regarding their supposed benefits, research evidence supporting proponents‘ claims is somewhat lacking. Currently, the only research appearing to investigate the phenomena consists of two prominent streams. A small number of case studies and experience reports that generally promote the success of XP in various development environments, and a well-established stream of research into pair programming has generated results that in part support the idea of XP. Research into AM appears to be even more sparse than that for XP. Case studies, comparative analyses, and experience reports comprise the majority of the research in the area, while very few empirical research efforts have been conducted. This article reviews the state of research in XP and AM, and recommends areas that could benefit from further study. Since nearly all empirical XP research relates to pair programming, a closer look into the unstudied XP core practices would be beneficial, although interaction between related core practice areas could confound such efforts. It might also be possible to group related core XP concepts and study the groups individually. Finally, there are those who claim that XP and AM, or even agility in general, are really nothing more than a repackaging of old concepts. This claim needs to be investigated.
John Erickson, Kalle Lyytinen, Keng Siau
J. Database Manag.1
2005 Theoretical vs. Practical Complexity: The Case of UML
abstract
Unified Modeling Language (UML) is the standard visual modeling language for Object Oriented (OO) systems development, but it has been criticized for its complexity, inconsistent semantics, and ambiguous constructs. A set of complexity indices for UML and the nine diagramming techniques in UML was compiled recently. The complexity analysis is formulated based on the number of constructs, associations, roles, and so forth, in a modeling method. We argue that this set of metrics provides an indication of the theoretical complexity of the modeling methods. On the other hand, the theoretical complexity of the modeling methods does not necessarily relate to the practical complexity. We hypothesize that UML’s complexity is not as daunting as the metrics imply, because not all the constructs are used all the time. Thus, in addition to theoretical complexity, a set of metrics for estimating practical complexity can be developed, based on the most commonly used constructs (instead of all constructs). In this research, we use secondary data to test our hypothesis that practical complexity is different from theoretical complexity.
Keng Siau, John Erickson, Lihyunn Lee
J. Database Manag.2