As we create increasingly complex software systems, we need better tools and concepts to analyze and understand them. On the practical level, we need instrumentation tools that give insights into running systems in a safe and efficient manner. On the analytical level, we need better ways of reasoning about systems as their state and behavior change over time. Runtime verification is an emergent field of research that studies how to rigorously specify properties about software systems and how corresponding monitors - programs that check if the system satisfies these properties – can be built. In this thesis, we investigate how we can leverage the DTrace
instrumentation framework to conduct runtime verification. To this end, we develop graphviz2dtrace
, a tool for producing monitor scripts in DTrace’s domain-specific scripting language D from specification formulas written in LTL3, a three-valued variety of the well-known Linear Temporal Logic. We evaluate the tool by analyzing both single- and multi process systems.
supervisors | Volker Stolz, Martin Steffen |
IFI links | abstract, thesis, presentation |
permalink | DUO permalink |
github | graphviz2dtrace library |