Thomas Wahl

dblp:72/5272 · DBLP profile ↗
← Back
46ranked-venue papers
4as first author
4since 2021 · last 2022
—ORCID · conflict

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

Software engineering, systems software and programming languages · 27 · 3 first-author · 2 since 2021Theory of computation · 20 · 3 first-author · 1 since 2021Systems, architecture and hardware · 9Artificial intelligence and machine learning · 4 · 1 since 2021Security and privacy · 2 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021
YearPublicationVenuePosition
2022 Masking Feedforward Neural Networks Against Power Analysis Attacks
abstract
Abstract Recent advances in machine learning have enabled Neural Network (NN) inference directly on constrained embedded devices. This local approach enhances the privacy of user data, as the inputs to the NN inference are not shared with third-party cloud providers over a communication network. At the same time, however, performing local NN inference on embedded devices opens up the possibility of Power Analysis attacks, which have recently been shown to be effective in recovering NN parameters, as well as their activations and structure. Knowledge of these NN characteristics constitutes a privacy threat, as it enables highly effective Membership Inference and Model Inversion attacks, which can recover information about the sensitive data that the NN model was trained on. In this paper we address the problem of securing sensitive NN inference parameters against Power Analysis attacks. Our approach employs masking, a countermeasure well-studied in the context of cryptographic algorithms. We design a set of gadgets, i.e., masked operations, tailored to NN inference. We prove our proposed gadgets secure against power attacks and show, both formally and experimentally, that they are composable, resulting in secure NN inference. We further propose optimizations that exploit intrinsic characteristics of NN inference to reduce the masking’s runtime and randomness requirements. We empirically evaluate the performance of our constructions, showing them to incur a slowdown by a factor of about 2–5.
Konstantinos Athanasiou, Thomas Wahl, A. Adam Ding, Yunsi Fei
Proc. Priv. Enhancing Technol.2
2021 Intrinsic Examples: Robust Fingerprinting of Deep Neural Networks
Siyue Wang, Pu Zhao 0001, Xiao Wang 0028, Sang (Peter) Chin, Thomas Wahl, Yunsi Fei, Qi Alfred Chen, Xue Lin 0001
BMVC5
2021 Delay-Bounded Scheduling Without Delay!
abstract
Abstract We consider the broad problem of analyzing safety properties of asynchronous concurrent programs under arbitrary thread interleavings.Delay-bounded deterministic scheduling, introduced in prior work, is an efficient bug-finding technique to curb the large cost associated with full scheduling nondeterminism. In this paper we first present a technique tolift the delay boundfor the case of finite-domain variable programs, thus adding to the efficiency of bug detection the ability to prove safety of programs under arbitrary thread interleavings. Second, we demonstrate how, combined with predicate abstraction, our technique can both refute and verify safety properties of programs with unbounded variable domains, even for unbounded thread counts. Previous work has established that, for non-trivial concurrency routines, predicate abstraction induces a highly complex abstract program semantics. Our technique, however, never statically constructs an abstract parametric program; it only requires some abstract-states set to be closed under certain actions, thus eliminating the dependence on the existence of verification algorithms for abstract programs. We demonstrate the efficiency of our technique on many examples used in prior work, and showcase its simplicity compared to earlier approaches on the unbounded-thread Ticket Lock protocol.
Thomas Wahl
CAV (1)2
2021 Interprocedural Context-Unbounded Program Analysis Using Observation Sequences
abstract
A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable. A technique proposed by Qadeer and Rehof, to bound the number of context switches allowed between the threads, leads to an incomplete solution that is, however, believed to catch “most bugs” in practice, as errors tend to occur within few contexts. The question of whether the technique can also prove the absence of bugs at least in some cases has remained largely open. Toward closing this gap, we introduce in this article the generic verification paradigm of observation sequences for resource-parameterized programs. Such a sequence observes how increasing the resource parameter affects the reachability of states satisfying a given property. The goal is to show that increases beyond some “cutoff” parameter value have no impact on the reachability—the sequence has converged . This allows us to conclude that the property holds for all parameter values. We applied this paradigm to the context- unbounded program analysis problem, choosing the resource to be the number of permitted thread context switches. The result is a partially correct interprocedural reachability analysis technique for concurrent shared-memory programs. Our technique may not terminate but is able to both refute and prove context-unbounded safety for such programs. We demonstrate the effectiveness and efficiency of the technique using a variety of benchmark programs. The safe instances cannot be proved safe by earlier, context-bounded methods.
Peizun Liu, Thomas Wahl, Thomas W. Reps
ACM Trans. Program. Lang. Syst.2
2020 Reverse-Engineering Deep Neural Networks Using Floating-Point Timing Side-Channels
abstract
Trained Deep Neural Network (DNN) models have become valuable intellectual property. A new attack surface has emerged for DNNs: model reverse engineering. Several recent attempts have utilized various common side channels. However, recovering DNN parameters, weights and biases, remains a challenge. In this paper, we present a novel attack that utilizes a floating-point timing side channel to reverse-engineer parameters of multi-layer perceptron (MLP) models in software implementation, entirely and precisely. To the best of our knowledge, this is the first work that leverages a floating-point timing side-channel for effective DNN model recovery.
Cheng Gongye, Yunsi Fei, Thomas Wahl
DAC3
2020 New Passive and Active Attacks on Deep Neural Networks in Medical Applications
abstract
Security of deep neural network (DNN) inference engines, i.e., trained DNN models on various platforms, has become one of the biggest challenges in deploying artificial intelligence in domains where privacy, safety, and reliability are of paramount importance, such as in medical applications. In addition to classic software attacks such as model inversion and evasion attacks, recently a new attack surface---implementation attacks which include both passive side-channel attacks and active fault injection and adversarial attacks---is arising, targeting implementation peculiarities of DNN to breach their confidentiality and integrity. This paper presents several novel passive and active attacks on DNN we have developed and tested over medical datasets. Our new attacks reveal a largely under-explored attack surface of DNN inference engines. Insights gained during attack exploration will provide valuable guidance for effectively protecting DNN execution against reverse-engineering and integrity violations.
Cheng Gongye, Hongjia Li 0003, Majid Sabbagh, Geng Yuan, Xue Lin 0001, Thomas Wahl, Yunsi Fei
ICCAD7
2019 Verifying Asynchronous Event-Driven Programs Using Partial Abstract Transformers
abstract
We address the problem of analyzing asynchronous event-driven programs, in which concurrent agents communicate via unbounded message queues. The safety verification problem for such programs is undecidable. We present in this paper a technique that combines queue-bounded exploration with a convergence test: if the sequence of certain abstractions of the reachable states, for increasing queue bounds k, converges, we can prove any property of the program that is preserved by the abstraction. If the abstract state space is finite, convergence is guaranteed; the challenge is to catch the point $$k_{\max }$$ where it happens. We further demonstrate how simple invariants formulated over the concrete domain can be used to eliminate spurious abstract states, which otherwise prevent the sequence from converging. We have implemented our technique for the P programming language for event-driven programs. We show experimentally that the sequence of abstractions often converges fully automatically, in hard cases with minimal designer support in the form of sequentially provable invariants, and that this happens for a value of $$k_{\max }$$ small enough to allow the method to succeed in practice.
Peizun Liu, Thomas Wahl, Akash Lal
CAV (2)2
2018 SCADET: a side-channel attack detection tool for tracking prime+probe
abstract
Microarchitectural side-channel attacks have posed serious threats to many computing systems, ranging from embedded systems and mobile devices to desktop workstations and cloud servers. Such attacks exploit side-channel vulnerabilities stemming from fundamental microarchitectural performance features, including the most common caches, out-of-order execution (for the newly revealed Meltdown exploit), and speculative execution (for Spectre). Prior efforts have focused on identifying and assessing these security vulnerabilities, and designing and implementing countermeasures against them. However, the efforts aiming at detecting specific side-channel attacks tend to be narrowly focused, which can make them effective but also makes them obsolete very quickly. In this paper, we propose a new methodology for detecting microarchitectural side-channel attacks that has the potential for a wide scope of applicability, as we demonstrate using a case study involving the Prime+Probe attack family. Instead of looking at the side-effects of side-channel attacks on microarchitectural elements such as hardware performance counters, we target the high-level semantics and invariant patterns of these attacks. We have applied our method to different Prime+Probe attack variants on the instruction cache, data cache, and last-level cache, as well as several benign programs as benchmarks. The method can detect all of the Prime+Probe attack variants with a true positive rate of 100% and an average false positive rate of 7.4%.
Majid Sabbagh, Yunsi Fei, Thomas Wahl, A. Adam Ding
ICCAD3
2018 CUBA: interprocedural Context-UnBounded Analysis of concurrent programs
abstract
A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable. A technique proposed by Qadeer and Rehof, to bound the number of context switches allowed between the threads, leads to an incomplete solution that is, however, believed to catch “most bugs” in practice. The question whether the technique can also prove the absence of bugs at least in some cases has remained largely open.
Peizun Liu, Thomas Wahl
PLDI2
2018 Algebraic Fault Analysis of SHA-3 Under Relaxed Fault Models
abstract
As the new hash standard, Keccak-based secure hash function (SHA-3) will be used in various cryptographic applications. Its security will be of paramount importance to the systems built on top of it. This paper proposes efficient algebraic fault analysis (AFA) methods, and for the first time, applies them to all four modes of SHA-3 under relaxed fault models. Our AFA utilizes the clear algebraic properties of Keccak operations and is very suitable for the fault analysis of SHA-3. Both our analysis and experimental results show that the proposed AFA method is more efficient than the traditional differential fault analysis (DFA) under the single-byte fault model, requiring much fewer faults to recover a whole internal state of the hashing computation. Meanwhile, as AFA is able to exploit all the information available, it can be applied to SHA-3 modes with shorter digests and under more relaxed fault models, where often times the DFA method fails. Our results show that AFA can successfully break all the four SHA-3 modes under a 16-bit fault model, and break SHA3-512 under an even more relaxed fault model, 32-bit fault, all within several minutes. The successful AFA on SHA-3 demonstrates the vulnerability of Keccak algorithms to fault analysis, calling for protections against fault injection and fault analysis.
Pei Luo, Konstantinos Athanasiou, Yunsi Fei, Thomas Wahl
IEEE Trans. Inf. Forensics Secur.4
2017 Algebraic fault analysis of SHA-3
abstract
This paper presents an efficient algebraic fault analysis on all four modes of SHA-3 under relaxed fault models. This is the first work to apply algebraic techniques on fault analysis of SHA-3. Results show that algebraic fault analysis on SHA-3 is very efficient and effective due to the clear algebraic properties of Keccak operations. Comparing with previous work on differential fault analysis of SHA-3, algebraic fault analysis can identify the injected faults with much higher rates, and recover an entire internal state of the penultimate round with much fewer fault injections.
Pei Luo, Konstantinos Athanasiou, Yunsi Fei, Thomas Wahl
DATE4
2017 Compiler-Assisted Threshold Implementation against Power Analysis Attacks
abstract
Side-channel attack utilizes side-channel leakages to extract the secret in crypto systems. Various countermeasures for different algorithms and platforms have been proposed to protect crypto systems against such attacks. Manual countermeasure design requires deep understanding of the target algorithm and implementation, and oftentimes is platform-specific and error-prone. In this paper, we propose the construction of Threshold Implementation (TI), a provably secure countermeasure against power attacks, as an automated compiler pass in the open LLVM (Low Level Virtual Machine) framework. Attack results show that the automatically generated TI designs are secure against power attacks. As our proposed scheme implements the countermeasure at the intermediate representation (IR) level, our method can be applied to any cipher software in any programming language, and the generated implementations can be ported to different platforms and architectures.
Pei Luo, Konstantinos Athanasiou, Zhen Hang Jiang, Yunsi Fei, A. Adam Ding, Thomas Wahl
ICCD7
2017 IJIT: An API for Boolean Program Analysis with Just-in-Time Translation
Peizun Liu, Thomas Wahl
SEFM2
2017 Stabilizing Floating-Point Programs Using Provenance Analysis
Yijia Gu, Thomas Wahl
VMCAI2
2017 Lost in abstraction: Monotonicity in multi-threaded programs
Alexander Kaiser 0001, Daniel Kroening, Thomas Wahl
Inf. Comput.3
2016 Integrating proxy theories and numeric model lifting for floating-point arithmetic
abstract
Precise reasoning for floating-point arithmetic (FPA) is as critical for accurate software analysis as it is hard to achieve. Several recent approaches reduce solving an FPA formula f to reasoning over a related but easier-to-solve proxy theory. The rationale is that a satisfying proxy assignment may directly correspond to a model for f. But what if it doesn't? Prior work deals with this case somewhat crudely, or discards the proxy assignment altogether. In this paper we present an FPA decision framework, parameterized by the choice of proxy theory T, that attempts to lift an encountered T model to a numerically close FPA model. Other than assuming some “proximity” of T to FPA, our lifting procedure is T-agnostic; it is in fact designed to work independently of how the proxy assignment was obtained. Should the lifting fail, our procedure gradually reduces the gap between the FPA and the proxy interpretations of f. We have instantiated the framework using real arithmetic and reduced-precision FPA as proxy theories, and demonstrate that we can, in many cases, decide f more efficiently than earlier work.
Jaideep Ramachandran, Thomas Wahl
FMCAD2
2016 Concolic Unbounded-Thread Reachability via Loop Summaries
Peizun Liu, Thomas Wahl
ICFEM2
2015 An Automatable Formal Semantics for IEEE-754 Floating-Point Arithmetic
abstract
Automated reasoning tools often provide little or no support to reason accurately and efficiently about floating-point arithmetic. As a consequence, software verification systems that use these tools are unable to reason reliably about programs containing floating-point calculations or may give unsound results. These deficiencies are in stark contrast to the increasing awareness that the improper use of floating-point arithmetic in programs can lead to unintuitive and harmful defects in software. To promote coordinated efforts towards building efficient and accurate floating-point reasoning engines, this paper presents a formalization of the IEEE-754 standard for floating-point arithmetic as a theory in many-sorted first-order logic. Benefits include a standardized syntax and unambiguous semantics, allowing tool interoperability and sharing of benchmarks, and providing a basis for automated, formal analysis of programs that process floating-point data.
Martin Brain, Cesare Tinelli, Philipp Rümmer, Thomas Wahl
ARITH4
2015 Behavioral Non-portability in Scientific Numeric Computing
Yijia Gu, Thomas Wahl, Mahsa Bayati, Miriam Leeser
Euro-Par2
2014 Lost in Abstraction: Monotonicity in Multi-threaded Programs
Alexander Kaiser 0001, Daniel Kroening, Thomas Wahl
CONCUR3
2014 Make it real: Effective floating-point reasoning via exact arithmetic
abstract
Floating-point arithmetic is widely used in scientific computing. While many programmers are subliminally aware that floating-point numbers only approximate the reals, few are cognizant of the dangers this entails for programming. Such dangers range from tolerable rounding errors in sequential programs, to unexpected, divergent control flow in parallel code. To address these problems, we present a decision procedure for floating-point arithmetic (FPA) that exploits the proximity to real arithmetic (RA), via a loss-less reduction from FPA to RA. Our procedure does not involve any form of bit-blasting or bit-vectorization, and can thus generate much smaller back-end decision problems, albeit in a more complex logic. This tradeoff is beneficial for the exact and reliable analysis of parallel scientific software, which tends to give rise to large but benignly structured formulas. We have implemented a prototype decision engine and present encouraging results analyzing such software for numerical accuracy.
Miriam Leeser, Saoni Mukherjee, Jaideep Ramachandran, Thomas Wahl
DATE4
2014 Infinite-state backward exploration of Boolean broadcast programs
abstract
Assertion checking for non-recursive unbounded-thread Boolean programs can be performed in principle by converting the program into an infinite-state transition system such as a Petri net and subjecting the system to a coverability check, for which sound and complete algorithms exist. Said conversion adds, however, an additional heavy burden to these already expensive algorithms, as the number of system states is exponential in the size of the program. Our solution to this problem avoids the construction of a Petri net and instead applies the coverability algorithm directly to the Boolean program. A challenge is that, in the presence of advanced communication primitives such as broadcasts, the coverability algorithm proceeds backwards, requiring a backward execution of the program. The benefit of avoiding the up-front transition system construction is that "what you see is what you pay": only system states backward-reachable from the target state are generated, often resulting in dramatic savings. We demonstrate this using Boolean programs constructed by the SatAbs predicate abstraction engine.
Peizun Liu, Thomas Wahl
FMCAD2
2014 A Widening Approach to Multithreaded Program Verification
abstract
Pthread-style multithreaded programs feature rich thread communication mechanisms, such as shared variables, signals, and broadcasts. In this article, we consider the automated verification of such programs where an unknown number of threads execute a given finite-data procedure in parallel. Such procedures are typically obtained as predicate abstractions of recursion-free source code written in C or Java. Many safety problems over finite-data replicated multithreaded programs are decidable via a reduction to the coverability problem in certain types of well-ordered infinite-state transition systems. On the other hand, in full generality, this problem is Ackermann-hard, which seems to rule out efficient algorithmic treatment. We present a novel, sound, and complete yet empirically efficient solution. Our approach is to judiciously widen the original set of coverability targets by configurations that involve fewer threads and are thus easier to decide, and whose exploration may well be sufficient: if they turn out uncoverable, so are the original targets. To soften the impact of “bad guesses”—configurations that turn out coverable—the exploration is accompanied by a parallel engine that generates coverable configurations; none of these is ever selected for widening. Its job being merely to prevent bad widening choices, such an engine need not be complete for coverability analysis, which enables a range of existing partial (e.g., nonterminating) techniques. We present extensive experiments on multithreaded C programs, including device driver code from FreeBSD, Solaris, and Linux distributions. Our approach outperforms existing coverability methods by orders of magnitude.
Alexander Kaiser 0001, Daniel Kroening, Thomas Wahl
ACM Trans. Program. Lang. Syst.3
2013 The FMCAD graduate student forum
abstract
FMCAD 2013 featured an event new to the FMCAD conference series, the Graduate Student Forum, held on Monday October 21, following the joint MEMOCODE/FMCAD Tutorial Day. The intention of the Forum was to specifically attract students to the conference, by providing them with a platform for introducing their research to the wider Formal Methods community, and obtain feedback on it. Submissions were solicited in the form of short reports describing research ideas, or ongoing work in the scope of the FMCAD conference that the student is currently pursuing.
Thomas Wahl
FMCAD1
2012 Efficient Coverability Analysis by Proof Minimization
Alexander Kaiser 0001, Daniel Kroening, Thomas Wahl
CONCUR3
2012 satabs: A Bit-Precise Verifier for C Programs - (Competition Contribution)
Gérard Basler, Alastair F. Donaldson, Alexander Kaiser 0001, Daniel Kroening, Michael Tautschnig, Thomas Wahl
TACAS6
2012 Counterexample-guided abstraction refinement for symmetric concurrent programs
Alastair F. Donaldson, Alexander Kaiser 0001, Daniel Kroening, Michael Tautschnig, Thomas Wahl
Formal Methods Syst. Des.5
2011 Symmetry-Aware Predicate Abstraction for Shared-Variable Concurrent Programs
Alastair F. Donaldson, Alexander Kaiser 0001, Daniel Kroening, Thomas Wahl
CAV4
2011 Linear Completeness Thresholds for Bounded Model Checking
Daniel Kroening, Joël Ouaknine, Ofer Strichman, Thomas Wahl, James Worrell 0001
CAV4
2011 Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic
Angelo Brillout, Daniel Kroening, Philipp Rümmer, Thomas Wahl
VMCAI4
2011 An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic
Angelo Brillout, Daniel Kroening, Philipp Rümmer, Thomas Wahl
J. Autom. Reason.4
2010 Dynamic Cutoff Detection in Parameterized Concurrent Programs
Alexander Kaiser 0001, Daniel Kroening, Thomas Wahl
CAV3
2010 Boom: Taking Boolean Program Model Checking One Step Further
Gérard Basler, Matthew Hague, Daniel Kroening, C.-H. Luke Ong, Thomas Wahl, Haoxian Zhao
TACAS5
2010 A lazy approach to symmetry reduction
abstract
Abstract Symmetry reduction is a technique to counter state explosion for systems with regular structure. It relies on idealistic assumptions about indistinguishable components, which in practice may only be similar. In this article, we present a flexible, lazy approach to symmetry-reducing a structure without any prior knowledge about its global symmetry. Instead of a-priori checking for compliance with symmetry conditions, each encountered state is annotated on the fly with information about how symmetry is violated along the path leading to it. The method naturally favors “very symmetric” systems: more similarity among the components leads to greater compression. A notion of subsumption is used to prune the annotated search space during exploration. Previous solutions to the approximate symmetry reduction problem are restricted to specific types of asymmetry, such as up to bisimilarity, or incur a large overhead, either during preprocessing of the structure or during the verification run. In contrast, the strength of our method is its balance between ease of implementation and algorithmic flexibility. We include analytic and experimental results that witness its efficiency.
Thomas Wahl, Vijay Victor D'Silva
Formal Aspects Comput.1
2010 Context-aware counter abstraction
Gérard Basler, Michele Mazzucchi, Thomas Wahl, Daniel Kroening
Formal Methods Syst. Des.3
2009 Symbolic Counter Abstraction for Concurrent Software
Gérard Basler, Michele Mazzucchi, Thomas Wahl, Daniel Kroening
CAV3
2009 Strengthening properties using abstraction refinement
abstract
Model checking is an automated formal method for verifying whether a finite-state system satisfies a user-supplied specification. The usefulness of the verification result depends on how well the specification distinguishes intended from non-intended system behavior. Vacuity is a notion that helps formalize this distinction in order to improve the user's understanding of why a property is satisfied. The goal of this paper is to expose vacuity in a property in a way that increases our knowledge of the design. Our approach, based on abstraction refinement, computes a maximal set of atomic subformula occurrences that can be strengthened without compromising satisfaction. The result is a shorter and stronger and thus, generally, more valuable property. We quantify the benefits of our technique on a substantial set of circuit benchmarks.
Mitra Purandare, Thomas Wahl, Daniel Kroening
DATE2
2009 Mixed abstractions for floating-point arithmetic
abstract
Floating-point arithmetic is essential for many embedded and safety-critical systems, such as in the avionics industry. Inaccuracies in floating-point calculations can cause subtle changes of the control flow, potentially leading to disastrous errors. In this paper, we present a simple and general, yet powerful framework for building abstractions from formulas, and instantiate this framework to a bit-accurate, sound and complete decision procedure for IEEE-compliant binary floating-point arithmetic. Our procedure benefits in practice from its ability to flexibly harness both over- and underapproximations in the abstraction process. We demonstrate the potency of the procedure for the formal analysis of floating-point software.
Angelo Brillout, Daniel Kroening, Thomas Wahl
FMCAD3
2009 Biologically inspired compliant control of a monopod designed for highly dynamic applications
abstract
In this paper the compliant low level control of a biologically inspired control architecture suited for bipedal dynamic walking robots is presented. It consists of elastic mechanics, a low-level compliant joint controller and a hierarchical reflex-based control layer. The former is implemented on a DSP while the reflex network is located on a desktop PC. Thus, one is able to utilize distribution as a powerful means to guarantee low latency and scalability. The concept is tested on a prototype leg mounted on a vertical slider that is designed to perform cyclic squat jumps. Thus, a suited mechatronic setup that features highly dynamic actuators as well as energy storage capabilities is derived. Cyclical jumping is employed as a benchmark for the system's performance. Experimental results of the prototype setup as well as simulation runs are presented and compared to human squat jumping.
Sebastian Blank, Thomas Wahl, Tobias Luksch, Karsten Berns
IROS2
2009 Finding Lean Induced Cycles in Binary Hypercubes
Yury Chebiryak, Thomas Wahl, Daniel Kroening, Leopold Haller
SAT2
2009 Extending Symmetry Reduction by Exploiting System Architecture
Richard J. Trefler, Thomas Wahl
VMCAI2
2008 SVISS: Symbolic Verification of Symmetric Systems
Thomas Wahl, Nicolas Blanc, E. Allen Emerson
TACAS1
2007 Adaptive Symmetry Reduction
Thomas Wahl
CAV1
2006 Reducing Model Checking of the Few to the One
E. Allen Emerson, Richard J. Trefler, Thomas Wahl
ICFEM3
2005 Dynamic Symmetry Reduction
E. Allen Emerson, Thomas Wahl
TACAS2
1999 Relocalization - Theory and Practice
Oliver Karch, Thomas Wahl
Discret. Appl. Math.2