Ari Fogel

dblp:132/2548 · DBLP profile ↗
← Back
5ranked-venue papers
1as first author
1since 2021 · last 2023
0000-0001-9250-7172ORCID · corroborated

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

Computer networks · 3 · 1 first-author · 1 since 2021Software 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.

Computer networks
4 papers
Network management and operations · 90% Internet architecture and protocols · 8% Software-defined and programmable networks · 3%
Software engineering, system software, and programming languages
1 paper
Software testing · 56% Requirements engineering and software design · 28% Program analysis · 8%

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

TopicWeightPapersLastEvidence papers
Network management and operations
configuration verification
0.922023
Lessons from the evolution of the Batfish configuration analysis tool · SIGCOMM 2023
A General Approach to Network Configuration Analysis · NSDI 2015
Network management and operations › network configuration
network configuration analysis
0.922023
Lessons from the evolution of the Batfish configuration analysis tool · SIGCOMM 2023
A General Approach to Network Configuration Analysis · NSDI 2015
Network management and operations › network verification
reachability analysis
0.322016
Efficient Network Reachability Analysis Using a Succinct Control Plane Representation · OSDI 2016
A General Approach to Network Configuration Analysis · NSDI 2015
Network management and operations
network verification
0.212016
Efficient Network Reachability Analysis Using a Succinct Control Plane Representation · OSDI 2016
Internet architecture and protocols
protocol interoperability
0.212015
Analyzing Protocol Implementations for Interoperability · NSDI 2015
Requirements engineering and software design › specification
executable specification
0.212013
Declarative mocking · ISSTA 2013
Software testing › test process › test design
test specification
0.212013
Declarative mocking · ISSTA 2013
Software-defined and programmable networks
control plane
0.112016
Efficient Network Reachability Analysis Using a Succinct Control Plane Representation · OSDI 2016
Program verification › decision procedure
constraint solver
0.012013
Declarative mocking · ISSTA 2013
Program analysis
constraint solving
0.012013
Declarative mocking · ISSTA 2013

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

datalog · 0.7binary decision diagram · 0.7executable specification · 0.2constraint solving · 0.2
YearPublicationVenuePosition
2023 Lessons from the evolution of the Batfish configuration analysis tool
abstract
Batfish is a tool to analyze network configurations and forwarding. It has evolved from a research prototype to an industrial-strength product, guided by scalability, fidelity, and usability challenges encountered when analyzing complex, real-world networks. We share key lessons from this evolution, including how Datalog had significant limitations when generating and analyzing forwarding state and how binary decision diagrams (BDDs) proved highly versatile. We also describe our new techniques for addressing real-world challenges, which increase Batfish performance by three orders of magnitude and enable high-fidelity analysis of networks with thousands of nodes within minutes.
Matt Brown, Ari Fogel, Daniel Halperin, Victor Heorhiadi, Ratul Mahajan, Todd D. Millstein
SIGCOMM2
2016 Efficient Network Reachability Analysis Using a Succinct Control Plane Representation
Seyed Kaveh Fayaz, Ari Fogel, Ratul Mahajan, Todd D. Millstein, Vyas Sekar, George Varghese
OSDI3
2015 A General Approach to Network Configuration Analysis
Ari Fogel, Stanley Fung, Luis Pedrosa, Meg Walraed-Sullivan, Ramesh Govindan, Ratul Mahajan, Todd D. Millstein
NSDI1
2015 Analyzing Protocol Implementations for Interoperability
Luis Pedrosa, Ari Fogel, Nupur Kothari, Ramesh Govindan, Ratul Mahajan, Todd D. Millstein
NSDI2
2013 Declarative mocking
abstract
Test-driven methodologies encourage testing early and often. "Mock objects" support this approach by allowing a component to be tested before all depended-upon components are available. Today mock objects typically reflect little to none of an object's intended functionality, which makes it difficult and error-prone for developers to test rich properties of their code. This paper presents "declarative mocking", which enables the creation of expressive and reliable mock objects with relatively little effort. In our approach, developers write method specifications in a high-level logical language for the API being mocked, and a constraint solver dynamically executes these specifications when the methods are invoked. In addition to mocking functionality, this approach seamlessly allows data and other aspects of the environment to be easily mocked. We have implemented the approach as an extension to an existing tool for executable specifications in Java called PBnJ. We have performed an exploratory study of declarative mocking on several existing Java applications, in order to understand the power of the approach and to categorize its potential benefits and limitations. We also performed an experiment to port the unit tests of several open-source applications from a widely used mocking library to PBnJ. We found that more than half of these unit tests can be enhanced, in terms of the strength of properties and coverage, by exploiting executable specifications, with relatively little additional developer effort.
Hesam Samimi, Rebecca Hicks, Ari Fogel, Todd D. Millstein
ISSTA3