Back to overview

SQL for Deep Dynamic Analysis?

Type of publication Peer-reviewed
Publikationsform Proceedings (peer-reviewed)
Author Azadmanesh Mohammad Reza, Hauswirth Matthias,
Project ParaBoost: Exploiting multi-variant execution
Show all

Proceedings (peer-reviewed)

Title of proceedings International Workshop on Dynamic Analysis (WODA'15)
Place Pittsburgh, PA, USA
DOI 10.1145/2823363.2823365

Open Access

Type of Open Access Website


If we develop a new dynamic analysis tool, how should we expose its functionalities? Through an interactive user interface, a DSL, a specific API, or in some other way? In this paper we discuss how to use an already existing language familiar to most software engineers, SQL, to perform deep dynamic analyses. The goal is to explore the trade-off between expressiveness and ease-of-use. We use BLAST as the dynamic analysis tool and map its trace information to a relational database. We find that, even though SQL is expressive enough for deep analysis of program executions and information flow, it is not quite straight forward to express some of the queries software engineers might be interested in. However, it removes the burden of learning a new language from scratch, which could make it worthwhile as an option in some cases.