  This work-in-progress report presents both the design and partial evaluation
of distributed execution indexing, a technique for microservice applications
that precisely identifies dynamic instances of inter-service remote procedure
calls (RPCs). Such an indexing scheme is critical for request-level fault
injection techniques, which aim to automatically find failure-handling bugs in
microservice applications.Distributed execution indexes enable granular
specification of request-level faults, while also establishing a correspondence
between inter-service RPCs across multiple executions, as is required to
perform a systematic search of the fault space.In this paper, we formally
define the general concept of a distributed execution index, which can be
parameterized on different ways of identifying an RPC in a single service. We
identify an instantiation that maintains precision in the presence of a variety
of program structure complexities such as loops, function indirection, and
concurrency with scheduling nondeterminism. We demonstrate that this particular
instantiation addresses gaps in the state-of-the-art in request-level fault
injection and show that they are all special cases of distributed execution
indexing. We discuss the implementation challenges and provide an
implementation of distributed execution indexing as an extension of
\Filibuster{}, a resilience testing tool for microservice applications for the
Java programming language, which supports fault injection for gRPC and HTTP.
