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

Christian Grothoff

dblp:g/ChristianGrothoff · DBLP profile ↗
← Back
27ranked-venue papers
6as first author
1since 2021 · last 2022
0000-0002-6858-6808ORCID · verified

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

Security and privacy · 12 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 9 · 4 first-authorComputer networks · 3Systems, architecture and hardware · 2Applied, interdisciplinary, general and emerging computing · 1

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
4 papers
Program analysis · 44% Programming languages and type systems · 42% Program verification · 8%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 83% High-performance computing · 8% Distributed systems · 8%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Bioinformatics and computational biology · 100%
Network and information security
1 paper
Network security · 100%

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

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
0.232007
Encapsulating objects with confined types · ACM Trans. Program. Lang. Syst. 2007
Deriving object typestates in the presence of inter-object references · OOPSLA 2005
Encapsulating Objects with Confined Types · OOPSLA 2001
Network security
anonymity networks
0.112009
A Practical Congestion Attack on Tor Using Long Paths · USENIX Security Symposium 2009
Programming languages and type systems › type theory
dependent types
0.112008
Constrained types for object-oriented languages · OOPSLA 2008
Programming languages and type systems › object-oriented programming
object-oriented languages
0.112008
Constrained types for object-oriented languages · OOPSLA 2008
Programming languages and type systems › type systems › polymorphism
qualified types
0.112008
Constrained types for object-oriented languages · OOPSLA 2008
Program analysis › static analysis › pointer analysis
escape analysis
0.112007
Encapsulating objects with confined types · ACM Trans. Program. Lang. Syst. 2007
Program verification › abstraction-based verification
predicate abstraction
0.112005
Deriving object typestates in the presence of inter-object references · OOPSLA 2005
Program analysis › type-based analysis
typestate analysis
0.112005
Deriving object typestates in the presence of inter-object references · OOPSLA 2005
Parallel and multicore computing › parallel computing
parallel programming languages
0.112005
X10: an object-oriented approach to non-uniform cluster computing · OOPSLA 2005
Parallel and multicore computing
parallel programming models
0.112005
X10: an object-oriented approach to non-uniform cluster computing · OOPSLA 2005
Parallel and multicore computing › parallel programming models › distributed memory programming models
partitioned global address space
0.112005
X10: an object-oriented approach to non-uniform cluster computing · OOPSLA 2005
Programming languages and type systems › object-oriented programming
object encapsulation
0.012001
Encapsulating Objects with Confined Types · OOPSLA 2001
Program analysis › static analysis › interprocedural analysis
scalable whole-program analysis
0.012001
Encapsulating Objects with Confined Types · OOPSLA 2001
Network security › attack strategy
denial-of-service attack
0.012009
A Practical Congestion Attack on Tor Using Long Paths · USENIX Security Symposium 2009
Software maintenance and evolution
refactoring
0.012007
Encapsulating objects with confined types · ACM Trans. Program. Lang. Syst. 2007
Programming languages and type systems
object-oriented programming
0.012005
Deriving object typestates in the presence of inter-object references · OOPSLA 2005
High-performance computing
cluster computing
0.012005
X10: an object-oriented approach to non-uniform cluster computing · OOPSLA 2005
Distributed systems
distributed programming
0.012005
X10: an object-oriented approach to non-uniform cluster computing · OOPSLA 2005

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

relaxed search · 0.1BGRT data structure · 0.1long path attack · 0.1congestion attack · 0.1static type checking · 0.1dependent types · 0.1scalable static analysis · 0.1atomic blocks · 0.1async/future/foreach constructs · 0.1abstract interpretation · 0.1static analysis · 0.0confinement inference · 0.0
YearPublicationVenuePosition
2022 Zero-Knowledge Age Restriction for GNU Taler
Özgür Kesim, Christian Grothoff, Florian Dold, Martin Schanzenbach
ESORICS (1)2
2018 Toward secure name resolution on the internet
Christian Grothoff, Matthias Wachs, Monika Ermert, Jacob Appelbaum
Comput. Secur.1
2017 Byzantine set-union consensus using efficient set reconciliation
abstract
Applications of secure multiparty computation such as certain electronic voting or auction protocols require Byzantine agreement on large sets of elements. Implementations proposed in the literature so far have relied on state machine replication and reach agreement on each individual set element in sequence. We introduce set-union consensus, a specialization of Byzantine consensus that reaches agreement over whole sets. This primitive admits an efficient and simple implementation by the composition of Eppstein’s set reconciliation protocol with Ben-Or’s ByzConsensus protocol. A free software implementation of this construction is available in GNUnet. Experimental results indicate that our approach results in an efficient protocol for very large sets, especially in the absence of Byzantine faults. We show the versatility of set-union consensus by using it to implement distributed key generation, ballot collection, and cooperative decryption for an electronic voting protocol implemented in GNUnet. This is a revised and extended version of a paper published under the same title at ARES 2016.
Florian Dold, Christian Grothoff
EURASIP J. Inf. Secur.2
2016 Byzantine Set-Union Consensus Using Efficient Set Reconciliation
abstract
Applications of secure multiparty computation such as certain electronic voting or auction protocols require Byzantine agreement on large sets of elements. Implementations proposed in the literature so far have relied on state machine replication, and reach agreement on each individual set element in sequence. We introduce set-union consensus, a specialization of Byzantine consensus that reaches agreement over whole sets. This primitive admits an efficient and simple implementation by the composition of Eppstein's set reconciliation protocol with Ben-Or's ByzConsensus protocol. A free software implementation of this construction is available in GNUnet. Experimental results indicate that our approach results in an efficient protocol for very large sets, especially in the absence of Byzantine faults. We show the versatility of set-union consensus by using it to implement distributed key generation, ballot collection and cooperative decryption for an electronic voting protocol implemented in GNUnet.
Florian Dold, Christian Grothoff
ARES2
2014 A Censorship-Resistant, Privacy-Enhancing and Fully Decentralized Name System
Matthias Wachs, Martin Schanzenbach, Christian Grothoff
CANS3
2014 Automatic transport selection and resource allocation for resilient communication in decentralised networks
abstract
Making communication more resilient is a main focus for modern decentralised networks. A current development to increase connectivity between participants and to be resilient against service degradation attempts is to support different communication protocols, and to switch between these protocols in case degradation or censorship are detected. Supporting multiple protocols with different properties and having to share resources for communication with multiple partners creates new challenges with respect to protocol selection and resource allocation to optimally satisfy the applications' requirements for communication. This paper presents a novel approach for automatic transport selection and resource allocation with a focus on decentralised networks. Our goal is to evaluate the communication mechanisms available for each communication partner and then allocate resources in line with the requirements of the applications. We begin by detailing the overall requirements for an algorithm for transport selection and resource allocation, and then compare three different solutions using (1) a heuristic, (2) linear optimisation, and (3) machine learning. To show the suitability and the specific benefits of each approach, we evaluate their performance with respect to usability, scalability and quality of the solution found in relation to application requirements.
Matthias Wachs, Fabian Oehlmann, Christian Grothoff
P2P3
2012 Partitioning the Internet
abstract
This paper presents experimental results for calculating both node- and edge separators on Autonomous System graphs generated from BGP routing information. The separator of a network graph describes a range of interesting properties as it captures components that are critical to overall connectivity. These components play special roles in terms of routing and deserve special attention from those in-charge of network security and resilience. We present empirical evidence showing that the Autonomous System Graph (AS Graph) is hard to separate and large portions always remain connected even in the case of a significant number of concurrent Byzantine failures of Autonomous Systems or connections between Autonomous Systems.
Matthias Wachs, Christian Grothoff, Ramakrishna Thurimella
CRiSIS2
2012 Efficient and Secure Decentralized Network Size Estimation
Nathan S. Evans, Bartlomiej Polot, Christian Grothoff
Networking (1)3
2011 R5N: Randomized recursive routing for restricted-route networks
abstract
This paper describes a new secure DHT routing algorithm for open, decentralized P2P networks operating in a restricted-route environment with malicious participants. We have implemented our routing algorithm and have evaluated its performance under various topologies and in the presence of malicious peers. For small-world topologies, our algorithm provides significantly better performance when compared to existing methods.
Nathan S. Evans, Christian Grothoff
NSS2
2011 Privacy-Implications of Performance-Based Peer Selection by Onion-Routers: A Real-World Case Study Using I2P
Michael Herrmann 0003, Christian Grothoff
PETS2
2011 Comprehensive and relaxed search for oligonucleotide signatures in hierarchically clustered sequence datasets
abstract
MOTIVATION: PCR, hybridization, DNA sequencing and other important methods in molecular diagnostics rely on both sequence-specific and sequence group-specific oligonucleotide primers and probes. Their design depends on the identification of oligonucleotide signatures in whole genome or marker gene sequences. Although genome and gene databases are generally available and regularly updated, collections of valuable signatures are rare. Even for single requests, the search for signatures becomes computationally expensive when working with large collections of target (and non-target) sequences. Moreover, with growing dataset sizes, the chance of finding exact group-matching signatures decreases, necessitating the application of relaxed search methods. The resultant substantial increase in complexity is exacerbated by the dearth of algorithms able to solve these problems efficiently. RESULTS: We have developed CaSSiS, a fast and scalable method for computing comprehensive collections of sequence- and sequence group-specific oligonucleotide signatures from large sets of hierarchically clustered nucleic acid sequence data. Based on the ARB Positional Tree (PT-)Server and a newly developed BGRT data structure, CaSSiS not only determines sequence-specific signatures and perfect group-covering signatures for every node within the cluster (i.e. target groups), but also signatures with maximal group coverage (sensitivity) within a user-defined range of non-target hits (specificity) for groups lacking a perfect common signature. An upper limit of tolerated mismatches within the target group, as well as the minimum number of mismatches with non-target sequences, can be predefined. Test runs with one of the largest phylogenetic gene sequence datasets available indicate good runtime and memory performance, and in silico spot tests have shown the usefulness of the resulting signature sequences as blueprints for group-specific oligonucleotide probes. AVAILABILITY: Software and Supplementary Material are available at http://cassis.in.tum.de/.
Kai Christian Bader, Christian Grothoff, Harald Meier
Bioinform.2
2010 Distributed Stream Processing with DUP
Kai Christian Bader, Tilo Eißler, Nathan S. Evans, Chris GauthierDickey, Christian Grothoff, Krista Bennett, Jeff Keene, Harald Meier, Craig Ritzdorf, Matthew J. Rutherford
NPC5
2010 Autonomous NAT Traversal
abstract
Traditional NAT traversal methods require the help of a third party for signalling. This paper investigates a new autonomous method for establishing connections to peers behind NAT. The proposed method for autonomous NAT traversal uses fake ICMP messages to initially contact the NATed peer. This paper presents how the method is supposed to work in theory, discusses some possible variations, introduces various concrete implementations of the proposed approach and evaluates empirical results of a measurement study designed to evaluate the efficacy of the idea in practice.
Andreas Müller 0003, Nathan S. Evans, Christian Grothoff, Samy Kamkar
Peer-to-Peer Computing3
2009 A Practical Congestion Attack on Tor Using Long Paths
Nathan S. Evans, Roger Dingledine, Christian Grothoff
USENIX Security Symposium3
2009 Translation-based steganography
abstract
This paper investigates systems that steganographically embed information in the “noise” created by automatic translation of natural language documents. The main thrust of the work focuses on two problems – generation of plausible steganographic text
Christian Grothoff, Krista Bennett, Ryan Stutsman, Ludmila Alkhutova, Mikhail J. Atallah
J. Comput. Secur.1
2008 Constrained types for object-oriented languages
abstract
X10 is a modern object-oriented language designed for productivity and performance in concurrent and distributed systems. In this setting, dependent types offer significant opportunities for detecting design errors statically, documenting design decisions, eliminating costly run-time checks (e.g., for array bounds, null values), and improving the quality of generated code.
Nathaniel Nystrom, Vijay A. Saraswat, Jens Palsberg, Christian Grothoff
OOPSLA4
2008 The Runabout
abstract
Abstract This paper presents a variation of the visitor pattern which allows programmers to write visitor‐like code in a concise way. The Runabout is a library extension that adds a limited form of multi‐dispatch to Java. While the Runabout is not as expressive as a general multiple dispatching facility, the Runabout can be significantly faster than existing implementations of multiple dispatch for Java, such as MultiJava. Unlike MultiJava, the Runabout does not require changes to the syntax and the compiler. This paper illustrates how to use the Runabout, details its implementation and provides benchmarks comparing its performance with other approaches. Furthermore, the effect of an automatic static program transformation tool that translates bytecode using the Runabout to equivalent bytecode is evaluated. The tool uses double dispatch and runtime‐type checks to achieve the same semantics that the Runabout has. The performance comparisons on large benchmarks that make extensive use of multiple dispatch show that using the Runabout does not result in a significant loss of performance for realistic applications and that, depending on the application and platform, small performance gains are also possible. Copyright © 2008 John Wiley & Sons, Ltd.
Christian Grothoff
Softw. Pract. Exp.1
2007 Routing in the Dark: Pitch Black
abstract
In many networks, such as mobile ad-hoc networks and friend-to-friend overlay networks, direct communication between nodes is limited to specific neighbors. Often these networks have a small-world topology; while short paths exist between any pair of nodes in small-world networks, it is non-trivial to determine such paths with a distributed algorithm. Recently, Clarke and Sandberg proposed the first decentralized routing algorithm that achieves efficient routing in such small-world networks. This paper is the first independent security analysis of Clarke and Sandberg's routing algorithm. We show that a relatively weak participating adversary can render the overlay ineffective without being detected, resulting in significant data loss due to the resulting load imbalance. We have measured the impact of the attack in a testbed of 800 nodes using minor modifications to Clarke and Sandberg's implementation of their routing algorithm in Freenet. Our experiments show that the attack is highly effective, allowing a small number of malicious nodes to cause rapid loss of data on the entire network. We also discuss various proposed countermeasures designed to detect, thwart or limit the attack. While we were unable to find effective countermeasures, we hope that the presented analysis will be a first step towards the design of secure distributed routing algorithms for restricted-route topologies.
Nathan S. Evans, Chris GauthierDickey, Christian Grothoff
ACSAC3
2007 Encapsulating objects with confined types
abstract
Object-oriented languages provide little support for encapsulating objects. Reference semantics allows objects to escape their defining scope, and the pervasive aliasing that ensues remains a major source of software defects. This paper presents Kacheck/J, a tool for inferring object encapsulation properties of large Java programs. Our goal is to develop practical tools to assist software engineers, thus we focus on simple and scalable techniques. Kacheck/J is able to infer confinement —the property that all instances of a given type are encapsulated in their defining package. This simple property can be used to identify accidental leaks of sensitive objects, as well as for compiler optimizations. We report on the analysis of a large body of code and discuss language support and refactoring for confinement.
Christian Grothoff, Jens Palsberg, Jan Vitek
ACM Trans. Program. Lang. Syst.1
2005 X10: an object-oriented approach to non-uniform cluster computing
abstract
It is now well established that the device scaling predicted by Moore's Law is no longer a viable option for increasing the clock frequency of future uniprocessor systems at the rate that had been sustained during the last two decades. As a result, future systems are rapidly moving from uniprocessor to multiprocessor configurations, so as to use parallelism instead of frequency scaling as the foundation for increased compute capacity. The dominant emerging multiprocessor structure for the future is a Non-Uniform Cluster Computing (NUCC) system with nodes that are built out of multi-core SMP chips with non-uniform memory hierarchies, and interconnected in horizontally scalable cluster configurations such as blade servers. Unlike previous generations of hardware evolution, this shift will have a major impact on existing software. Current OO language facilities for concurrent and distributed programming are inadequate for addressing the needs of NUCC systems because they do not support the notions of non-uniform data access within a node, or of tight coupling of distributed nodes.We have designed a modern object-oriented programming language, X10, for high performance, high productivity programming of NUCC systems. A member of the partitioned global address space family of languages, X10 highlights the explicit reification of locality in the form of places}; lightweight activities embodied in async, future, foreach, and ateach constructs; a construct for termination detection (finish); the use of lock-free synchronization (atomic blocks); and the manipulation of cluster-wide global data structures. We present an overview of the X10 programming model and language, experience with our reference implementation, and results from some initial productivity comparisons between the X10 and Java™ languages.
Philippe Charles, Christian Grothoff, Vijay A. Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, Vivek Sarkar
OOPSLA2
2005 Deriving object typestates in the presence of inter-object references
abstract
We are interested in static analysis of Java classes with the goal of discovering the preconditions under which a certain program point within a method may be reached, taking into account the effects of previous method calls on an object of that class. The information pertinent to this computation is represented as the object's typestate, which is a finite set of relevant predicates that abstract the object's actual state. The execution of a method depends on an object's current typestate as well as other input parameters; the object may transition to a different typestate during the method's execution.It is common for objects to contain references to other ob-jects. In such cases, an object's behavior may depend on, in addition to its own state, the state of objects it has a refer-ence to. The main contribution of this paper is to discover relevant object typestates, as well as transitions between typestates, in the presence of inter-object references. Our analysis first performs a combined predicate discovery and predicate abstraction to derive "boolean" versions of Java classes given as input. It then uses abstract interpretation to compute the typestate transitions caused by method calls. A novel aspect of this work is that a set of Java classes is analyzed in isolation, without any client program being pro-vided. To do this, the analysis simulates all possible client's actions via a synthetic heap, all of whose interesting config-urations are explored by our analysis.The information we compute can be put to use in several ways. It can be used in checking whether a given client code erroneously uses a set of Java classes in a way that can throw an exception. It can also be used in creating test drivers for Java classes in order to exercise all relevant code paths in the corresponding methods.
Mangala Gowri Nanda, Christian Grothoff, Satish Chandra 0001
OOPSLA2
2005 Type-Safe Optimisation of Plugin Architectures
Neal Glew, Jens Palsberg, Christian Grothoff
SAS3
2005 Engineering a common intermediate representation for the Ovm framework
Krzysztof Palacz, Jason Baker, Chapman Flack, Christian Grothoff, Hiroshi Yamauchi, Jan Vitek
Sci. Comput. Program.4
2003 A Transport Layer A straction for Peer-to-Peer Networks
abstract
The initially unrestricted host-to-host communication model provided by the Internet Protocol has deteriorated due to political and technical changes caused by Internet growth. While this is not a problem for most client-server applications, peer-to-peer networks frequently struggle with peers that are only partially reachable. We describe how a peer-to-peer framework can hide diversity and obstacles in the underlying Internet and provide peer-to-peer applications with abstractions that hide transport specific details. We present the details of an implementation of a transport service based on SMTP. Small-scale benchmarks are used to compare transport services over UDP, TCP, and SMTP.
Ronaldo A. Ferreira, Christian Grothoff, Paul Ruth
CCGRID2
2003 Walkabout Revisited: The Runabout
Christian Grothoff
ECOOP1
2002 Efficient Sharing of Encrypted Data
Krista Bennett, Christian Grothoff, Tzvetan Horozov, Ioana Patrascu
ACISP2
2001 Encapsulating Objects with Confined Types
abstract
Object-oriented languages provide little support for encapsulating objects. Reference semantics allows objects to escape their defining scope. The pervasive aliasing that ensues remains a major source of software defects. This paper introduces Kacheck/J a tool for inferring object encapulation properties in large Java programs. Our goal is to develop practical tools to assist software engineers, thus we focus on simple and scalable techniques. Kacheck/J is able to infer confinement for Java classes. A class and its sublasses are confined if all of their instances are encapsulated in their defining package. This simple property can be used to identify accidental leaks of sensitive objects. The analysis is scalable and efficient; Kacheck/J is able t infer confinement on a corpus of 46,000 classes (115 MB) in 6 minutes
Christian Grothoff, Jens Palsberg, Jan Vitek
OOPSLA1