Dynamic Analysis

As software systems grow in complexity and execution platforms become more and more sophisticated, it becomes harder and harder for a software engineer to understand, tune, or debug programs. Existing dynamic program analysis tools offer limited support, in part because there is a big gap between the abstractions provided by tools and the abstractions employed by software engineers.

In the FAN project (a Swiss National Science Foundation Sinergia project) we explored a new approach to developing dynamic program analysis tools with considerably less programming effort. Our research will address the question: Can we raise the abstraction level for writing dynamic analysis tools, allowing software engineers to rapidly develop custom analysis tools, impairing neither expressiveness nor tool performance?