Sequence diagrams are commonly used to represent object interactions in software systems. Reverse-engineered sequence diagrams, which are constructed from existing code, are becoming widely available to more programmers through modern commercial and research UML tools. However, due to their large size and inefficient spatial design, such diagrams can easily become useless. We discuss the visual limitations of UML sequence diagrams and present a set of techniques for overcoming these limitations. These techniques allow a programmer to explore interactively various aspects of large real-world sequence diagrams in order to gain insights about the behavior of the underlying software. We have implemented a prototype tool based on these techniques, and we have used it to enhance our comprehension of sequence diagrams that were constructed from code in the standard Java libraries. This paper discusses some insights from our experience, and their implications for the builders of visualizatio...