Introduction to runtime verification
The aim of this chapter is to act as a primer for those wanting to learn about Runtime
Verification (RV). We start by providing an overview of the main specification languages …
Verification (RV). We start by providing an overview of the main specification languages …
[PDF][PDF] The Soot framework for Java program analysis: a retrospective
You can write a compiler pass extending Soot, as either a BodyTransformer, for a
intraprocedural analysis; or SceneTransformer, for a whole-program analysis. You choose …
intraprocedural analysis; or SceneTransformer, for a whole-program analysis. You choose …
Mop: an efficient and generic runtime verification framework
F Chen, G Roşu - Proceedings of the 22nd annual ACM SIGPLAN …, 2007 - dl.acm.org
Monitoring-Oriented Programming (MOP1)[21, 18, 22, 19] is a formal framework for software
development and analysis, in which the developer specifies desired properties using …
development and analysis, in which the developer specifies desired properties using …
The jastadd extensible java compiler
T Ekman, G Hedin - Proceedings of the 22nd annual ACM SIGPLAN …, 2007 - dl.acm.org
The JastAdd Extensible Java Compiler is a high quality Java compiler that is easy to extend
in order to build static analysis tools for Java, and to extend Java with new language …
in order to build static analysis tools for Java, and to extend Java with new language …
codeQuest: Scalable Source Code Queries with Datalog
E Hajiyev, M Verbaere, O De Moor - … Conference, Nantes, France, July 3-7 …, 2006 - Springer
Source code querying tools allow programmers to explore relations between different parts
of the code base. This paper describes such a tool, named codeQuest. It combines two …
of the code base. This paper describes such a tool, named codeQuest. It combines two …
DiSL: a domain-specific language for bytecode instrumentation
L Marek, A Villazón, Y Zheng, D Ansaloni… - Proceedings of the 11th …, 2012 - dl.acm.org
Many dynamic analysis tools for programs written in managed languages such as Java rely
on bytecode instrumentation. Tool development is often tedious because of the use of low …
on bytecode instrumentation. Tool development is often tedious because of the use of low …
Temporal assertions using AspectJ
We present a runtime verification framework for Java programs. Properties can be specified
in Linear-time Temporal Logic (LTL) over AspectJ pointcuts. These properties are checked …
in Linear-time Temporal Logic (LTL) over AspectJ pointcuts. These properties are checked …
Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes
Most application code evolves incrementally, and especially so when being maintained after
the applications have been deployed. Yet, most data-flow analyses do not take advantage of …
the applications have been deployed. Yet, most data-flow analyses do not take advantage of …
Dynamic aspectj
This paper considers the difficulties linked to the static scheduling strategy of AspectJ and
shows how to overcome them by turning to a more dynamic strategy, making it possible to …
shows how to overcome them by turning to a more dynamic strategy, making it possible to …
A staged static program analysis to improve the performance of runtime monitoring
In runtime monitoring, a programmer specifies a piece of code to execute when a trace of
events occurs during program execution. Our work is based on tracematches, an extension …
events occurs during program execution. Our work is based on tracematches, an extension …