Specifying Dynamic Analyses by Extending Language Semantics

Dynamic analysis is increasingly attracting attention for debugging, profiling, and program comprehension. Ten to twenty years ago, many dynamic analyses investigated only simple method execution traces. Today, in contrast, many sophisticated dynamic analyses exist, for instance, for detecting memor...

Full description

Saved in:
Bibliographic Details
Published inIEEE transactions on software engineering Vol. 38; no. 3; pp. 694 - 706
Main Authors Lienhard, A., Girba, T., Nierstrasz, O.
Format Journal Article
LanguageEnglish
Published New York IEEE 01.05.2012
IEEE Computer Society
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Dynamic analysis is increasingly attracting attention for debugging, profiling, and program comprehension. Ten to twenty years ago, many dynamic analyses investigated only simple method execution traces. Today, in contrast, many sophisticated dynamic analyses exist, for instance, for detecting memory leaks, analyzing ownership properties, measuring garbage collector performance, or supporting debugging tasks. These analyses depend on complex program instrumentations and analysis models, making it challenging to understand, compare, and reproduce the proposed approaches. While formal specifications and proofs are common in the field of static analysis, most dynamic analyses are specified using informal, textual descriptions. In this paper, we propose a formal framework using operational semantics that allows researchers to precisely specify their dynamic analysis. Our goal is to provide an accessible and reusable basis on which researchers who may not be familiar with rigorous specifications of dynamic analyses can build. By extending the provided semantics, one can concisely specify how runtime events are captured and how this data is transformed to populate the analysis model. Furthermore, our approach provides the foundations to reason about properties of a dynamic analysis.
ISSN:0098-5589
1939-3520
DOI:10.1109/TSE.2011.38