2006
DOI: 10.1007/11821946_10
|View full text |Cite
|
Sign up to set email alerts
|

Tracechecks: Defining Semantic Interfaces with Temporal Logic

Abstract: Abstract. Tracechecks are a formalism based on linear temporal logic (LTL) with variable bindings and pointcuts of the aspect-oriented language AspectJ for the purpose of verification. We demonstrate how tracechecks can be used to model temporal assertions. These assertions reason about the dynamic control flow of an application. They can be used to formally define the semantic interface of classes. We explain in detail how we make use of AspectJ pointcuts to derive a formal model of an existing application an… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2008
2008
2018
2018

Publication Types

Select...
3
2

Relationship

2
3

Authors

Journals

citations
Cited by 15 publications
(10 citation statements)
references
References 17 publications
0
10
0
Order By: Relevance
“…An interesting venue for future work is to develop a temporal logic for pointcuts that can be used to reason precisely about causality. Temporal logic has been used in some aspect-oriented systems to perform semantic interface conformance checks [9]. Causality in widely-asynchronous (distributed) contexts is a topic of major interest.…”
Section: Distributed Aspect Languages and Systemsmentioning
confidence: 99%
“…An interesting venue for future work is to develop a temporal logic for pointcuts that can be used to reason precisely about causality. Temporal logic has been used in some aspect-oriented systems to perform semantic interface conformance checks [9]. Causality in widely-asynchronous (distributed) contexts is a topic of major interest.…”
Section: Distributed Aspect Languages and Systemsmentioning
confidence: 99%
“…In previous work [2], we have used techniques from aspect-oriented programming [10] to instrument applications with runtime checks that enforce a particular protocol between objects. In runtime verification, one is generally interested in detecting patterns in the execution history, usually described by linear temporal logic formulas or regular expressions.…”
Section: Overviewmentioning
confidence: 99%
“…In [2], we have formalized usage protocols to make their intended use explicit within the code, and to make it automatically checkable. The protocol is specified in a machine-readable notation as annotations in the Java code.…”
Section: Enforcing Correct Behaviourmentioning
confidence: 99%
See 2 more Smart Citations