BISM: Bytecode-Level Instrumentation for Software Monitoring

The paper entitled “BISM: Bytecode-Level Instrumentation for Software Monitoring” has been accepted for publication in the proceedings of RV’20, the 20TH international conference on Runtime Verification.

The abstract of the paper is below:

BISM (Bytecode-Level Instrumentation for Software Monitoring) is a lightweight Java bytecode instrumentation tool which features an expressive high-level control-flow-aware instrumentation language. The language follows the aspect-oriented programming paradigm by adopting the joinpoint model, advice inlining, and separate instrumentation mechanisms. BISM provides join points ranging from bytecode instruction to method execution, access to comprehensive context information, and instrumentation methods. BISM runs in two modes: build-time and load-time. We demonstrate BISM effectiveness using two experiments: a security scenario and a general runtime verification case. The results show that BISM instrumentation incurs low runtime and memory overheads.

This is joint work with Chukri Soueidi and Ali Kassem.

Edit: The preprint of the final version can be downloaded here.