|
FLoC
MEETINGS
PROGRAM
FACILITIES
SEATTLE
ORGANIZATION
MISCELLANEOUS
OUT-OF-DATE
|
V&D on Monday, August 21st
| 11:00‑11:30 |
Jooyong Lee
(BRICS, Department of Computer Science, University of Aarhus)
Dynamic Reverse Code Generation for Backward Execution
Need for backward execution in debuggers has been raised a number of times.
Backward execution helps a user naturally think backwards and, in turn, easily locate
the cause of a bug. Backward execution has been implemented mostly by
state-saving or checkpointing, which are inherently not scalable. In this paper,
we present a method to generate reverse code, so that backtracking can be
performed by executing reverse code. The novelty of our work is that we generate
reverse code on-the-fly, while running a debugger, which makes it possible to
apply the method even to debugging multi-threaded programs.
 
|
| 11:30‑12:30 |
Andreas Zeller (University of Saarbruecken)
Where Do Bugs Come From? [pdf]
 
|
| 16:00‑16:30 |
Andreas Griesmayer, Stefan Staber and Roderick Bloem
Automated Fault Localization for C Programs
If software does not fulfill a given specification, a model checker
can be used to search for a counterexample, a run which demonstrates
the wrong behavior. Even with a counterexample, locating the actual
fault in the source code is often a difficult task to be performed
manually by the verification engineer.
We present an automatic approach for fault localization in C
programs. The method is based on model checking and reports only
components that can be changed such that the difference between
actual and intended behavior of the example is removed. To identify
these components, we use the bounded model checker CBMC on an
instrumented version of the checked software. We present
experimental data that supports the applicability of our approach.
 
|
| 16:30‑17:30 |
Martin Rinard (MIT)
Automated Techniques for Surviving Software Errors [ppt]
Many deployed software systems must often operate completely on their
own, with little or no prospect of timely human intervention
if things go wrong, either because human operators are not available
or because human reaction times are too long to be of practical
use. This talk presents a set of techniques that can enable such
programs to continue to execute through otherwise fatal errors.
Because these techniques forcibly coerce the program into
potentially unanticipated states that provide continued execution,
our evaluation of the viability of these techniques is necessarily
empirical. Our initial results indicate that these techniques
usually provide a viable and, in the right context, much more useful
alternative to standard fail-stop approaches.
 
|
| 17:30‑18:00 |
Juan Carlos López Pimentel
(Tecnológico de Monterrey, Campus Estado de México)
Raúl Monroy
(Tecnológico de Monterrey-Campus Estado de México)
Dieter Hutter
(DFKI)
A method for patching interleaving-replay attacks in faulty security protocols
The verification of security protocols has attracted a lot of
interest in the formal methods community, yielding two main
verification approaches: i) state exploration, e.g.~FDR~\cite{Lowe96}
and OFMC [Basin03]; and ii) theorem proving, e.g.~the
Isabelle inductive method [Paulson98] and
Coral [CORAL03]. Complementing formal methods, Abadi
and Needham's principles aim to guide the design of security protocols
in order to make them simple and, hopefully, correct [AN96]. We
are interested in a problem related to verification but far less
explored: the correction of faulty security protocols. Experience has
shown that the analysis of counterexamples or failed proof attempts
often holds the key to the completion of proofs and for the correction
of a faulty model. In this paper, we introduce a method for patching
faulty security protocols that are susceptible to a replay attack. Our
method makes use of Abadi and Needham's principles to the prudent
engineering practice for cryptographic protocols in order to guide the
location of the fault in a protocol as well as the proposition of
candidate patches. We have run a test on our method with encouraging
results. The test set includes 21 faulty security protocols borrowed
from the Clark-Jacob library [Clark-Jacob].
 
|
|
|