Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where William R. Marczak is active.

Publication


Featured researches published by William R. Marczak.


international conference on datalog in academia and industry | 2010

Dedalus: datalog in time and space

Peter Alvaro; William R. Marczak; Neil Conway; Joseph M. Hellerstein; David Maier; Russell Sears

Recent research has explored using Datalog-based languages to express a distributed system as a set of logical invariants. Two properties of distributed systems proved difficult to model in Datalog. First, the state of any such system evolves with its execution. Second, deductions in these systems may be arbitrarily delayed, dropped, or reordered by the unreliable network links they must traverse. Previous efforts addressed the former by extending Datalog to include updates, key constraints, persistence and events, and the latter by assuming ordered and reliable delivery while ignoring delay. These details have a semantics outside Datalog, which increases the complexity of the language and its interpretation, and forces programmers to think operationally. We argue that the missing component from these previous languages is a notion of time. In this paper we present Dedalus, a foundation language for programming and reasoning about distributed systems. Dedalus reduces to a subset of Datalog with negation, aggregate functions, successor and choice, and adds an explicit notion of logical time to the language. We show that Dedalus provides a declarative foundation for the two signature features of distributed systems: mutable state, and asynchronous processing and communication. Given these two features, we address two important properties of programs in a domain-specific manner: a notion of safety appropriate to non-terminating computations, and stratified monotonic reasoning with negation over time. We also provide conservative syntactic checks for our temporal notions of safety and stratification. Our experience implementing full-featured systems in variants of Datalog suggests that Dedalus is well-suited to the specification of rich distributed services and protocols, and provides both cleaner semantics and richer tests of correctness.


symposium on cloud computing | 2012

Logic and lattices for distributed programming

Neil Conway; William R. Marczak; Peter Alvaro; Joseph M. Hellerstein; David Maier

In recent years there has been interest in achieving application-level consistency criteria without the latency and availability costs of strongly consistent storage infrastructure. A standard technique is to adopt a vocabulary of commutative operations; this avoids the risk of inconsistency due to message reordering. Another approach was recently captured by the CALM theorem, which proves that logically monotonic programs are guaranteed to be eventually consistent. In logic languages such as Bloom, CALM analysis can automatically verify that programs achieve consistency without coordination. In this paper we present BloomL, an extension to Bloom that takes inspiration from both of these traditions. BloomL generalizes Bloom to support lattices and extends the power of CALM analysis to whole programs containing arbitrary lattices. We show how the Bloom interpreter can be generalized to support efficient evaluation of lattice-based code using well-known strategies from logic programming. Finally, we use BloomL to develop several practical distributed programs, including a key-value store similar to Amazon Dynamo, and show how BloomL encourages the safe composition of small, easy-to-analyze lattices into larger programs.


cloud data management | 2010

Towards a data-centric view of cloud security

Wenchao Zhou; Micah Sherr; William R. Marczak; Zhuoyao Zhang; Tao Tao; Boon Thau Loo; Insup Lee

Cloud security issues have recently gained traction in the research community, with much of the focus primarily concentrated on securing the operating systems and virtual machines on which the services are deployed. In this paper, we take an alternative perspective and propose a data-centric view of cloud security. In particular, we explore the security properties of secure data sharing between applications hosted in the cloud. We discuss data management challenges in the areas of secure distributed query processing, system analysis and forensics, and query correctness assurance, and describe our current efforts towards meeting these challenges using our Declarative Secure Distributed Systems (DS2) platform.


international conference on management of data | 2010

SecureBlox: customizable secure distributed data processing

William R. Marczak; Shan Shan Huang; Martin Bravenboer; Micah Sherr; Boon Thau Loo; Molham Aref

We present SecureBlox, a declarative system that unifies a distributed query processor with a security policy framework. SecureBlox decouples security concerns from system specification, allowing easy reconfiguration of a systems security properties to suit a given execution environment. Our implementation of SecureBlox is a series of extensions to LogicBlox, an emerging commercial Datalog-based platform for enterprise software systems. SecureBlox enhances LogicBlox to enable distribution and static meta-programmability, and makes novel use of existing LogicBlox features such as integrity constraints. SecureBlox allows meta-programmability via BloxGenerics - a language extension for compile-time code generation based on the security requirements and trust policies of the deployed environment. We present and evaluate detailed use-cases in which SecureBlox enables diverse applications, including an authenticated declarative routing protocol with encrypted advertisements and an authenticated and encrypted parallel hash join operation. Our results demonstrate SecureBloxs abilities to specify and implement a wide range of different security constructs for distributed systems as well as to enable tradeoffs between performance and security.


international conference on datalog in academia and industry | 2012

Confluence analysis for distributed programs: a model-theoretic approach

William R. Marczak; Peter Alvaro; Neil Conway; Joseph M. Hellerstein; David Maier

Building on recent interest in distributed logic programming, we take a model-theoretic approach to analyzing confluence of asynchronous distributed programs. We begin with a model-theoretic semantics for Dedalus and introduce the ultimate model, which captures non-deterministic eventual outcomes of distributed programs. After showing the question of confluence undecidable for Dedalus, we identify restricted sub-languages that guarantee confluence while providing adequate expressivity. We observe that the semipositive restriction Dedalus+ guarantees confluence while capturing PTIME, but show that its restriction of negation makes certain simple and practical programs difficult to write. To remedy this, we introduce DedalusS, a restriction of Dedalus that allows a kind of stratified negation, but retains the confluence of Dedalus+ and similarly captures PTIME.


practical aspects of declarative languages | 2012

Recent advances in declarative networking

Boon Thau Loo; Harjot Gill; Changbin Liu; Yun Mao; William R. Marczak; Micah Sherr; Anduo Wang; Wenchao Zhou

Declarative networking is a programming methodology that enables developers to concisely specify network protocols and services, and directly compile these specifications into a dataflow framework for execution. This paper describes recent advances in declarative networking, tracing its evolution from a rapid prototyping framework towards a platform that serves as an important bridge connecting formal theories for reasoning about protocol correctness and actual implementations. In particular, the paper focuses on the use of declarative networking for addressing four main challenges in the distributed systems development cycle: the generation of safe routing implementations, debugging, security and privacy, and optimizing distributed systems.


privacy enhancing technologies | 2017

Social Engineering Attacks on Government Opponents: Target Perspectives

William R. Marczak; Vern Paxson

Abstract New methods of dissident surveillance employed by repressive nation-states increasingly involve socially engineering targets into unwitting cooperation (e.g., by convincing them to open a malicious attachment or link). While a fair amount is understood about the nature of these threat actors and the types of tools they use, there is comparatively little understood about targets’ perceptions of the risks associated with their online activity, and their security posture. We conducted in-depth interviews of 30 potential targets of Middle Eastern and Horn of Africa-based governments, also examining settings and software on their computers and phones. Our engagement illuminates the ways that likely targets are vulnerable to the types of social engineering employed by nation-states.


Theory and Practice of Logic Programming | 2016

Putting Logic-Based Distributed Systems on Stable Grounds

Tom J. Ameloot; Jan Van den Bussche; William R. Marczak; Peter Alvaro; Joseph M. Hellerstein

In the Declarative Networking paradigm, Datalog-like languages are used to express distributed computations. Whereas recently formal operational semantics for these languages have been developed, a corresponding declarative semantics has been lacking so far. The challenge is to capture precisely the amount of nondeterminism that is inherent to distributed computations due to concurrency, networking delays, and asynchronous communication. This paper shows how a declarative, model-based semantics can be obtained by simply using the well-known stable model semantics for Datalog with negation. We show that the model-based semantics matches previously proposed formal operational semantics.


Computer Networks | 2014

The design and implementation of the A3 application-aware anonymity platform

Micah Sherr; Harjot Gill; Taher Saeed; Andrew Mao; William R. Marczak; Saravana Soundararajan; Wenchao Zhou; Boon Thau Loo; Matt Blaze

This paper presents the design and implementation of Application-Aware Anonymity (A^3), an extensible platform for rapidly prototyping and evaluating anonymity protocols on the Internet. A^3 supports the development of highly tunable anonymous protocols that enable applications to tailor their anonymity properties and performance characteristics according to specific communication requirements. To support flexible path construction, A^3 uses a declarative language to compactly specify path selection and instantiation policies. We demonstrate that our declarative language is sufficiently expressive to encode novel multi-metric performance constraints as well as existing relay selection algorithms employed by Tor and other anonymity systems, using only a few lines of concise code. We experimentally evaluate A^3 using a combination of trace-driven simulations and a deployment on PlanetLab, as well as a case-study of A^3-enabled voice-over-IP communication. Our experimental results demonstrate that A^3 can flexibly and efficiently support a wide range of path selection and instantiation strategies at low performance overhead.


conference on innovative data systems research | 2011

Consistency Analysis in Bloom: a CALM and Collected Approach

Peter Alvaro; Neil Conway; Joseph M. Hellerstein; William R. Marczak

Collaboration


Dive into the William R. Marczak's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Peter Alvaro

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Neil Conway

University of California

View shared research outputs
Top Co-Authors

Avatar

David Maier

Portland State University

View shared research outputs
Top Co-Authors

Avatar

Andrew Mao

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar

Harjot Gill

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar

Insup Lee

University of Pennsylvania

View shared research outputs
Researchain Logo
Decentralizing Knowledge