TeSSLa: TeSSLa Standard Library for TeSSLa 2.0.0

module InstrumentationAnnotations

Annotations controlling the instrumentation of C code

ANCHOR Annotation @GlobalRead

@GlobalRead(lvalue: String)

Instrument every reading access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo

ANCHOR Annotation @GlobalReadIndex

@GlobalReadIndex(lvalue: String, index: Int)

Instrument every reading access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo Get the index as event's value.

ANCHOR Annotation @GlobalWrite

@GlobalWrite(lvalue: String)

Instrument every writing access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo

ANCHOR Annotation @GlobalWriteIndex

@GlobalWriteIndex(lvalue: String, index: Int)

Instrument every writing access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo Get the index as event's value.

ANCHOR Annotation @InstFunctionCall

@InstFunctionCall(name: String)

Add event generation to every call of the function before the actual function call

ANCHOR Annotation @InstFunctionCallArg

@InstFunctionCallArg(name: String, index: Int)

Add event generation to every call of the function before the actual function call

ANCHOR Annotation @InstFunctionCalled

@InstFunctionCalled(name: String)

Add event generation to the first line of the function

ANCHOR Annotation @InstFunctionCalledArg

@InstFunctionCalledArg(name: String, index: Int)

Add event generation to the first line of the function

ANCHOR Annotation @InstFunctionReturn

@InstFunctionReturn(name: String)

Add event generation to every return inside of the function. Generates unit events.

ANCHOR Annotation @InstFunctionReturned

@InstFunctionReturned(name: String)

Add event generation to every call of the function after the function returned. Generates unit events.

ANCHOR Annotation @InstFunctionReturnedValue

@InstFunctionReturnedValue(name: String)

Add event generation to every call of the function after the function returned. Generates events carrying the returned value as data.

ANCHOR Annotation @InstFunctionReturnValue

@InstFunctionReturnValue(name: String)

Add event generation to every return inside of the function. Generates events carrying the returned value as data.

ANCHOR Annotation @LocalRead

@LocalRead(lvalue: String, function: String)

Instrument every reading access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo

ANCHOR Annotation @LocalReadIndex

@LocalReadIndex(lvalue: String, function: String, index: Int)

Instrument every reading access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo Get the index as event's value.

ANCHOR Annotation @LocalWrite

@LocalWrite(lvalue: String, function: String)

Instrument every writing access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo

ANCHOR Annotation @LocalWriteIndex

@LocalWriteIndex(lvalue: String, function: String, index: Int)

Instrument every writing access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo Get the index as event's value.

ANCHOR Annotation @ThreadId

@ThreadId

Writes the current thread ID to the annotated stream every time any other instrumentation produces any event