Understanding how components in an application interact to ensure a certain functionality is an essential aspect of understanding a software application. To obtain this kind of information an analysis of the dynamic behavior of an application is more appropriate than a static analysis of the code. Understanding dynamic behavior through event analysis is a challenge because of the large amount of data gathered through program executions. In this paper, we show how we define declarative queries that allow us to filter the event data collected and to define new abstractions which aid in program understanding.